Hey everybody,
I haven't tried vscode for java before, but I was wondering what others think of using it for an IDE?
I have used eclipse and intellij before, but was considering vscode. If you have tried it, what packages have you found useful, what are the things you like and what are your pain points using it?
I am going to experiment with it tomorrow and make a workspace in vscode for it.
Cheers!
Videos
VS Code does not have built-in support for Java projects. You need to install specific Java extensions and configure them to specify the correct Java JDK version. Depending on the extension, you can specify the version by either setting the JAVA_HOME environment variable or by setting the java.home setting:
After installing the JDK, you would need to configure your environment for Java development. The most common way is to set
JAVA_HOMEenvironment variable to the install location of the JDK while you can also usejava.homesetting in Visual Studio Code settings (workspace or user settings) to configure it just for the editor.
I described the installation/setup steps in more detail below. It is mostly based on the Visual Studio Code tutorial for Java.
Since the OP commented that they are using macOS, this answer is focused on the Java extension for VS Code on Mac. Also, note that depending on the version of the JDK you have installed, java.home might already be deprecated or has been completely removed, and java.jdt.ls.java.home should be used instead (source). So, replace accordingly. Lekia's comment provides a tip:
you can find java properties including
java.homefrom terminaljava -XshowSettings:properties -version
MacOS
First, you need to install the Microsoft Java Extension Pack.
Upon installation, it will display the Java Overview tab, and automatically check for available Java SDKs. If it cannot find one, it will prompt you to download one. (The Java Overview and this JDK Required page seems to also auto-appear when you open/create a .java file).
From the VS Code documentation, these JDK distributions should be supported: OpenJDK, Java SE from Oracle, Azul Zulu Enterprise. For this answer, I am using OpenJDK 11. Download and install the appropriate JDK.
Next, get the path to your JDK. Open a Terminal and then:
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
If you already have a JAVA_HOME env var set, I recommend not relying on it. I find that it is better to set the relevant java.* properties instead to configure Java specifically for VS Code (or for a particular workspace).
Now, open the VS Code Settings tab and look for the Java: Home setting:
You can modify either the User or Workspace setting. In the screenshot above, I am modifying my User settings, making the java.home/java.jdt.ls.java.home setting affect all Java projects. You can also modify the Workspace setting to configure java.home differently for each workspace.
Click on the Edit in settings.json, and add java.home (you'll know your extension was installed properly if java.* autocompletion is displayed).
Specify the path to the JDK you got earlier:
"java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home",
Then restart VS Code. When the Java Overview tab displays again, if you set the path correctly, it should not prompt you anymore to download a JDK, meaning it found your JDK. Try running a very basic HelloWorld.java application.
Windows
If you are on Windows, they provide a special installer to help you get started:
To help you get started quickly, we created a special Installer of Visual Studio Code for Java developers.
Download Visual Studio Code Java Pack Installer
Note: The installer is currently only available for Windows. For other OS, please install those components (JDK, VS Code and Java extensions) individually. We're working on the macOS version, please stay tuned.
Add to .vscode/settings.json:
{
"java.jdt.ls.java.home": "<location-of-your-preferred-jdk>"
}
Note: This is only for the current project.
It seems like you don't have correctly installed java sdk on your system.
Try to check java sdk installation with following commands:
java --version
javac --version
In case you don't see reasonable output, try to install java sdk,
go to the Java Downloads section of the Oracle website, and download the Installer from there.
Are you sure you are following the documentation? It looks like you didn't download the official Java extension pack, but used Code Runner to run the code.
Please download the Java extension package and use Run Java or Run to run the code.
Getting Started with Java in VS Code.