Contributions are essential for keeping this extension great. We try to keep it as easy as possible to contribute changes and we are open to suggesstions for making it even easier. There are only a few guidelines that we need contributors to follow.
vscode-java is a Visual Studio Code extension that uses a language server for its Java language smartness. Usually vscode-java features depend on the Eclipse ™ JDT Language Server, (a.k.a. eclipse.jdt.ls) and the contributions should be coordinated between the two repositories.
-
Install prerequisites:
- latest Visual Studio Code
- Node.js v4.0.0 or higher
-
Fork and clone the repository
-
cd vscode-java -
Install the dependencies:
$ npm install
-
Open the folder in VS Code
This assumes that you are starting on the vscode-java directory
-
cd .. -
Fork and clone the eclipse.jdt.ls repository
-
Build server
$ cd ..\vscode-java $ npm run build-server
You can run faster server builds during development by calling ./node_modules/.bin/gulp dev_server script instead, this will build server binaries that are required by your host OS only. You can also use npm run watch-server which will build and place them on the extension for Java changes. These commands run Maven in offline mode, so you might need to run build-server at least once, to fetch all the dependencies.
This will build and place the binaries under the server folder. Alternately you can download and use the latest snapshot build from Eclipse ™ JDT Language Server project with the following
```bash
$ cd ..\vscode-java
$ ./node_modules/.bin/gulp download_server
```
You can create a binary that you can sideload to your VS Code installation.
-
Fork and clone this repository
-
cd vscode-java -
Install the dependencies:
$ npm install
-
Optionally, follow the instruction to build the server.
-
See documentation on extension installation on ways to sideload or share.
If you encounter a problem and know it is caused by eclipse.jdt.ls, then please open a bug report over there. In doubt, you can report issues in the vscode-java issue tracker.
Try to collect as much informations as you can to describe the issue and help us reproduce the problem. Head over to the troubleshooting page to see how to collect useful logging informations.