{ "name": "vscode-java-debug", "displayName": "Debugger for Java", "description": "A lightweight Java debugger for Visual Studio Code", "version": "0.58.2", "publisher": "vscjava", "preview": false, "aiKey": "67d4461e-ccba-418e-8082-1bd0acfe8516", "icon": "logo.png", "workspaceTrust": { "request": "onDemand", "description": "Extension may require your trust on workspace for code execution." }, "capabilities": { "virtualWorkspaces": false }, "keywords": [ "java", "debug", "debugging", "debugger" ], "engines": { "vscode": "^1.75.0" }, "license": "SEE LICENSE IN LICENSE.txt", "repository": { "type": "git", "url": "https://github.com/Microsoft/vscode-java-debug.git" }, "bugs": { "url": "https://github.com/Microsoft/vscode-java-debug/issues" }, "homepage": "https://github.com/Microsoft/vscode-java-debug/blob/master/README.md", "categories": [ "Debuggers", "Programming Languages", "Other" ], "activationEvents": [ "onLanguage:java", "onDebugInitialConfigurations", "onDebugResolve:java", "onCommand:JavaDebug.SpecifyProgramArgs", "onCommand:JavaDebug.PickJavaProcess" ], "main": "./dist/extension", "contributes": { "breakpoints": [ { "language": "java" } ], "javaExtensions": [ "./server/com.microsoft.java.debug.plugin-0.53.2.jar" ], "commands": [ { "command": "java.debug.hotCodeReplace", "title": "Hot Code Replace", "icon": { "dark": "images/commands/hot_code_replace.svg", "light": "images/commands/hot_code_replace.svg" } }, { "command": "java.debug.runJavaFile", "title": "Run Java", "icon": "$(play)" }, { "command": "java.debug.debugJavaFile", "title": "Debug Java", "icon": "$(debug-alt-small)" }, { "command": "java.debug.runFromProjectView", "title": "Run", "icon": "$(play)" }, { "command": "java.debug.debugFromProjectView", "title": "Debug", "icon": "$(debug-alt-small)" }, { "command": "java.debug.continueAll", "title": "Continue All" }, { "command": "java.debug.continueOthers", "title": "Continue Others" }, { "command": "java.debug.pauseAll", "title": "Pause All" }, { "command": "java.debug.pauseOthers", "title": "Pause Others" }, { "command": "java.debug.variables.showHex", "title": "Show as Hex" }, { "command": "java.debug.variables.notShowHex", "title": "Show as Dec" }, { "command": "java.debug.variables.showQualifiedNames", "title": "Show Qualified Names" }, { "command": "java.debug.variables.notShowQualifiedNames", "title": "Show Simple Names" }, { "command": "java.debug.variables.showStaticVariables", "title": "Show Static Variables" }, { "command": "java.debug.variables.notShowStaticVariables", "title": "Hide Static Variables" }, { "command": "java.debug.variables.showLogicalStructure", "title": "Enable Logical Structure View" }, { "command": "java.debug.variables.notShowLogicalStructure", "title": "Disable Logical Structure View" }, { "command": "java.debug.variables.showToString", "title": "Enable 'toString()' Object View" }, { "command": "java.debug.variables.notShowToString", "title": "Disable 'toString()' Object View" }, { "command": "java.debug.variables.autoExpandLazyVariables", "title": "Auto Expand Lazy Variables" }, { "command": "java.debug.variables.manualExpandLazyVariables", "title": "Manual Expand Lazy Variables" } ], "menus": { "view/item/context": [ { "command": "java.debug.debugFromProjectView", "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+java\\b)(?=.*?\\b\\+uri\\b)/", "group": "inline@100" }, { "command": "java.debug.runFromProjectView", "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+java\\b)(?=.*?\\b\\+uri\\b)/", "group": "8_execution@10" }, { "command": "java.debug.debugFromProjectView", "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+java\\b)(?=.*?\\b\\+uri\\b)/", "group": "8_execution@20" } ], "explorer/context": [ { "command": "java.debug.runJavaFile", "when": "resourceExtname == .java", "group": "1_javaactions@90" }, { "command": "java.debug.debugJavaFile", "when": "resourceExtname == .java", "group": "1_javaactions@91" } ], "editor/context": [ { "command": "java.debug.runJavaFile", "when": "editorLangId == java && resourceExtname == .java", "group": "javadebug@1" }, { "command": "java.debug.debugJavaFile", "when": "editorLangId == java && resourceExtname == .java", "group": "javadebug@2" } ], "editor/title/run": [ { "command": "java.debug.runJavaFile", "when": "resourceExtname == .java", "group": "1_javadebug@10" }, { "command": "java.debug.debugJavaFile", "when": "resourceExtname == .java", "group": "1_javadebug@20" } ], "debug/toolBar": [ { "command": "java.debug.hotCodeReplace", "group": "navigation@100", "when": "inDebugMode && debugType == java && javaHotReload == 'manual' && javaHotReloadOn" } ], "debug/callstack/context": [ { "command": "java.debug.continueAll", "when": "inDebugMode && debugType == java && callStackItemType == 'thread'" }, { "command": "java.debug.continueOthers", "when": "inDebugMode && debugType == java && callStackItemType == 'thread'" }, { "command": "java.debug.pauseAll", "when": "inDebugMode && debugType == java && callStackItemType == 'thread'" }, { "command": "java.debug.pauseOthers", "when": "inDebugMode && debugType == java && callStackItemType == 'thread'" } ], "commandPalette": [ { "command": "java.debug.hotCodeReplace", "when": "false" }, { "command": "java.debug.runJavaFile", "when": "false" }, { "command": "java.debug.debugJavaFile", "when": "false" }, { "command": "java.debug.continueAll", "when": "false" }, { "command": "java.debug.continueOthers", "when": "false" }, { "command": "java.debug.pauseAll", "when": "false" }, { "command": "java.debug.pauseOthers", "when": "false" }, { "command": "java.debug.runFromProjectView", "when": "false" }, { "command": "java.debug.debugFromProjectView", "when": "false" }, { "command": "java.debug.variables.showHex", "when": "false" }, { "command": "java.debug.variables.notShowHex", "when": "false" }, { "command": "java.debug.variables.showQualifiedNames", "when": "false" }, { "command": "java.debug.variables.notShowQualifiedNames", "when": "false" }, { "command": "java.debug.variables.showStaticVariables", "when": "false" }, { "command": "java.debug.variables.notShowStaticVariables", "when": "false" }, { "command": "java.debug.variables.showLogicalStructure", "when": "false" }, { "command": "java.debug.variables.notShowLogicalStructure", "when": "false" }, { "command": "java.debug.variables.showToString", "when": "false" }, { "command": "java.debug.variables.notShowToString", "when": "false" }, { "command": "java.debug.variables.autoExpandLazyVariables", "when": "false" }, { "command": "java.debug.variables.manualExpandLazyVariables", "when": "false" } ], "debug/variables/context": [ { "command": "java.debug.variables.showHex", "when": "debugType == 'java' && javadebug:showHex == 'off'", "group": "1_view@1" }, { "command": "java.debug.variables.notShowHex", "when": "debugType == 'java' && javadebug:showHex == 'on'", "group": "1_view@1" }, { "command": "java.debug.variables.showQualifiedNames", "when": "debugType == 'java' && javadebug:showQualifiedNames == 'off'", "group": "1_view@2" }, { "command": "java.debug.variables.notShowQualifiedNames", "when": "debugType == 'java' && javadebug:showQualifiedNames == 'on'", "group": "1_view@2" }, { "command": "java.debug.variables.showStaticVariables", "when": "debugType == 'java' && javadebug:showStaticVariables == 'off'", "group": "1_view@3" }, { "command": "java.debug.variables.notShowStaticVariables", "when": "debugType == 'java' && javadebug:showStaticVariables == 'on'", "group": "1_view@3" }, { "command": "java.debug.variables.showLogicalStructure", "when": "debugType == 'java' && javadebug:showLogicalStructure == 'off'", "group": "1_view@4" }, { "command": "java.debug.variables.notShowLogicalStructure", "when": "debugType == 'java' && javadebug:showLogicalStructure == 'on'", "group": "1_view@4" }, { "command": "java.debug.variables.autoExpandLazyVariables", "when": "debugType == 'java' && javadebug:expandLazyVariable == 'off'", "group": "1_view@6" }, { "command": "java.debug.variables.manualExpandLazyVariables", "when": "debugType == 'java' && javadebug:expandLazyVariable == 'on'", "group": "1_view@6" } ] }, "debuggers": [ { "type": "java", "label": "Java", "languages": [ "java" ], "variables": { "SpecifyProgramArgs": "JavaDebug.SpecifyProgramArgs", "PickJavaProcess": "JavaDebug.PickJavaProcess" }, "configurationAttributes": { "launch": { "required": [ "mainClass" ], "properties": { "projectName": { "type": "string", "description": "%java.debugger.launch.projectName.description%", "default": "" }, "mainClass": { "type": "string", "description": "%java.debugger.launch.mainClass.description%", "default": "" }, "javaExec": { "type": "string", "description": "%java.debugger.launch.javaExec.description%", "default": "" }, "args": { "type": [ "array", "string" ], "description": "%java.debugger.launch.args.description%", "default": "" }, "vmArgs": { "type": [ "array", "string" ], "description": "%java.debugger.launch.vmArgs.description%", "default": "" }, "modulePaths": { "type": "array", "items": { "anyOf": [ { "enum": [ "$Auto", "$Runtime", "$Test", "!" ], "enumDescriptions": [ "%java.debugger.launch.modulePaths.auto%", "%java.debugger.launch.modulePaths.runtime%", "%java.debugger.launch.modulePaths.test%", "%java.debugger.launch.modulePaths.exclude%" ] }, "string" ] }, "description": "%java.debugger.launch.modulePaths.description%", "default": [] }, "classPaths": { "type": "array", "items": { "anyOf": [ { "enum": [ "$Auto", "$Runtime", "$Test", "!" ], "enumDescriptions": [ "%java.debugger.launch.classPaths.auto%", "%java.debugger.launch.classPaths.runtime%", "%java.debugger.launch.classPaths.test%", "%java.debugger.launch.classPaths.exclude%" ] }, "string" ] }, "description": "%java.debugger.launch.classPaths.description%", "default": [] }, "sourcePaths": { "type": "array", "items": { "type": "string" }, "description": "%java.debugger.launch.sourcePaths.description%", "default": [] }, "encoding": { "type": "string", "description": "%java.debugger.launch.encoding.description%", "default": "UTF-8" }, "cwd": { "type": "string", "description": "%java.debugger.launch.cwd.description%", "default": "${workspaceFolder}" }, "env": { "type": "object", "description": "%java.debugger.launch.env.description%", "default": {} }, "envFile": { "type": [ "array", "string" ], "description": "%java.debugger.launch.envFile.description%", "default": "${workspaceFolder}/.env" }, "stopOnEntry": { "type": "boolean", "description": "%java.debugger.launch.stopOnEntry.description%", "default": true }, "console": { "type": "string", "enum": [ "internalConsole", "integratedTerminal", "externalTerminal" ], "enumDescriptions": [ "%java.debugger.launch.internalConsole.description%", "%java.debugger.launch.integratedTerminal.description%", "%java.debugger.launch.externalTerminal.description%" ], "description": "%java.debugger.launch.console.description%", "default": "integratedTerminal" }, "shortenCommandLine": { "type": "string", "enum": [ "none", "jarmanifest", "argfile", "auto" ], "enumDescriptions": [ "%java.debugger.launch.shortenCommandLine.none%", "%java.debugger.launch.shortenCommandLine.jarmanifest%", "%java.debugger.launch.shortenCommandLine.argfile%", "%java.debugger.launch.shortenCommandLine.auto%" ], "description": "%java.debugger.launch.shortenCommandLine.description%", "default": "auto" }, "stepFilters": { "type": "object", "description": "%java.debugger.launch.stepFilters.description%", "default": { "skipClasses": [ "$JDK", "junit.*" ], "skipSynthetics": false, "skipStaticInitializers": false, "skipConstructors": false }, "properties": { "skipClasses": { "type": "array", "description": "%java.debugger.launch.skipClasses.description%", "items": { "anyOf": [ { "enum": [ "$JDK", "$Libraries", "java.lang.ClassLoader", "" ], "enumDescriptions": [ "%java.debugger.launch.skipClasses.skipJDK%", "%java.debugger.launch.skipClasses.skipLibraries%", "%java.debugger.launch.skipClasses.skipClassLoader%", "%java.debugger.launch.skipClasses.skipClassPattern%" ] }, "string" ] }, "default": [ "$JDK", "junit.*" ] }, "skipSynthetics": { "type": "boolean", "description": "%java.debugger.launch.skipSynthetics.description%", "default": true }, "skipStaticInitializers": { "type": "boolean", "description": "%java.debugger.launch.skipStaticInitializers.description%", "default": true }, "skipConstructors": { "type": "boolean", "description": "%java.debugger.launch.skipConstructors.description%", "default": true } } } } }, "attach": { "properties": { "hostName": { "type": "string", "default": "localhost", "description": "%java.debugger.attach.hostName.description%" }, "port": { "type": [ "number", "string" ], "description": "%java.debugger.attach.port.description%" }, "processId": { "anyOf": [ { "enum": [ "${command:PickJavaProcess}" ], "description": "%java.debugger.attach.processPicker.description%", "default": "${command:PickJavaProcess}" }, { "type": "integer", "description": "%java.debugger.attach.processId.description%" } ] }, "timeout": { "type": "number", "default": 30000, "description": "%java.debugger.attach.timeout.description%" }, "sourcePaths": { "type": "array", "items": { "type": "string" }, "default": [], "description": "%java.debugger.launch.sourcePaths.description%" }, "projectName": { "type": "string", "description": "%java.debugger.attach.projectName.description%", "default": "" }, "stepFilters": { "type": "object", "description": "%java.debugger.launch.stepFilters.description%", "default": { "skipClasses": [ "$JDK", "junit.*" ], "skipSynthetics": false, "skipStaticInitializers": false, "skipConstructors": false }, "properties": { "skipClasses": { "type": "array", "description": "%java.debugger.launch.skipClasses.description%", "items": { "anyOf": [ { "enum": [ "$JDK", "$Libraries", "java.lang.ClassLoader", "" ], "enumDescriptions": [ "%java.debugger.launch.skipClasses.skipJDK%", "%java.debugger.launch.skipClasses.skipLibraries%", "%java.debugger.launch.skipClasses.skipClassLoader%", "%java.debugger.launch.skipClasses.skipClassPattern%" ] }, "string" ] }, "default": [ "$JDK", "junit.*" ] }, "skipSynthetics": { "type": "boolean", "description": "%java.debugger.launch.skipSynthetics.description%", "default": false }, "skipStaticInitializers": { "type": "boolean", "description": "%java.debugger.launch.skipStaticInitializers.description%", "default": false }, "skipConstructors": { "type": "boolean", "description": "%java.debugger.launch.skipConstructors.description%", "default": false } } } } } }, "configurationSnippets": [ { "label": "Java: Launch Program", "description": "%java.debugger.snippet.launch.description%", "body": { "type": "java", "name": "Launch Java Program", "request": "launch", "mainClass": "" } }, { "label": "Java: Launch Program in External Terminal", "description": "%java.debugger.snippet.launchInExternalTerminal.description%", "body": { "type": "java", "name": "Launch External Terminal", "request": "launch", "console": "externalTerminal", "mainClass": "" } }, { "label": "Java: Launch Program in Current File", "description": "%java.debugger.snippet.launchCurrentFile.description%", "body": { "type": "java", "name": "Launch Current File", "request": "launch", "mainClass": "^\"\\${file}\"" } }, { "label": "Java: Launch Program with Arguments Prompt", "description": "%java.debugger.snippet.launchWithArgumentsPrompt.description%", "body": { "type": "java", "name": "Launch with Arguments Prompt", "request": "launch", "mainClass": "", "args": "^\"\\${command:SpecifyProgramArgs}\"" } }, { "label": "Java: Attach", "description": "%java.debugger.snippet.attach.description%", "body": { "type": "java", "name": "Attach", "request": "attach", "hostName": "localhost", "port": "" } }, { "label": "Java: Attach to Process", "description": "%java.debugger.snippet.attachProcess.description%", "body": { "type": "java", "request": "attach", "name": "Attach by Process ID", "processId": "^\"\\${command:PickJavaProcess}\"" } }, { "label": "Java: Attach to Remote Program", "description": "%java.debugger.snippet.attachRemote.description%", "body": { "type": "java", "name": "Attach to Remote Program", "request": "attach", "hostName": "", "port": "" } } ] } ], "configuration": { "type": "object", "title": "%java.debugger.configuration.title%", "properties": { "java.debug.logLevel": { "type": "string", "default": "warn", "description": "%java.debugger.configuration.logLevel.description%", "enum": [ "error", "warn", "info", "verbose" ] }, "java.debug.settings.showHex": { "type": "boolean", "description": "%java.debugger.configuration.showHex.description%", "default": false }, "java.debug.settings.showStaticVariables": { "type": "boolean", "description": "%java.debugger.configuration.showStaticVariables.description%", "default": false }, "java.debug.settings.showQualifiedNames": { "type": "boolean", "description": "%java.debugger.configuration.showQualifiedNames.description%", "default": false }, "java.debug.settings.showLogicalStructure": { "type": "boolean", "description": "%java.debugger.configuration.showLogicalStructure.description%", "default": true }, "java.debug.settings.showToString": { "type": "boolean", "description": "%java.debugger.configuration.showToString.description%", "default": true }, "java.debug.settings.maxStringLength": { "type": "number", "description": "%java.debugger.configuration.maxStringLength.description%", "default": 0 }, "java.debug.settings.numericPrecision": { "type": "number", "description": "%java.debugger.configuration.numericPrecision.description%", "default": 0 }, "java.debug.settings.hotCodeReplace": { "type": "string", "default": "manual", "description": "%java.debugger.configuration.hotCodeReplace.description%", "enum": [ "auto", "manual", "never" ] }, "java.debug.settings.enableRunDebugCodeLens": { "type": "boolean", "description": "%java.debugger.configuration.enableRunDebugCodeLens.description%", "default": true }, "java.debug.settings.forceBuildBeforeLaunch": { "type": "boolean", "description": "%java.debugger.configuration.forceBuildBeforeLaunch%", "default": true }, "java.debug.settings.onBuildFailureProceed": { "type": "boolean", "description": "%java.debugger.configuration.onBuildFailureProceed%", "default": false }, "java.debug.settings.console": { "type": "string", "enum": [ "internalConsole", "integratedTerminal", "externalTerminal" ], "enumDescriptions": [ "%java.debugger.launch.internalConsole.description%", "%java.debugger.launch.integratedTerminal.description%", "%java.debugger.launch.externalTerminal.description%" ], "description": "%java.debugger.configuration.console%", "default": "integratedTerminal" }, "java.debug.settings.exceptionBreakpoint.exceptionTypes": { "type": "array", "description": "%java.debugger.configuration.exceptionBreakpoint.exceptionTypes%", "items": { "type": "string" }, "default": [] }, "java.debug.settings.exceptionBreakpoint.allowClasses": { "type": "array", "description": "%java.debugger.configuration.exceptionBreakpoint.allowClasses%", "items": { "type": "string" }, "default": [] }, "java.debug.settings.exceptionBreakpoint.skipClasses": { "type": "array", "description": "%java.debugger.configuration.exceptionBreakpoint.skipClasses%", "items": { "anyOf": [ { "enum": [ "$JDK", "$Libraries", "java.lang.ClassLoader", "" ], "enumDescriptions": [ "%java.debugger.launch.skipClasses.skipJDK%", "%java.debugger.launch.skipClasses.skipLibraries%", "%java.debugger.launch.skipClasses.skipClassLoader%", "%java.debugger.launch.skipClasses.skipClassPattern%" ] }, "string" ] }, "default": [] }, "java.debug.settings.stepping.skipClasses": { "type": "array", "description": "%java.debugger.launch.skipClasses.description%", "items": { "anyOf": [ { "enum": [ "$JDK", "$Libraries", "java.lang.ClassLoader", "" ], "enumDescriptions": [ "%java.debugger.launch.skipClasses.skipJDK%", "%java.debugger.launch.skipClasses.skipLibraries%", "%java.debugger.launch.skipClasses.skipClassLoader%", "%java.debugger.launch.skipClasses.skipClassPattern%" ] }, "string" ] }, "default": [] }, "java.debug.settings.stepping.skipSynthetics": { "type": "boolean", "description": "%java.debugger.launch.skipSynthetics.description%", "default": false }, "java.debug.settings.stepping.skipStaticInitializers": { "type": "boolean", "description": "%java.debugger.launch.skipStaticInitializers.description%", "default": false }, "java.debug.settings.stepping.skipConstructors": { "type": "boolean", "description": "%java.debugger.launch.skipConstructors.description%", "default": false }, "java.debug.settings.jdwp.limitOfVariablesPerJdwpRequest": { "type": "number", "description": "%java.debugger.configuration.jdwp.limitOfVariablesPerJdwpRequest.description%", "default": 100, "minimum": 1 }, "java.debug.settings.jdwp.requestTimeout": { "type": "number", "description": "%java.debugger.configuration.jdwp.requestTimeout.description%", "default": 3000, "minimum": 100 }, "java.debug.settings.jdwp.async": { "type": "string", "enum": [ "auto", "on", "off" ], "description": "%java.debugger.configuration.jdwp.async.description%", "default": "auto" }, "java.debug.settings.vmArgs": { "type": "string", "description": "%java.debugger.configuration.vmArgs.description%", "default": "" }, "java.debug.settings.debugSupportOnDecompiledSource": { "type": "string", "enum": [ "on", "off" ], "description": "%java.debugger.configuration.debugSupportOnDecompiledSource.description%", "default": "on" }, "java.silentNotification": { "type": "boolean", "description": "%java.debugger.configuration.silentNotification%", "default": false } } } }, "scripts": { "vscode:prepublish": "npm run build", "compile": "tsc -p . && webpack --config webpack.config.js", "watch": "webpack --config webpack.config.js --watch", "build": "webpack --config webpack.config.js --mode=\"production\"", "tslint": "tslint -t verbose --project tsconfig.json", "build-server": "node scripts/build/buildJdtlsExt.js", "test": "npm run compile && node ./out/test/index.js" }, "devDependencies": { "@types/glob": "^7.2.0", "@types/lodash": "^4.17.13", "@types/mocha": "^10.0.9", "@types/node": "^14.18.63", "@types/uuid": "^8.3.4", "@types/vscode": "1.75.0", "@vscode/test-electron": "^2.4.1", "mocha": "^10.8.2", "ts-loader": "^9.5.1", "tslint": "^6.1.3", "typescript": "^4.9.5", "webpack": "^5.95.0", "webpack-cli": "^4.10.0" }, "dependencies": { "compare-versions": "^4.1.4", "dotenv": "^16.4.5", "lodash": "^4.17.21", "uuid": "^8.3.2", "vscode-extension-telemetry-wrapper": "^0.14.0", "vscode-languageclient": "6.0.0-next.9", "vscode-languageserver-types": "3.16.0", "vscode-tas-client": "^0.1.84" } }