-
Notifications
You must be signed in to change notification settings - Fork 165
Java Debugger Extension
microsoft/vscode-java-debug owns the VS Code-side Java debugger extension. This page records the extension's model-facing Java launch guidance; debug-protocol handling remains documented in Java Debug Server.
At source revision 63a6b9b5360ef66bdca2f7ebb32f2ff76384f25a, the extension's Java launch context and java-launch-troubleshooting skill direct run/launch requests to the debugger language-model tools. For debug_java_application:
- After the first failure or timeout, report and diagnose the result; do not automatically retry the tool or relaunch through terminal commands.
- A timeout means startup is unconfirmed. One
get_debug_session_infocheck and inspection of existing terminal output are allowed; do not poll repeatedly or stop the original launch solely because the wait expired. - A new launch attempt is permitted only after an identified cause is fixed or the user explicitly requests a retry. Check for an existing session first and do not replace an active session without explicit restart intent.
This is extension-side tool and guidance behavior, not a claim about Java Debug Server DAP handling or target-JVM state.
test/languageModelToolLaunchPolicy.test.ts covers both launch wait modes, confirmed startup, returned failures, exceptions, disabled no-config debugging, timeout telemetry, and consistency between manifest/instruction/skill guidance. The test asserts that timeouts are reported as unconfirmed startup without an automatic relaunch or stop of the original session.
Merged in microsoft/vscode-java-debug PR #1701, source revision 63a6b9b5360ef66bdca2f7ebb32f2ff76384f25a:
-
src/languageModelTool.ts(registerLanguageModelTool) — launch result and timeout guidance. -
resources/instruments/javaDebugContext.instructions.mdandresources/skills/java-launch-troubleshooting/SKILL.md— model-facing launch and timeout workflow. -
test/languageModelToolLaunchPolicy.test.ts— policy coverage.