Visual Studio Code Java

broken image


  • The most common way is to set JAVAHOME environment variable to the install location of the JDK while you can also use java.home setting in Visual Studio Code settings (workspace or user settings) to configure it just for the editor. I described the installation/setup steps below. It is mainly based on the Visual Studio Code tutorial for Java.
  • Visual Studio Code Free Download Latest Version for Windows. It is full offline installer standalone setup of Visual Studio Code.

Introducing the Visual Studio Code Java Pack Installer So today, we're releasing a special Installer of Visual Studio Code for Java developers. The package can be used as a clean install or an update for existing environment to add Java or Visual Studio Code to your development environment. This is an end-to-end Java EE-based framework that further simplifies application development. JDeveloper comes in 3 flavors. These include the Java Edition, J2EE edition and Studio Edition which comes with a whole different set of features. The Java Edition comes with out of the box Java Support. It has a Code Editor and Code Navigation.

Support for Java in Visual Studio Code is provided through a wide range of extensions. Combined with the power of core VS Code, these extensions give you a lightweight and performant code editor that also supports many of the most common Java development techniques.

This article will give you an overview of different capabilities of Visual Studio Code for Java developers. For a quick walkthrough of editing, running, and debugging a Java program with Visual Studio Code, use the button below.

Overview

VS Code provides essential language features such as code completion, refactoring, linting, formatting, and code snippets along with convenient debugging and unit test support. VS Code also integrates with tooling and frameworks such as Maven, Tomcat, Jetty, and Spring Boot. Leveraging the power of Visual Studio Code, Java developers get an excellent tool for both quick code editing and also the full debugging and testing cycle. It's a great choice for your Java work if you're looking for a tool which:

  • Is fast, lightweight, free, and open source.
  • Supports many other languages, not just Java.
  • Helps start your Java journey without installing and learning a complex IDE.
  • Provides great microservices support including popular frameworks, container tooling, and cloud integration.
  • Offers team-based collaboration features such as Visual Studio Live Share.
  • Improves your productivity through IntelliSense and other code-aware editing features.

Install Visual Studio Code for Java

To help you set up quickly, we recommend you use the Coding Pack for Java, which is the bundle of VS Code, the Java Development Kit (JDK), and a collection of suggested extensions by Microsoft. The Coding Pack can also be used to fix an existing development environment.

Install the Coding Pack for Java - macOS

Note: The Coding Pack for Java is only available for Windows and macOS. For other operating systems, you will need to manually install a JDK, VS Code, and Java extensions.

If you have already installed VS Code and want to add Java support to it, we recommend to use Java Extension Pack, a collection of extensions suggested by Microsoft:

Alternatively, you can add Java language support to VS Code by installing the popular Java extensions by yourself.

Visual Studio Code Javascript Tutorial

Download VS Code - If you haven't downloaded VS Code yet, quickly install for your platform (Windows, macOS, Linux).

There are also other popular Java extensions you can pick for your own needs, including:

Thanks to the great Java community around VS Code, the list doesn't end there. You can search for more Java extensions easily within VS Code:

  1. Go to the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
  2. Filter the extensions list by typing 'java'.

This document describes some of the key features included in those Java extensions.

Getting started

NOTE: If you are using VS Code on Windows and want to take advantage of the Windows Subsystem for Linux, see Developing in WSL.

Before you start, you must have the Java SE Development Kit (JDK) on your local environment. To run the VS Code for Java extension, Java SE 11 or above version is required; for projects, VS Code for Java supports projects with version 1.5 or above. For how to configure, refer to Configure JDK.

For developers new to Java or new to VS Code, we provide a Getting Started experience. Once you've installed the Java Extension Pack, you can open the Getting Started experience from within VS Code with the Java: Getting Started command from the Command Palette. Open the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) and type 'Java: Getting Started'.

Working with Java source files

You can use VS Code to read, write, run, and debug Java source file(s) without creating a project. VS Code for Java supports two modes, lightweight and standard. Lightweight mode is ideal for scenarios that only deal with source file(s). If you want to work with a full scale project, standard mode will be required. You can easily switch from lightweight mode to standard mode, when needed. To learn more, see Lightweight Mode.

Working with Java project

There are three things you must understand to work with Java in VS Code:

  1. How does VS Code handle Workspaces?
  2. How does VS Code handle Java?
  3. How does VS Code handle Workspaces that contain Java?

VS Code Workspaces

In Visual Studio Code, a 'Workspace' means a collection of one or more filesystem folders (and their children) and all of the VS Code configurations that take effect when that 'Workspace' is open in VS Code. There are two kinds of 'Workspaces' in VS Code, 'folder workspaces' and 'multi-root workspaces'.

A 'folder workspace' is presented by VS Code when you open a filesystem folder (directory) in VS Code.

A 'multi-root workspace' can refer to multiple folders (directories) from disparate parts of the file system and VS Code displays the contents of the folder(s) of the workspace together in the File Explorer. To learn more, see Multi-root Workspaces.

Java project in VS Code

Visual studio code java

In contrast to IDEs such as IntelliJ IDEA, NetBeans, or Eclipse, the concept of a 'Java project' is provided entirely by extensions, and is not a core concept in the base VS Code. When working with 'Java projects' in VS Code, you must have the necessary extensions installed to work with those project files.

For example, Maven, Eclipse, and Gradle Java projects are supported through Language Support for Java(TM) by Red Hat, by utilizing M2Eclipse, which provides Maven support, and Buildship, which provides Gradle support through the Eclipse JDT Language Server.

With Maven for Java, you can generate projects from Maven Archetypes, browse through all the Maven projects within your workspace, and execute Maven goals easily from an embedded explorer. Projects can also be created and managed with the Project Manager for Java extension.

Visual Studio Code also supports working with standalone Java files outside of a Java project, described in the Java Tutorial with VS Code.

VS Code Workspaces that contain Java project

Assuming the necessary Java extensions are installed, opening a VS Code workspace that contains Java artifacts will cause those extensions to understand those artifacts and present options for working with them.

More details about Java project support can be found in Java Project Management in Visual Studio Code and Build Tools.

Editing

Code Navigation

Java in Visual Studio Code also supports source code navigation features such as search for symbol, Peek Definition, and Go to Definition. The Spring Boot Tools extension provides enhanced navigation and code completion support for Spring Boot projects.

One of the key advantages of VS Code is speed. When you open your Java source file or folder, within a few seconds, with the help of Lightweight Mode, you will be able to navigate your code base with Outline view as well as commands such as Go to Definition and Go to Reference. This is especially useful when you open a project for the first time.

Code Completion

IntelliSense is a general term for language features, including intelligent code completion (in-context method and variable suggestions) across all your files and for built-in and third-party modules. VS Code supports code completion and IntelliSense for Java through Language Support for Java(TM) by Red Hat. It also provides AI-assisted IntelliSense called IntelliCode by putting what you're most likely to use at the top of your completion list.

See also in Java Code Navigation and Editing. VS Code also supports a range of Refactoring and Linting features.

Debugging

Debugger for Java is a lightweight Java Debugger based on Java Debug Server. It works with Language Support for Java by Red Hat to allow users to debug Java code within Visual Studio Code.

Starting a debugging session is easy, click on the Run|Debug button available at the CodeLens of your main() function, or press F5. The debugger will automatically generate the proper configuration for you.

Although it's lightweight, the Java debugger supports advanced features such as expression evaluation, conditional breakpoints, and hot code replacement. For more debugging related information, visit Java Debugging.

Testing

With the support from the Java Test Runner extension, you can easily run, debug, and manage your JUnit and TestNG test cases.

For more about testing, read Testing Java.

Spring Boot, Tomcat, and Jetty

To further improve your Java productivity in VS Code, there are extensions for most popular frameworks and tools such as Spring Boot, Tomcat, and Jetty created by the community.

The Tomcat extension includes an explorer to easily navigate and manage your Tomcat servers. You can create, start, debug, stop, and rename your Tomcat server with the extension.

See Application Servers to learn more about support for Tomcat and Jetty as well as other application servers with VS Code.

Spring Boot support is provided by Pivotal. There are also Spring Initializr Java Support and Spring Boot Dashboard extensions available from Microsoft to further improve your experience with Spring Boot in Visual Studio Code.

See Spring Boot with VS Code to learn more about Spring Boot support with VS Code and also Deploy to Azure Web Apps or Deploy to Azure Spirng Cloud to learn more about deploying Spring apps to Azure from VS Code.

Next steps

You may Sign up to follow the latest of Java on Visual Studio Code.

Learn more about Java in VS Code

Read on to find out more about Visual Studio Code:

  • Basic Editing - Learn about the powerful VS Code editor.
  • Code Navigation - Move quickly through your source code.
  • Tasks - use tasks to build your project and more
  • Debugging - find out how to use the debugger with your project
2007

I often see my fellow comp. sci. students writing their (relatively) simple Java code in applications like Emacs, Nano or Eclipse. I'm not fond of either application. I much prefer Visual Studios text handling, solution overview, output windows and so forth. What most people don't know is that you can actually extend Visual Studio to a great extent. One way to extend Visual Studio is to write plugins using .NET, but there's a way that is much simpler (albeit also more limited). I will now show how you can make Visual Studio compile and run your Java applications all within Visual Studio itself.

First of all, you need to download and install the Java JDK. Basically, you need to be able to call 'javac' and 'java' from any command prompt - which means you have to setup the environment settings so you have your JDK bin in the PATH variable.

Create a new Visual Studio project. It really doesn't matter much what type you choose as there is no native Java project types. Choosing J# will not give you any advantages over, say a C# project. In this example I'll use a C# Class Library project.

Start out by deleting the automatically created Class1.cs file. Add a new text file instead, I'll call it MyApplication.java. You can write any standard Java code in the Java files, just like you'd ordinarily do.

Visual Studio Code Java

One of the really cool features of Visual Studio is that it actually includes Intellisense for a lot of the standard Java classes, so you're not left totally on your own.

Visual Studio Code Java

Now comes the compilation part. Add a new text file to the project and call it Compile.bat. This will be the bat file that manages the actual compilation and execution of the application afterwards. Leave the file empty for now, we'll enter the code in a short while.

Go to Tools -> External Tools…

Add a new entry called 'Javac', set the command path to your Compile.bat file and make sure the directory is set to the ProjectDir macro path. Check the 'Use Output window' checkbox, this ensures the output is output directly into the Visual Studio output window.

Now enter the following into the Compile.bat file:

Visual

In contrast to IDEs such as IntelliJ IDEA, NetBeans, or Eclipse, the concept of a 'Java project' is provided entirely by extensions, and is not a core concept in the base VS Code. When working with 'Java projects' in VS Code, you must have the necessary extensions installed to work with those project files.

For example, Maven, Eclipse, and Gradle Java projects are supported through Language Support for Java(TM) by Red Hat, by utilizing M2Eclipse, which provides Maven support, and Buildship, which provides Gradle support through the Eclipse JDT Language Server.

With Maven for Java, you can generate projects from Maven Archetypes, browse through all the Maven projects within your workspace, and execute Maven goals easily from an embedded explorer. Projects can also be created and managed with the Project Manager for Java extension.

Visual Studio Code also supports working with standalone Java files outside of a Java project, described in the Java Tutorial with VS Code.

VS Code Workspaces that contain Java project

Assuming the necessary Java extensions are installed, opening a VS Code workspace that contains Java artifacts will cause those extensions to understand those artifacts and present options for working with them.

More details about Java project support can be found in Java Project Management in Visual Studio Code and Build Tools.

Editing

Code Navigation

Java in Visual Studio Code also supports source code navigation features such as search for symbol, Peek Definition, and Go to Definition. The Spring Boot Tools extension provides enhanced navigation and code completion support for Spring Boot projects.

One of the key advantages of VS Code is speed. When you open your Java source file or folder, within a few seconds, with the help of Lightweight Mode, you will be able to navigate your code base with Outline view as well as commands such as Go to Definition and Go to Reference. This is especially useful when you open a project for the first time.

Code Completion

IntelliSense is a general term for language features, including intelligent code completion (in-context method and variable suggestions) across all your files and for built-in and third-party modules. VS Code supports code completion and IntelliSense for Java through Language Support for Java(TM) by Red Hat. It also provides AI-assisted IntelliSense called IntelliCode by putting what you're most likely to use at the top of your completion list.

See also in Java Code Navigation and Editing. VS Code also supports a range of Refactoring and Linting features.

Debugging

Debugger for Java is a lightweight Java Debugger based on Java Debug Server. It works with Language Support for Java by Red Hat to allow users to debug Java code within Visual Studio Code.

Starting a debugging session is easy, click on the Run|Debug button available at the CodeLens of your main() function, or press F5. The debugger will automatically generate the proper configuration for you.

Although it's lightweight, the Java debugger supports advanced features such as expression evaluation, conditional breakpoints, and hot code replacement. For more debugging related information, visit Java Debugging.

Testing

With the support from the Java Test Runner extension, you can easily run, debug, and manage your JUnit and TestNG test cases.

For more about testing, read Testing Java.

Spring Boot, Tomcat, and Jetty

To further improve your Java productivity in VS Code, there are extensions for most popular frameworks and tools such as Spring Boot, Tomcat, and Jetty created by the community.

The Tomcat extension includes an explorer to easily navigate and manage your Tomcat servers. You can create, start, debug, stop, and rename your Tomcat server with the extension.

See Application Servers to learn more about support for Tomcat and Jetty as well as other application servers with VS Code.

Spring Boot support is provided by Pivotal. There are also Spring Initializr Java Support and Spring Boot Dashboard extensions available from Microsoft to further improve your experience with Spring Boot in Visual Studio Code.

See Spring Boot with VS Code to learn more about Spring Boot support with VS Code and also Deploy to Azure Web Apps or Deploy to Azure Spirng Cloud to learn more about deploying Spring apps to Azure from VS Code.

Next steps

You may Sign up to follow the latest of Java on Visual Studio Code.

Learn more about Java in VS Code

Read on to find out more about Visual Studio Code:

  • Basic Editing - Learn about the powerful VS Code editor.
  • Code Navigation - Move quickly through your source code.
  • Tasks - use tasks to build your project and more
  • Debugging - find out how to use the debugger with your project
2007

I often see my fellow comp. sci. students writing their (relatively) simple Java code in applications like Emacs, Nano or Eclipse. I'm not fond of either application. I much prefer Visual Studios text handling, solution overview, output windows and so forth. What most people don't know is that you can actually extend Visual Studio to a great extent. One way to extend Visual Studio is to write plugins using .NET, but there's a way that is much simpler (albeit also more limited). I will now show how you can make Visual Studio compile and run your Java applications all within Visual Studio itself.

First of all, you need to download and install the Java JDK. Basically, you need to be able to call 'javac' and 'java' from any command prompt - which means you have to setup the environment settings so you have your JDK bin in the PATH variable.

Create a new Visual Studio project. It really doesn't matter much what type you choose as there is no native Java project types. Choosing J# will not give you any advantages over, say a C# project. In this example I'll use a C# Class Library project.

Start out by deleting the automatically created Class1.cs file. Add a new text file instead, I'll call it MyApplication.java. You can write any standard Java code in the Java files, just like you'd ordinarily do.

Visual Studio Code Java

One of the really cool features of Visual Studio is that it actually includes Intellisense for a lot of the standard Java classes, so you're not left totally on your own.

Visual Studio Code Java

Now comes the compilation part. Add a new text file to the project and call it Compile.bat. This will be the bat file that manages the actual compilation and execution of the application afterwards. Leave the file empty for now, we'll enter the code in a short while.

Go to Tools -> External Tools…

Add a new entry called 'Javac', set the command path to your Compile.bat file and make sure the directory is set to the ProjectDir macro path. Check the 'Use Output window' checkbox, this ensures the output is output directly into the Visual Studio output window.

Now enter the following into the Compile.bat file:

Modify the MyApplication.java file so it ends with a call to System.in.read(), this ensures the application will stay open after we start it.

Now simply go to Tools -> Javac and watch your Java application compile and run.

Visual Studio Code Java Compiler

You can of course modify the build script in whatever way you wish to support larger applications. You could also use ANT build scripts, unit tests and so forth. To make compiling easier, you can create a key command (Tools -> Options -> Keyboard -> Tools.ExternalCommandX where X is the Javac commands index in the Tools menu) to the Javac command in the Visual Studio settings, I use Ctrl+Shift+J for Java compilation myself.

Visual Studio Code Java Extension

I'm the CTO at iPaper where I cuddle with databases, mold code and maintain the overall technical & team responsibility. I'm an avid speaker at user groups & conferences. I love life, motorcycles, photography and all things technical. Say hi on Twitter, write me an email or look me up on LinkedIn.




broken image