The debug server implementation for Java. It conforms to the debug protocol of Visual Studio Code (DAP, Debugger Adapter Protocol).
409
stars
458
commits
Java
primary language
Sep 5, 2026
updated
The Java Debug Server is an implementation of Visual Studio Code (VSCode) Debug Protocol. It can be used in Visual Studio Code to debug Java programs.
The Java Debug Server is the bridge between VSCode and JVM. The implementation is based on JDI (Java Debug Interface). It works with Eclipse JDT Language Server as an add-on to provide debug functionalities.
mvnw.cmd clean install
./mvnw clean install
To use java-debug as a jdt.ls plugin, an LSP client has to launch jdt.ls with initializationOptions that contain the path to the built java-debug jar within a bundles array:
{
"initializationOptions": {
"bundles": [
"path/to/microsoft/java-debug/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-<version>.jar"
]
}
}
Editor extensions like vscode-java take care of this.
Once eclipse.jdt.ls launched, the client can send a Command to the server to start a debug session:
{
"command": "vscode.java.startDebugSession"
}
The response to this request will contain a port number on which the debug adapter is listening, and to which a client implementing the debug-adapter protocol can connect to.
EPL 1.0, See LICENSE file.
(top 30 of 35)
Java
98.6%
JavaScript
1.2%
The debug server implementation for Java. It conforms to the debug protocol of Visual Studio Code (DAP, Debugger Adapter Protocol).
409
stars
458
commits
Java
primary language
Sep 5, 2026
updated
The Java Debug Server is an implementation of Visual Studio Code (VSCode) Debug Protocol. It can be used in Visual Studio Code to debug Java programs.
The Java Debug Server is the bridge between VSCode and JVM. The implementation is based on JDI (Java Debug Interface). It works with Eclipse JDT Language Server as an add-on to provide debug functionalities.
mvnw.cmd clean install
./mvnw clean install
To use java-debug as a jdt.ls plugin, an LSP client has to launch jdt.ls with initializationOptions that contain the path to the built java-debug jar within a bundles array:
{
"initializationOptions": {
"bundles": [
"path/to/microsoft/java-debug/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-<version>.jar"
]
}
}
Editor extensions like vscode-java take care of this.
Once eclipse.jdt.ls launched, the client can send a Command to the server to start a debug session:
{
"command": "vscode.java.startDebugSession"
}
The response to this request will contain a port number on which the debug adapter is listening, and to which a client implementing the debug-adapter protocol can connect to.
EPL 1.0, See LICENSE file.
(top 30 of 35)
Java
98.6%
JavaScript
1.2%