IntelliJ Java Kotlin LSP now runs inside VS Code

JavaKotlinVS CodeDeveloper ToolsAI CodingCoding Agents

August 25, 2026

Dark editorial editor window with a nested engine block and the words now runs inside VS Code

IntelliJ Java Kotlin LSP is a preview extension you can install in VS Code today. The listing is Java and Kotlin by IntelliJ IDEA, unique ID JetBrains.intellij-server. It is the IntelliJ language engine talking LSP, not a skin of the IDE window.

Marco Behler's 4 August 2026 IntelliJ IDEA post said agents already use language servers for faster, more deterministic lookups, and eventually fewer tokens. That is why the engine left the IDE. The neighbor bakeoff already ranked editors. This page gets the extension running.

The last checkpoint is small. A Java or Kotlin file in VS Code shows IntelliJ completion and go-to-definition after the project import finishes. Preview builds die 30 days after each release. Kotlin-only work can stay on the free Apache-2 language server.

What you need first#

The Marketplace and Open VSX listings both pin the engine to VS Code ^1.105.1. Cursor and other VS Code based editors count. A lone .java file does not.

The extension uses a lightweight installer and will not load modules until it sees a supported build file. Bring a Maven, Gradle, or Bazel project, or the status bar chip will just sit there looking polite.

  • VS Code 1.105.1 or later, or Cursor, or another VS Code based editor
  • A folder that contains pom.xml, a Gradle build file, or a Bazel workspace
  • Willingness to disable Red Hat and Oracle Java extensions in this workspace while testing
  • No expectation of the full IntelliJ window. This is the language engine only

Install the IntelliJ language server#

Sketchnote of two doors labeled Marketplace and Open VSX feeding one crate labeled intellij-server
Same extension ID from two stores, Marketplace for VS Code and Open VSX for Cursor.

Two stores, same ID. VS Code talks to the Visual Studio Marketplace. Cursor talks to Open VSX. Search strings differ, which is the kind of trap that wastes an afternoon.

1. Install the preview extension#

In VS Code, open the Extensions view and search for Java and Kotlin by IntelliJ IDEA. The install page is the official path. The listing itself lives on the Visual Studio Marketplace. Version at last check was 0.0.10, marked preview.

In Cursor, stay logged in, then search for IntelliJ for VS Code. That is not the Marketplace display name. Click Install from Open VSX anyway. Same unique identifier, JetBrains.intellij-server.

On success the editor prompts for region, an End User License Agreement, and a data-sharing policy. Accept those or the backend never starts. Hover the status bar chip labeled Java and Kotlin by IntelliJ IDEA. That popup is how you read the EAP clock.

Each preview build expires 30 days after its release date. Installing a newer preview renews the evaluation. After the preview, the same engine needs an IntelliJ IDEA Ultimate subscription.

2. Disable the overlapping Java extensions#

The 4 August announcement warned that this pack overlaps Red Hat and Oracle code analysis and quick-fixes. Leave those running and you get two language servers painting the same file. Double diagnostics. Competing lightbulbs. A completion list that looks drunk.

Disable for this workspace, not the whole machine, unless you want the pack everywhere. Restart the extension host when VS Code asks.

  • redhat.java, Language Support for Java by Red Hat
  • Oracle.oracle-java, Oracle's Java extension (the Marketplace title is just Java)
  • vscjava.vscode-java-pack, Microsoft's Extension Pack for Java, because it pulls Red Hat back in

Gear icon on the extension row, then Disable (Workspace). If the Microsoft pack is installed, disable the pack or Red Hat will respawn the next time someone follows a Java getting-started doc.

Open a Maven Gradle or Bazel project#

Sketchnote of a sleeping engine beside a lone Java file, then an awake engine next to pom.xml, Gradle, and Bazel
Import starts when pom.xml, a Gradle build file, or a Bazel workspace is in the folder.

Marketplace copy says open any Java or Kotlin file and the extension will immediately analyse the project. Help is stricter, and help is right. No build file, no import, no engine.

3. Open a folder that actually imports#

File, Open, pick the project root. Project import starts in the background as soon as the folder contains a supported Gradle, Maven, or Bazel build file. One build system, no prompt. Two build files in the same folder, you get a notification and you pick.

A monorepo is the other case. Importing everything can eat memory for sport. List only the projects you work on in intellij.projects. Paths are file:// URIs. $PROJECT_DIR$ expands. VS Code's ${workspaceFolder} does not, which is a mean little surprise if you paste settings from muscle memory. The project import page uses this shape.

settings.json
{
  "intellij.projects": [
    { "type": "gradle", "path": "file:///$PROJECT_DIR$/build.gradle.kts" },
    { "type": "maven", "path": "file:///$PROJECT_DIR$/pom.xml" },
    { "type": "bazel", "path": "file:///$PROJECT_DIR$/bazel-workspace/" }
  ]
}

Checkpoint on the status bar. The chip should be present. Import or indexing should be underway. Only one backend can hold a workspace. A second VS Code window on the same folder is not supported.

4. Prove completion and go-to-definition#

Wait out indexing. Large projects take longer. Insight stays thin until the index exists. Help's own check is the one that matters. Valid code should not show unresolved symbols or unexpected red highlighting.

Then type. Completion should suggest classes, methods, and keywords that are valid at the caret. Place the caret on a usage and jump to declaration. Find usages should list references. Hover should show signature and doc comments. That is the IntelliJ engine, sitting in VS Code, doing the cheap lookups agents actually need.

Proof is the chip plus the jumps, not the vibe of a completion list. Confirm redhat.java, Oracle.oracle-java, and vscjava.vscode-java-pack are Disabled for this workspace, and that the Java and Kotlin by IntelliJ IDEA status bar item is present. Then jump to a declaration you already know. If the chip is missing or the jump fails, Clear Caches and Restart Language Server from the status bar popup.

When it breaks#

Sketchnote of a status chip ringed by a 30 day meter, two overlapping server boxes, and a 2 GB tank
Hover the status bar chip. The usual stalls are the 30-day clock, two language servers, and a 2 GB heap.

This is a preview. The official docs are honest about the ugly parts, which is why this section exists. Three failures show up in the help. A fourth one is the license clock people already argued about on the r/IntelliJIDEA thread.

The 30-day parking meter#

Each preview build expires 30 days after its release date. Hover the status bar chip to read when the EAP license dies. Installing a newer preview renews the meter.

After 1.0, the Register page already describes a 60-day trial, then an IntelliJ IDEA Ultimate license. Do not mix those clocks. The 30-day one is the preview. The 60-day one is the product they are heading toward.

Kotlin-only projects should not pay that bill. The Kotlin Language Server docs point at Kotlin by JetBrains, ID JetBrains.kotlin-server, Apache-2.0, no Ultimate required. Uninstall the old jetbrains.kotlin id if the new one offers that dialog. The new server will not activate beside the old one.

Two language servers on one file#

Unresolved symbols on code you know is valid, plus a second set of quick-fixes, usually means Red Hat or Oracle is still awake. Disable them for the workspace again. Restart the extension host. If the Microsoft Java pack is still enabled, it will keep dragging Red Hat back.

Import never finishes#

Missing analysis, unresolved symbols, or a backend that feels stuck. Troubleshooting names two status bar actions. Restart Language Server. Clear Caches and Restart Language Server.

Logs go to the Output channel titled IntelliJ Language Server. On a Mac the path looks like this.

[Info] Log file: /Users/<USERNAME>/Library/Application Support/Code/User/workspaceStorage/<WORKSPACE_ID>/JetBrains.intellij/system/log/intellij-server.log

Default heap is 2 GB. A large monorepo will laugh at that. Raise it.

settings.json
{
  "intellij.additionalJvmArgs": ["-Xmx4g"]
}

Only one Java and Kotlin by IntelliJ IDEA backend can access a workspace. A second window on the same folder is unsupported. Indexes reuse across machines only when the folder lives at the same absolute path.

Questions people asked on day one

Do you still have to buy IntelliJ Ultimate after the preview?

Yes for the Java and Kotlin pack after 1.0. Preview is free, each build dies 30 days after its release date, and a newer preview renews that clock. The Register page already describes a 60-day trial then an Ultimate license. Pure Kotlin work can skip this pack.

asked on reddit.com
Will the language server spin the CPU like a full IntelliJ window?

It is the same Java and Kotlin engine, running as an LSP backend with a 2 GB heap by default. Missing analysis and unresolved symbols are the named symptoms. Restart Language Server or Clear Caches and Restart Language Server from the status bar. Raise heap with intellij.additionalJvmArgs set to -Xmx4g on a large monorepo.

asked on reddit.com
If the project is Kotlin only, is this the extension to install?

No. JetBrains.intellij-server is the Java and Kotlin pack and heads toward Ultimate. Kotlin-only projects stay on Kotlin by JetBrains, ID JetBrains.kotlin-server, backed by the Apache-2.0 kotlin-lsp repo. Uninstall the old jetbrains.kotlin id if the new one offers that dialog.

asked on reddit.com
Do Red Hat and Oracle Java extensions have to come off?

While testing, yes. The 4 August 2026 IntelliJ IDEA announcement said this pack overlaps Red Hat and Oracle code analysis and quick-fixes. Disable Language Support for Java by Red Hat (redhat.java), Oracle's Java extension (Oracle.oracle-java), and the Microsoft Extension Pack for Java (vscjava.vscode-java-pack) for this workspace, then restart the extension host.

asked on reddit.com

What you have now#

Sketchnote of a VS Code frame holding an IntelliJ engine, with a stick figure agent pointing a go-to-def arrow into it
The editor stays VS Code. The engine inside is IntelliJ, which is what agents wanted for cheap go-to-definition.

A VS Code or Cursor window whose Java and Kotlin files resolve, complete, and jump using the IntelliJ engine. Prove it on one symbol you already know. The status bar chip is present. Declaration jump works. The overlapping Java extensions are still Disabled for this workspace, and the EAP date has not lapsed.

That is the whole product. JetBrains still says the best place to write Java and Kotlin is IntelliJ IDEA. They opened the engine because agents need cheap, deterministic go-to-definition. Coding agents at work already live on that diet. The terminal eating the IDE is the weather around it, not the reason they shipped JetBrains.intellij-server.

Keep the 30-day meter in view. If the repo is Kotlin only, stay on the free language server and skip Ultimate. If the repo is Java, mixed, or Bazel, this preview is the one that actually runs IntelliJ inside VS Code.

Share

Newsletter

New posts land in your inbox when they publish. No spam, unsubscribe anytime.

Prefer RSS