The java architecture is a little different: - the debugger is a jdt.ls extension bundle. - to start the server, you send a startDebugSession command to jdt.ls - this returns a tcl port to connect to for DAP Loading of jdt.ls and the extension are out of scope for vimspector currently and instead you can tell it to ask you for a port to connect to. After connexting to that port, vimspector works as normal. To support TCP/IP was pretty simple: we provide the same API from vimscript as the job-based (stdin/out) comms layer, but instead just directly use a channel. The only wrinkle was that the java debug adapter broke the protocol on runInTerminal and didn't return a 'cwd', so we make one up.
22 lines
543 B
JSON
22 lines
543 B
JSON
{
|
|
"adapters": {
|
|
"java-debug-server": {
|
|
"name": "vscode-java",
|
|
"port": "ask"
|
|
}
|
|
},
|
|
"configurations": {
|
|
"Java Launch": {
|
|
"adapter": "java-debug-server",
|
|
"configuration": {
|
|
"request": "launch",
|
|
"mainClass": "com.vimspector.test.TestApplication",
|
|
"sourcePaths": [ "${workspaceRoot}/src/main/java" ],
|
|
"classPaths": [ "${workspaceRoot}/target/classes" ],
|
|
"args": "hello world!",
|
|
"stopOnEntry": true,
|
|
"console": "integratedTerminal"
|
|
}
|
|
}
|
|
}
|
|
}
|