-
Notifications
You must be signed in to change notification settings - Fork 158
Description
Problem
The current build behavior in VS Code Java (via the Extension Pack for Java) rebuilds the entire workspace whenever projects are opened or source files change.
This leads to long build times and high CPU usage for medium-to-large multi module Maven Java projects.
By contrast, Eclipse and IntelliJ maintain an internal incremental compiler that recompiles only changed source files and directly affected classes.
This allows instant feedback and near-zero delay after saving a file.
Current behavior
- When VS Code starts, the Java Language Server (JDT LS) performs a full workspace model reconstruction and re-indexing of dependencies.
- There is no configuration option for “compile only changed files” or caching the incremental build graph between sessions.
Expected behavior
Provide a configuration or mechanism that enables true incremental/partial builds, similar to Eclipse’s JDT incremental compiler:
- Only recompile modified .java files and dependent classes on save
- Cache the build graph and dependency analysis between sessions
- Avoid full workspace rebuilds unless explicitly requested
Why this matters
Incremental builds drastically improve the developer experience, especially for large enterprise or multi-module projects.
Eclipse and IntelliJ achieve near-instant feedback because they reuse the same incremental compiler that JDT LS already depends on internally.
Extending that functionality to VS Code would bring parity and make Java development in VS Code much smoother.
Environment
VS Code: 1.150.1
Extension Pack for Java: 0.30.4
Language Support for Java (Red Hat): 1.47.0
JDK: 17 (or specify your version)
Build tool: Maven
OS: Windows