The vscode-java repository is a Visual Studio Code extension that provides comprehensive Java language support by leveraging the Eclipse JDT Language Server. Maintained by Red Hat developers, this extension brings IDE-like capabilities to VS Code for Java development, integrating with Eclipse JDT, M2Eclipse for Maven support, and Buildship for Gradle support.
The extension supports Java versions from 1.8 through Java 26 and automatically activates when users open Java files. It recognizes Maven and Gradle projects through their build files in the directory hierarchy and also supports standalone Java files. For supported platforms including Windows, macOS, and Linux across both x64 and ARM64 architectures, the extension embeds a JRE to launch the Language Server, requiring only Java 21 or above for the tooling JDK. Users can configure project-specific JDK versions through the java.configuration.runtimes property to compile against different Java versions as needed.
Core features include as-you-type error reporting with parsing and compilation diagnostics, intelligent code completion, and comprehensive refactoring capabilities through code and source actions. The extension provides Javadoc hovers, automatic import organization that can be triggered manually or on save, type search functionality, and detailed code navigation features. Additional capabilities encompass code outline, code folding, code lens for references and implementations, syntax highlighting, code formatting with on-type and selection options, code snippets, semantic selection, and diagnostic tags. Advanced features include call hierarchy visualization, type hierarchy exploration, annotation processing support with automatic configuration for Maven projects, and inlay hints for improved code readability.
The repository is written in TypeScript and has been actively maintained with significant contributor engagement.
The extension provides numerous commands for workspace management, including project reloading, language server mode switching between lightweight and standard modes, compilation triggering, and workspace cleaning. Users can access detailed logging through dedicated commands for viewing Java Language Server and extension logs. The repository overlaps with contributors from microsoft/vscode, microsoft/typescript, and rust-lang/rust, indicating cross-project collaboration within the developer tools ecosystem. For debugging Java programs, Red Hat recommends installing the complementary Java Debug Extension for Visual Studio Code to enable full launch and debug capabilities.