Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Java Language Server by BitnoNew to Visual Studio Code? Get it now.
Java Language Server by  Bitno

Java Language Server by Bitno

bitno

|
2 installs
| (0) | Free
A lightweight, fast Java language server for VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Java Language Server by Bitno

A lightweight, private and secure Java language server for VS Code.

Early development: this extension is still being built. Expect missing features, rough edges and breaking changes between versions.

Lightweight, private and secure by design

Built by a developer, for developers.

  • Lightweight: javac analyzes your code in the server's own process, and only what each request needs: completion analyzes just the method you're typing in. Your build's projects are restored from the last import at start, so you can work before the import finishes.
  • Private: no telemetry, no account. The extension talks only to Adoptium, to download the server's Java runtime on first start and a project's missing JDK after asking you, and to Gradle, which fetches what your build needs from the repositories it already uses.
  • Secure: downloads go over HTTPS and are checked against Adoptium's SHA-256. Your repository credentials stay with Gradle, and messages in the editor never show error details, paths or Gradle's output; those go to the log.

Supported

Java Versions

  • Java 27
  • Java 25
  • Java 21
  • Java 17

Build Tools

  • Gradle: 9.0 or newer. Older builds still import and compile, but get no build diagnostics.
  • Maven: coming soon.
  • Bazel: coming soon.

Features

  • Diagnostics as you type, plus Gradle's on save
  • Completion with auto-import and Javadoc
  • Signature help
  • Hover with Javadoc
  • Go to definition and type definition, into libraries and the JDK
  • Find references across every project of the workspace
  • Go to any class by name, including library and JDK classes
  • Library sources, downloaded or decompiled
  • Semantic highlighting and highlighting of the name at the cursor
  • Inlay hints for parameter names, var types and method chains
  • Outline, breadcrumbs, folding and smart selection
  • Generate constructors, getters and setters, equals/hashCode, toString and method stubs
  • Javadoc typing assistance
  • New .java files start with their package and a class you can switch to an interface, record, enum or annotation right there; New Java in the explorer's folder menu creates any of them, showing where the file goes as you type its name
  • Lombok
  • Finds installed JDKs and downloads missing ones
  • A status bar item that shows what the server is doing ("Java: Importing 34%", "Java: Ready"), with the details, what failed and its Java when you hover it, and a menu to reimport, compile, show the log, restart the server or clean the workspace when you click it; work that takes longer than 10 s also shows a notification

Coming soon

  • Run
  • Run tests
  • Debug
  • Formatting
  • Refactorings

Requirements

  • VS Code 1.145 or later.
  • A Gradle build (see Build Tools).
  • Projects on Java 17 through 27 (see Java Versions).
  • Network access on the first start. The server runs on Eclipse Temurin of its own Java version, which the extension downloads into ~/.jdks (about 140 MB) when it isn't there yet. You don't need to install a JDK for the server yourself, and it doesn't matter which Java the project uses.

Getting started

Open a folder that contains a Gradle build and open a Java file. The first start downloads the server's runtime and imports the build. The status bar shows what the server is doing, and its tooltip has the details; work that takes longer than 10 s also shows a notification, and downloads show at once in notifications you can cancel.

Settings

Setting Default Description
javaLsp.compile.trigger save When to compile through Gradle: save, manual or off.
javaLsp.java.download ask Whether to download Temurin when a project needs a JDK that isn't installed: ask, always or never.
javaLsp.log.level info How much the server writes to its output channel.

Library sources

Library and JDK sources are kept as files in the extension's storage and shared by every window. The extension adds that folder to files.readonlyInclude in your user settings, so they open read-only.


Java is a registered trademark of Oracle and/or its affiliates.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft