Apache NetBeans Language Server Extension for VS Code

This is a technology preview of Apache NetBeans based extension for VS Code. Use it to get all the goodies of NetBeans via the VS Code user interface! Run on JDK8*, JDK11, JDK15, etc.

Invoke “Open Folder” action to open project directories with pom.xml or build.gradle build scripts. Edit, compile and debug (with the Java 8+ debugger configuration) the .java application and test files in such projects. Debug not only Java code, but JavaScript, Python, Ruby polyglot programs at once.

Getting Started

Follow the online instructions to set your environment up to support typical development use-cases.

Supported Actions

  • Java: Compile Workspace - invoke Maven or Gradle build
  • GraalVM: Pause in Script - place a breakpoint into first executed polyglot script
  • debugger Java 8+ - start test or main class on JDK8+ in polyglot mode

Supported Options

  • netbeans.jdkhome - path to the JDK, see dedicated section below
  • netbeans.verbose - enables verbose extension logging
  • netbeans.conflict.check - avoid conflicts with other Java extensions, see below

Selecting the JDK

The user projects are built, run and debugged using the same JDK which runs the Apache NetBeans Language Server. The JDK is being searched in following locations:

  • netbeans.jdkhome setting (workspace then user settings)
  • java.home setting (workspace then user settings)
  • JDK_HOME environment variable
  • JAVA_HOME environment variable
  • current system path

As soon as one of the settings is changed, the Language Server is restarted.

Conflicts with other Java Extensions

Apache NetBeans Language Server extension isn't the only Java supporting extension. To avoid duplicated code completion and other misleading clashes the extension disables certain functionality known to cause problems. This behavior can be disabled by setting netbeans.conflict.check setting to false.

Contributing

Read building instructions to help Apache community to improve the extension.