vimspector confuses me

This commit is contained in:
Chris 2020-08-04 01:26:13 -04:00
parent 4c02cc12fd
commit 230c8b76bd
20 changed files with 0 additions and 1791 deletions

View file

@ -1,12 +0,0 @@
{
"adapters": {
"multi-session": {
"host": "${host}",
"port": "${port}"
},
"vscode-java": {
"name": "vscode-java",
"port": "${DAPPort}"
}
}
}

View file

@ -1 +0,0 @@
{"vscode-java-debug": {"version": "0.26.0", "file_name": "vscjava.vscode-java-debug-0.26.0.vsix", "checksum": "de49116ff3a3c941dad0c36d9af59baa62cd931e808a2ab392056cbb235ad5ef", "download": {"url": "https://github.com/microsoft/vscode-java-debug/releases/download/${version}/${file_name}"}}}

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension=".md" ContentType="text/markdown"/><Default Extension=".js" ContentType="application/javascript"/><Default Extension=".svg" ContentType="image/svg+xml"/><Default Extension=".txt" ContentType="text/plain"/><Default Extension=".png" ContentType="image/png"/><Default Extension=".json" ContentType="application/json"/><Default Extension=".bat" ContentType="application/x-msdownload"/><Default Extension=".jar" ContentType="application/java-archive"/><Default Extension=".vsixmanifest" ContentType="text/xml"/>
</Types>

View file

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Language="en-US" Id="vscode-java-debug" Version="0.26.0" Publisher="vscjava"/>
<DisplayName>Debugger for Java</DisplayName>
<Description xml:space="preserve">A lightweight Java debugger for Visual Studio Code</Description>
<Tags>java,debug,debugging,debugger,debuggers</Tags>
<Categories>Debuggers,Programming Languages,Other</Categories>
<GalleryFlags>Public Preview</GalleryFlags>
<Badges></Badges>
<Properties>
<Property Id="Microsoft.VisualStudio.Code.Engine" Value="^1.38.0" />
<Property Id="Microsoft.VisualStudio.Code.ExtensionDependencies" Value="" />
<Property Id="Microsoft.VisualStudio.Code.ExtensionPack" Value="" />
<Property Id="Microsoft.VisualStudio.Code.LocalizedLanguages" Value="" />
<Property Id="Microsoft.VisualStudio.Services.Links.Source" Value="https://github.com/Microsoft/vscode-java-debug.git" />
<Property Id="Microsoft.VisualStudio.Services.Links.Getstarted" Value="https://github.com/Microsoft/vscode-java-debug.git" />
<Property Id="Microsoft.VisualStudio.Services.Links.GitHub" Value="https://github.com/Microsoft/vscode-java-debug.git" />
<Property Id="Microsoft.VisualStudio.Services.Links.Support" Value="https://github.com/Microsoft/vscode-java-debug/issues" />
<Property Id="Microsoft.VisualStudio.Services.Links.Learn" Value="https://github.com/Microsoft/vscode-java-debug/blob/master/README.md" />
<Property Id="Microsoft.VisualStudio.Services.GitHubFlavoredMarkdown" Value="true" />
</Properties>
<License>extension/LICENSE.txt</License>
<Icon>extension/logo.png</Icon>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Code"/>
</Installation>
<Dependencies/>
<Assets>
<Asset Type="Microsoft.VisualStudio.Code.Manifest" Path="extension/package.json" Addressable="true" />
<Asset Type="Microsoft.VisualStudio.Services.Content.Details" Path="extension/README.md" Addressable="true" /><Asset Type="Microsoft.VisualStudio.Services.Content.Changelog" Path="extension/CHANGELOG.md" Addressable="true" /><Asset Type="Microsoft.VisualStudio.Services.Content.License" Path="extension/LICENSE.txt" Addressable="true" /><Asset Type="Microsoft.VisualStudio.Services.Icons.Default" Path="extension/logo.png" Addressable="true" />
</Assets>
</PackageManifest>

View file

@ -1,325 +0,0 @@
# Change Log
All notable changes to the "vscode-java-debugger" extension will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.26.0 - 2020-05-13
### Added
- Support picking a Java process to auto attach. [#759](https://github.com/microsoft/vscode-java-debug/issues/759).
### Fixed
- When running the Gradle application, the test scope is not filtered out. [#715](https://github.com/microsoft/vscode-java-debug/issues/715).
- Conditional breakpoint fails in the multi thread scenario. [#782](https://github.com/microsoft/vscode-java-debug/issues/782).
- Show a warning message about the Unsupported JDK error. [#789](https://github.com/microsoft/vscode-java-debug/issues/789).
- vmArgs in launch.json does not accept an array of strings. [#778](https://github.com/microsoft/vscode-java-debug/issues/778).
- Activate the extension before execute Java extension commands. [#775](https://github.com/microsoft/vscode-java-debug/pull/775).
### Changed
- Contribution from [Mathias Fußenegger](https://github.com/mfussenegger): Extend readme with basic low level usage instructions. [java-debug#327](https://github.com/microsoft/java-debug/pull/327).
Thank [Mathias Fußenegger](https://github.com/mfussenegger) for contribution.
## 0.25.1 - 2020-03-06
### Fixed
- Fix the Error: Could not find or load main class @x.y.z.argfile. [#769](https://github.com/microsoft/vscode-java-debug/issues/769).
- Cannot hit breakpoint at the class using Java 13 Text Blocks. [#773](https://github.com/microsoft/vscode-java-debug/issues/773).
## 0.25.0 - 2020-02-20
### Added
- Provide context menu to continue/pause all/other threads. [#748](https://github.com/microsoft/vscode-java-debug/pull/748).
- Contribution from [bhoppeadoy](https://github.com/bhoppeadoy): Add user setting `java.debug.settings.numericPrecision` to set the numeric precision when formatting doubles in "Variables" or "Debug Console" viewlet. [#745](https://github.com/microsoft/vscode-java-debug/issues/745).
### Fixed
- Use project's Java runtime to launch the application. [#753](https://github.com/microsoft/vscode-java-debug/issues/753).
- Restart stop but not start the program. [#752](https://github.com/microsoft/vscode-java-debug/issues/752).
- Contribution from [xiaoyinl](https://github.com/xiaoyinl): Use HTTPS wherever possible. [#732](https://github.com/microsoft/vscode-java-debug/pull/732).
## 0.24.0 - 2019-12-25
### Added
- Support breaking when value changes (a.k.a. Data Breakpoints). [#654](https://github.com/microsoft/vscode-java-debug/issues/654).
### Changed
- Improve "Run Java" experience: `F5` will run the current file without generating launch.json. [#724](https://github.com/microsoft/vscode-java-debug/issues/724).
### Fixed
- Debug console will hang on Java exception stack trace. [#719](https://github.com/microsoft/vscode-java-debug/issues/719).
- Debug console won't automatically append `()` if selecting a method in completion list. [#711](https://github.com/microsoft/vscode-java-debug/issues/711), [#691](https://github.com/microsoft/vscode-java-debug/issues/691).
- Cannot pass `vmArgs` array to Java 13 project. [#703](https://github.com/microsoft/vscode-java-debug/issues/703).
## 0.23.0 - 2019-10-29
### Added
- Provide "Fix..." suggestions when "Build failed" occurs during launching the application. [#358](https://github.com/microsoft/vscode-java-debug/issues/358).
- Prompt to add the folder to source path if the running file isn't on classpath. [#470](https://github.com/microsoft/vscode-java-debug/issues/470).
- Provide samples for the commonly used debug configuration. See the [doc](https://github.com/microsoft/vscode-java-debug/blob/master/Configuration.md).
### Fixed
- It's safe to keep running the run/debug codelens if the debug configuration fails to save into the launch.json. [PR#673](https://github.com/microsoft/vscode-java-debug/pull/673).
- Improve the error handling when running the file via the context "run" or "debug" menu. [PR#679](https://github.com/microsoft/vscode-java-debug/pull/679).
- Support searching main classes from the workspace invisible project. [PR#305](https://github.com/microsoft/java-debug/pull/305).
### Changed
- Update troubleshooting doc for class not found error. See the [doc](https://github.com/microsoft/vscode-java-debug/blob/master/Troubleshooting.md#program-error-could-not-find-or-load-main-class-x).
- Update troubleshooting doc for build failed error. See the [doc](https://github.com/microsoft/vscode-java-debug/blob/master/Troubleshooting.md#build-failed-do-you-want-to-continue).
## 0.22.0 - 2019-09-24
### Added
- Show Run/Debug buttons when hover on a main method. [#657](https://github.com/microsoft/vscode-java-debug/issues/657).
### Fixed
- Debugger just broken with git bash as the default shell on Windows. [#642](https://github.com/microsoft/vscode-java-debug/issues/642).
- [Mac] Failed to launch debuggee in terminal with TimeoutException. [#637](https://github.com/microsoft/vscode-java-debug/issues/637), [#651](https://github.com/microsoft/vscode-java-debug/issues/651).
- Pop an error message when click ⚡ HCR button in the Run mode. [PR#665](https://github.com/microsoft/vscode-java-debug/pull/665).
- Don't escape single quote of the program args. [PR#668](https://github.com/microsoft/vscode-java-debug/pull/668).
## 0.21.0 - 2019-08-26
### Added
- Add menu entries to `Run` and `Debug` a Java application when you right click a Java file in file explorer or opened editor. [#626](https://github.com/microsoft/vscode-java-debug/issues/626).
### Changed
- Remove hard dependency of redhat.java. [PR#617](https://github.com/microsoft/vscode-java-debug/pull/617).
- Change the default console to integrated terminal. [#605](https://github.com/microsoft/vscode-java-debug/issues/605).
### Fixed
- Java language server is activated by mistake when debugging a non-Java project. [#238](https://github.com/microsoft/vscode-java-debug/issues/238).
- [Windows] `integratedTerminal` console does not showing unicode characters. [#524](https://github.com/microsoft/vscode-java-debug/issues/524).
- Contribution from [pi1024e](https://github.com/pi1024e): Fix UI typos. [PR#630](https://github.com/microsoft/vscode-java-debug/pull/630).
Thank [pi1024e](https://github.com/pi1024e) for contribution.
## 0.20.0 - 2019-07-01
### Fixed
- Fix: Adding wrong jar version to the classpath. [#566](https://github.com/microsoft/vscode-java-debug/issues/566).
- Fix: Adding wrong classpath at runtime for multi modules maven projects. [#584](https://github.com/microsoft/vscode-java-debug/issues/584).
- Contribution from [tom-shan](https://github.com/tom-shan): Should break earlier when destroying temporary launch file. [PR#280](https://github.com/microsoft/java-debug/pull/280).
Thank [tom-shan](https://github.com/tom-shan) for contribution.
## 0.19.0 - 2019-05-31
### Added
- Add a debug toolbar button to apply the changed classes to the running application. [#559](https://github.com/microsoft/vscode-java-debug/issues/559).
- Show toString() values in Variable window and hover tooltip. [#315](https://github.com/microsoft/vscode-java-debug/issues/315), [#364](https://github.com/microsoft/vscode-java-debug/issues/364).
- Add a global user setting `java.debug.settings.console` to specify the default console to launch your program. [PR#594](https://github.com/microsoft/vscode-java-debug/pull/594).
### Fixed
- Fix: The debug toolbar doesn't close after the program running in external terminal exits. [#582](https://github.com/microsoft/vscode-java-debug/issues/582).
- Fix: Cannot stop the debugging process automatically in attach mode. [java-debug#273](https://github.com/microsoft/java-debug/issues/273).
## 0.18.0 - 2019-04-23
### Added
- Enable "Logical Structure" view for Map and Collection variables. [#227](https://github.com/Microsoft/vscode-java-debug/issues/227).
- Add the source hyperlinks for the stack traces in the Debug Console output. [#490](https://github.com/Microsoft/vscode-java-debug/issues/490), [#506](https://github.com/Microsoft/vscode-java-debug/issues/506).
- Automatically add `--enable-preview` to vmArgs when necessary. [#553](https://github.com/Microsoft/vscode-java-debug/issues/553).
### Changed
- Disable `java.debug.settings.showStaticVariables` by default to not show the static fields.
### Fixed
- Fix: Debug Console does not support autocomplete when a .class file is open. [#535](https://github.com/Microsoft/vscode-java-debug/issues/535).
## 0.17.0 - 2019-03-06
### Added
- Popup the exception details via a UI widget when an exception breakpoint is hit. [#522](https://github.com/Microsoft/vscode-java-debug/issues/522).
### Changed
- Reduce the extension load time by using webpack. [#492](https://github.com/Microsoft/vscode-java-debug/issues/492), [#517](https://github.com/Microsoft/vscode-java-debug/issues/517).
### Fixed
- Add a new debug configuration `shortenCommandLine` to fix the issue "CreateProcess error=206, The filename or extension is too long". [#110](https://github.com/Microsoft/vscode-java-debug/issues/110).
## 0.16.0 - 2018-12-12
### Added
- Provide Chinese localized settings page for Java debugger, including launch.json configuration and user settings. [#472](https://github.com/Microsoft/vscode-java-debug/issues/472), [#477](https://github.com/Microsoft/vscode-java-debug/issues/477).
- Add new user settings `java.debug.settings.forceBuildBeforeLaunch` to control whether to build the workspace before Run/Debug. [#462](https://github.com/Microsoft/vscode-java-debug/issues/462).
- F5 will auto launch the current Java file if `mainClass` in launch.json is set to the variable `${file}`. [#431](https://github.com/Microsoft/vscode-java-debug/issues/431)
### Changed
- Simplify generated launch.json. [#476](https://github.com/Microsoft/vscode-java-debug/issues/476).
- Remove the emoji before Run/Debug CodeLens. [#475](https://github.com/Microsoft/vscode-java-debug/issues/475).
- Use `vscode.open` api instead of `opn` library. [#479](https://github.com/Microsoft/vscode-java-debug/issues/479).
### Fixed
- Fix the main class isn't unique issue. [#420](https://github.com/Microsoft/vscode-java-debug/issues/420).
## 0.15.0 - 2018-11-01
### Added
- Contribution from [Thad House](https://github.com/ThadHouse): Add new user settings `java.debug.settings.enableRunDebugCodeLens` to enable/disable Run|Debug Code Lenses on main methods. [#464](https://github.com/Microsoft/vscode-java-debug/issues/464).
- Contribution from [Julien Russo](https://github.com/Dotpys): Add italian translation for extension configuration. [PR#463](https://github.com/Microsoft/vscode-java-debug/pull/463).
Thank [Thad House](https://github.com/ThadHouse) and [Julien Russo](https://github.com/Dotpys) for contribution.
## 0.14.0 - 2018-10-10
### Fixed
- Fix: Code Lenses for Run/Debug links on main methods don't show up immediately. [#438](https://github.com/Microsoft/vscode-java-debug/issues/438).
- Fix: It throws "ConfigError: 'mymodule/App' is not a valid class name." for java 9 program. [#437](https://github.com/Microsoft/vscode-java-debug/issues/437).
- Fix: Cannot run from src/test anymore. [#413](https://github.com/Microsoft/vscode-java-debug/issues/413).
- Fix: It throws InvalidStackFrameException during evaluating on conditional breakpoint. [#369](https://github.com/Microsoft/vscode-java-debug/issues/369).
- Fix: The launch command for internalConsole is different from integratedTerminal. [#440](https://github.com/Microsoft/vscode-java-debug/issues/440).
## 0.13.0 - 2018-9-19
### Added
- Use code lens to run java program in a much simpler way. [#375](https://github.com/Microsoft/vscode-java-debug/issues/375).
- Make args/vmArgs accept an array. [#389](https://github.com/Microsoft/vscode-java-debug/issues/389).
- Make mainClass accept variables. [#85](https://github.com/Microsoft/vscode-java-debug/issues/85).
### Fixed
- Fix: Still include test classes in classpaths when auto resolve maven project. [#378](https://github.com/Microsoft/vscode-java-debug/issues/378).
- Fix: Duplicate class path during launching. [#370](https://github.com/Microsoft/vscode-java-debug/issues/370).
- Fix: Update Active Editor oct icon to file instead of clock. [#403](https://github.com/Microsoft/vscode-java-debug/issues/403).
- Fix: Launching the debuggee with the same JDK as java language server instead of JRE. [#366](https://github.com/Microsoft/vscode-java-debug/issues/366).
- Fix: Avoid pop up error window many times for logpoints in a loop. [#360](https://github.com/Microsoft/vscode-java-debug/issues/390).
- Fix: Debug buttons disabled. [#411](https://github.com/Microsoft/vscode-java-debug/issues/411)
- Fix: StepResponse/ContinueResponse should be sent before StoppedEvent. [java-debug#134](https://github.com/Microsoft/java-debug/issues/134)
## 0.12.2 - 2018-9-6
### Fixed
- Fix: Runtime scope class path entries are missing. [#402](https://github.com/Microsoft/vscode-java-debug/issues/402).
## 0.12.1 - 2018-8-31
### Fixed
- Fix: `env` config in launch.json not respected. [#393](https://github.com/Microsoft/vscode-java-debug/issues/393).
## 0.12.0 - 2018-8-29
### Added
- Start without debugging. See [#351](https://github.com/Microsoft/vscode-java-debug/issues/351).
- Add the validation to mainClass and projectName before launching. See [#355](https://github.com/Microsoft/vscode-java-debug/issues/355).
- Add "Learn More" link jumps to the associated troubleshooting paragraph [#360](https://github.com/Microsoft/vscode-java-debug/issues/360).
### Changed
- Put recently used main class in the top [#350](https://github.com/Microsoft/vscode-java-debug/issues/350).
- Enable evaluation for hovers [#297](https://github.com/Microsoft/vscode-java-debug/issues/297).
- Distinguish user errors and system errors [#288](https://github.com/Microsoft/vscode-java-debug/issues/288).
### Fixed
- Fix: vulnerabilities issue [PR#356](https://github.com/Microsoft/vscode-java-debug/pull/356).
- Fix: NPE for CompletionsProvider [PR#206](https://github.com/Microsoft/java-debug/pull/206).
- Fix: Debugger slow when watching variables [#305](https://github.com/Microsoft/vscode-java-debug/issues/305).
- Fix: Should not include test classes in classpath [#111](https://github.com/Microsoft/vscode-java-debug/issues/111).
## 0.11.0 - 2018-8-2
### Added
- Add a troubleshooting page for common errors. See [the troubleshooting guide](https://github.com/Microsoft/vscode-java-debug/blob/master/Troubleshooting.md).
- Build and publish the Java Debug Server plugin as p2 artifacts. See [PR#191](https://github.com/Microsoft/java-debug/pull/191), [PR#192](https://github.com/Microsoft/java-debug/pull/192).
### Changed
- Auto select Java Debugger for .java file. See [PR#329](https://github.com/Microsoft/vscode-java-debug/pull/329).
- Improve the *launch.json* auto-generation UX. See [PR#342](https://github.com/Microsoft/vscode-java-debug/pull/342).
- Improve the logger coverage for the error response. See [PR#190](https://github.com/Microsoft/java-debug/pull/190).
### Fixed
- Fix the attach error in JDK 10. See [PR#187](https://github.com/Microsoft/java-debug/pull/187).
- Fix the Java Debug Server plugin build error in JDK 10. See [PR#194](https://github.com/Microsoft/java-debug/pull/194).
## 0.10.0 - 2018-6-27
### Added
- Add support for Logpoint. The minimum compatible VS Code version is 1.22. See the feature request [#272](https://github.com/Microsoft/vscode-java-debug/issues/272)
### Fixed
- Contribution from [LunarArcanus](https://github.com/LunarArcanus): Fix the grammar issue in README. See [PR#306](https://github.com/Microsoft/vscode-java-debug/pull/306).
- Fix the project's build errors in JDK 9/10. See [PR#178](https://github.com/Microsoft/java-debug/pull/178)
## 0.9.0 - 2018-4-26
### Added
- Support auto-complete feature in debug console view. See the feature request [#237](https://github.com/Microsoft/vscode-java-debug/issues/237)
### Fixed
- Fix the ObjectCollectedException when enabling ExceptionBreakpoint. See [Issue [#182](https://github.com/Microsoft/vscode-java-debug/issues/182)](https://github.com/Microsoft/vscode-java-debug/issues/182)
- Fix the [issue [#277](https://github.com/Microsoft/vscode-java-debug/issues/277)](https://github.com/Microsoft/vscode-java-debug/issues/277) that the debugger doesn't stop on caught/uncaught exceptions. See [PR [#172](https://github.com/Microsoft/vscode-java-debug/issues/172)](https://github.com/Microsoft/java-debug/pull/172)
- Fix the [issue [#273](https://github.com/Microsoft/vscode-java-debug/issues/273)](https://github.com/Microsoft/vscode-java-debug/issues/273) that Chinese characters directory will cause messy code during stack trace's source looking up. See [PR [#170](https://github.com/Microsoft/vscode-java-debug/issues/170)](https://github.com/Microsoft/java-debug/pull/170)
## 0.8.0 - 2018-4-3
### Added
- Support [restart frame](https://github.com/Microsoft/vscode-java-debug/issues/235). See [PR#160](https://github.com/Microsoft/java-debug/pull/160)
### Changed
- Enable hot code replace by default. See [PR#263](https://github.com/Microsoft/vscode-java-debug/pull/263)
- Wait for building successfully before launch debug session. See [PR#257](https://github.com/Microsoft/vscode-java-debug/pull/257)
- Automatically detect projectName when only one main class or project available. See [PR#164](https://github.com/Microsoft/java-debug/pull/164)
## 0.7.0 - 2018-3-15
### Added
- Support [conditional breakpoints](https://github.com/Microsoft/vscode-java-debug/issues/118). See [PR#153](https://github.com/Microsoft/java-debug/pull/153), [PR#154](https://github.com/Microsoft/java-debug/pull/154), [PR#156](https://github.com/Microsoft/java-debug/pull/156)
- Support prompting user for program arguments. See [PR#245](https://github.com/Microsoft/vscode-java-debug/pull/245)
### Changed
- Fix the unsupported breakpoint at method entry/exit issue. See [PR#129](https://github.com/Microsoft/java-debug/pull/129)
- Fix the issue when the projectName is not specified, the expression evaluation doesn't work. See [PR#156](https://github.com/Microsoft/java-debug/pull/156)
- Fix VMDisconnectionException in HCR. See [PR#150](https://github.com/Microsoft/java-debug/pull/150)
## 0.6.0 - 2018-2-1
### Added
- Support hot code replace. See [PR#225](https://github.com/Microsoft/vscode-java-debug/pull/225)
## 0.5.0 - 2017-12-20
### Added
- Support step filters when stepping. See [PR#155](https://github.com/Microsoft/vscode-java-debug/pull/155)
- Support expression evaluation. See [PR#126](https://github.com/Microsoft/vscode-java-debug/pull/126), [PR#131](https://github.com/Microsoft/java-debug/pull/131)
- Publish the binaries to the maven central repository. See [PR#132](https://github.com/Microsoft/java-debug/pull/132)
### Changed
- Adopt new VSCode 1.19.0 debug activation events. See [PR#196](https://github.com/Microsoft/vscode-java-debug/pull/196)
- Looking up the stack frame's associated source file from source containers to improve searching perf. See [PR#127](https://github.com/Microsoft/java-debug/pull/127)
## 0.4.0 - 2017-11-30
### Added
- Add `stopOnEntry` and `console` options for launch.json. See [PR#177](https://github.com/Microsoft/vscode-java-debug/pull/177)
- Support console input by launching the program in the integrated/external terminal. See [PR#122](https://github.com/Microsoft/java-debug/pull/122)
- Add debugging settings: `java.debug.settings.showHex`, `java.debug.settings.showStaticVariables`, `java.debug.settings.showQualifiedNames`, `java.debug.settings.maxStringLength`. See [README](https://github.com/Microsoft/vscode-java-debug/README.md) for details
- Support project scope when resolving multiple-root project. See [PR#174](https://github.com/Microsoft/vscode-java-debug/pull/174)
### Fixed
- Fix single file build issue. See [Issue#167](https://github.com/Microsoft/vscode-java-debug/issues/167)
- Fix perf issue when debugging with "stopOnEntry". See [PR#115](https://github.com/Microsoft/java-debug/pull/115)
## 0.3.1 - 2017-11-17
### Fixed
- Fix the unable to start debugging issue[Issue#146](https://github.com/Microsoft/vscode-java-debug/issues/146)
## 0.3.0 - 2017-11-10
### Added
- Support debugging java 9 project. See [Issue#47](https://github.com/Microsoft/vscode-java-debug/issues/47)
- Support debugging standalone java file. See [Issue#94](https://github.com/Microsoft/vscode-java-debug/issues/94)
- Support "cwd" and "env" in launch.json. See [Issue#12](https://github.com/Microsoft/vscode-java-debug/issues/12), [Issue#75](https://github.com/Microsoft/vscode-java-debug/issues/75)
### Changed
- Build workspace before starting debugger. See [Issue#32](https://github.com/Microsoft/vscode-java-debug/issues/32)
- Show progress when initializing the launch.json. See [PR#106](https://github.com/Microsoft/vscode-java-debug/pull/106)
- Get debug settings from VSCode user preferences. See [PR#135](https://github.com/Microsoft/vscode-java-debug/pull/135),[PR#94](https://github.com/Microsoft/java-debug/pull/94)
### Fixed
- Fix perf issue on getting locations of breakpoint. See [Issue#49](https://github.com/Microsoft/java-debug/issues/49)
- Show warning message when the debugger and the debuggee run in the different versions of JVMs. See [Issue#30](https://github.com/Microsoft/vscode-java-debug/issues/30)
## 0.2.0 - 2017-10-20
### Added
- Automatically resolve the main class during launching. See [Issue#9](https://github.com/Microsoft/vscode-java-debug/issues/9)
- Fully support external source files together with the changes from VSCode. See [PR#58](https://github.com/Microsoft/java-debug/pull/58)
### Changed
- Adopt the new DebugConfigurationProvider protocol of VS Code. See [PR#87](https://github.com/Microsoft/vscode-java-debug/pull/87)
- Display the function names in the format of ClassName.MethodName(Parameter List...).. See [PR#73](https://github.com/Microsoft/java-debug/pull/73)
- Improve the call stack display info for the files without sources. See [PR#72](https://github.com/Microsoft/java-debug/pull/72)
### Fixed
- Fix the inconsistent URI issue when set breakpoint request. See [PR#84](https://github.com/Microsoft/java-debug/pull/84)
- Avoid two stopped events for step and breakpoint. See [Issue#14](https://github.com/Microsoft/vscode-java-debug/issues/14)
- Fix the issue that JDT search might return multiple results from the same project. See [Issue#21](https://github.com/Microsoft/java-debug/issues/21)
- Avoid send error messages after debugger adapter stopped. See [PR#75](https://github.com/Microsoft/java-debug/pull/75)
- Fix several exception cases. See [PR#64](https://github.com/Microsoft/java-debug/pull/62), [PR#67](https://github.com/Microsoft/java-debug/pull/67), [PR#74](https://github.com/Microsoft/java-debug/pull/74)
## 0.1.0 - 2017-09-27
### Added
- Launch/Attach
- Breakpoints
- Exceptions
- Pause & Continue
- Step In/Out/Over
- Variables
- Callstacks
- Threads
- Debug console

View file

@ -1,355 +0,0 @@
# Java Debug Configuration
## Table of Contents
* [Auto generate the launch.json](#auto-generate-the-launchjson)
* [Modify the launch.json](#modify-the-launchjson)
* [Main](#main)
* mainClass
* projectName
* [Arguments](#arguments)
* args
* vmArgs
* [Environment](#environment)
* console
* env
* [Don't step into the specified classes or methods](#dont-step-into-the-specified-classes-or-methods)
* stepFilters
* [Attach to a debuggee](#attach-to-a-debuggee)
* hostName
* port
* [Attach to mvn task](#attach-to-mvn-task)
* [Attach to embedded maven tomcat server](#attach-to-embedded-maven-tomcat-server)
* [Use javac as the builder and attach to java process](#use-javac-as-the-builder-and-attach-to-java-process)
* [Modify the settings.json (User Setting)](#modify-the-settingsjson-user-setting)
* java.debug.settings.console
* java.debug.settings.forceBuildBeforeLaunch
* java.debug.settings.hotCodeReplace
* java.debug.settings.enableRunDebugCodeLens
* [FAQ](#faq)
The debugger provides two kinds of configuration: *launch.json* and *settings.json* (User Settings), see the [README](https://github.com/Microsoft/vscode-java-debug#options) for the supported configuration list. launch.json is used to control the configuration per debug session, and the user setting is shared by the whole workspace or VS Code.
## Auto generate the launch.json
When you run the program via `Run|Debug` CodeLens or `Run`/`Debug` context menu, the debugger automatically generates the launching configuration for you.
![runMenu](https://user-images.githubusercontent.com/14052197/67181889-715bb380-f410-11e9-9aef-c27ce697daa0.gif)
## Modify the launch.json
On the other hand, the debugger provides multiple configuration templates to help you to easily add a new configuration. When you type `"java"` or `""` in launch.json, it will trigger auto-completion suggestions.
![launchConfig](https://user-images.githubusercontent.com/14052197/67182212-3908a500-f411-11e9-9467-48ba2f6e0e39.gif)
In case you want to manually edit the configuration, below are the explanation and samples about the common debug configurations.
### Main
* `mainClass` - mainClass is used to define your program entry, and it's the most important configuration. The debugger provides three options to help you configure this key, see the samples below.
* `"mainClass": ""`
If you have no idea about what to set here, just leave it empty. The debugger will search all possible main classes from the workspace, then prompt you the list to choose for launch.
![emptyMainClass](https://user-images.githubusercontent.com/14052197/67261011-25bd0e80-f4d1-11e9-966d-3e82a4e261ce.gif)
* `"mainClass": "${file}"`
If you have multiple main Java files, use this to auto switch to your current focus program. The debugger will resolve the main class from current active Java file, and set it as the launching main class.
![currentFile](https://user-images.githubusercontent.com/14052197/67183367-d7960580-f413-11e9-9773-7df735710054.gif)
* `"mainClass": "com.microsoft.app.myApp"`
The fully qualified class name, generally it's filled by the debugger's auto generation.
![mainClass](https://user-images.githubusercontent.com/14052197/67190742-17181e00-f423-11e9-98ab-1c568f220ba7.gif)
* `projectName` - The preferred project in which the debugger searches for classes. It's required for the evaluation feature. Most of the time, the debugger will auto generate the configuration for you. In case you want to manually configure it, here are the rules.
* When you open a maven project, the project name is the `artifactId`.
* When you open a gradle project, the project name is the `baseName` or the root folder name.
* When you open other Java files, leave the launch.json empty and allow the debugger auto generates the project name for you.
Pro Tip: The easiest way to get the project name is to install [Java Dependency Viewer](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-dependency) extension, the top node in the JAVA DEPENDENCIES view is your project name.
![java-dependency-viewer](https://user-images.githubusercontent.com/14052197/67185034-7cfea880-f417-11e9-8a3b-a3af1a9e86bb.png)
### Arguments
* `args` - Program arguments which are used to pass application configuration to your program, and they are accessible via "args" String array parameter in your main method `public static void main(String[] args)`. It accepts three kinds of value, see the samples below.
* `"args": "arg0 arg1"`
Space separated String value.
![programArgs](https://user-images.githubusercontent.com/14052197/67191536-5abf5780-f424-11e9-9664-6cc5805225bb.gif)
* `"args": ["arg0", "arg1"]`
An array of String.
* `"args": "${command:SpecifyProgramArgs}"`
The debugger will prompt you with an input box to type the args value before launching the program. This is convenient when you have a program running against multiple data set.
![specifyArgs](https://user-images.githubusercontent.com/14052197/67191890-0ff20f80-f425-11e9-8df2-5fd98e61c204.gif)
* `vmArgs` - VM arguments are used to configure JVM options and platform properties. Most of these arguments have a prefix (-D, -X, -XX). For example, *-Xms256m* arguments defines the initial Java heap size to 256MB. And you can also use *-DpropertyName=propertyValue* to configure system properties for your program. These properties are read via API *System.getProperty(propertyName)*. It accepts a String or an array of String, see the samples below.
* `"vmArgs": "-Xms256m -Xmx1g -Dserver=production"`
Space separated String value.
* `"vmArgs": ["-Xms256m", "-Xmx1g", "-Dserver=production"]`
An array of String.
### Environment
- `console` - The specified console to launch the current program. Current default value is `integratedTerminal`. You could customize it via the global user setting `java.debug.settings.console` for the whole workspace, or `console` in launch.json for each debug session. The `console` option in launch.json (if provided) takes precedence over `java.debug.settings.console` in user settings.
* `"console": "internalConsole"`
VS Code debug console (input stream not supported). If you're developing backend application, `internalConsole` is recommended.
![internalConsole](https://user-images.githubusercontent.com/14052197/67193516-fef6cd80-f427-11e9-8a97-9014470c3a4d.gif)
* `"console": "integratedTerminal"`
VS Code integrated terminal. If you're developing console application with io input requirements, you must use the terminal to accept user input. For example, use *Scanner* class for user input.
![integratedTerminal](https://user-images.githubusercontent.com/14052197/67195762-251e6c80-f42c-11e9-89d0-9545560beea9.gif)
* `"console": "externalTerminal"`
External terminal that can be configured in user settings. The user scenario is same as integrated terminal. The difference is opening an external terminal window to run your program.
![externalTerminal](https://user-images.githubusercontent.com/14052197/67196194-eccb5e00-f42c-11e9-9d4c-6baa5eec18bc.gif)
- `env` - The extra environment variables for the program. It's accessible via `System.getenv(key)`. It accepts key-value pairs.
```json
"env": {
"HOST": "127.0.0.1",
"PORT": 8080
}
```
### Don't step into the specified classes or methods
- `stepFilters` - Skip the specified classes or methods you don't want to step into. Class names should be fully qualified. Wildcard is supported.
- Skip the class loader.
```json
"stepFilters": {
"classNameFilters": [
"java.lang.ClassLoader",
]
}
```
![skipClassLoader](https://user-images.githubusercontent.com/14052197/67254877-ff3bab00-f4b1-11e9-8da0-22b49935bd57.gif)
- Skip the JDK classes.
```json
"stepFilters": {
"classNameFilters": [
"java.*",
"javax.*",
"com.sun.*",
"sun.*",
"sunw.*",
"org.omg.*"
]
}
```
![skipJDK](https://user-images.githubusercontent.com/14052197/67255028-9dc80c00-f4b2-11e9-9113-bef0c0bdf5cb.gif)
- Skip the constructors and the synthetic methods.
```json
"stepFilters": {
"skipSynthetics": true,
"skipStaticInitializers": true,
"skipConstructors": true
}
```
![skipMethods](https://user-images.githubusercontent.com/14052197/67255209-83daf900-f4b3-11e9-8533-70f6ff941e8d.gif)
### Attach to a debuggee
- `hostName` - The host name or ip address of the debuggee you want to attach.
- `port` - The port of the debuggee you want to attach.
Before attaching to a debuggee, your debuggee program must be started with debug mode. The standard command line for debug mode is like `java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -cp bin MyApp`, and then the debug port of your debuggee is *5005*.
```json
{
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": 5005
}
```
In some cases, you may want to start your program with the external builder and launcher, then you can configure these jobs in [tasks.json](https://code.visualstudio.com/docs/editor/tasks) and attach to it. For example, launching springboot application via mvn command, and then attach a debugger.
#### Attach to mvn task
1) Configure your command in .vscode/tasks.json - The mvn task is a background task, you should use *problemMatcher* filter to tell VS Code it's ready.
```json
{
"label": "mvnDebug",
"type": "shell",
"command": "mvn spring-boot:run -Dspring-boot.run.jvmArguments=\"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005\"",
"isBackground": true,
"problemMatcher": [{
"pattern": [{
"regexp": "\\b\\B",
"file": 1,
"location": 2,
"message": 3
}],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Attaching agents:.*",
"endsPattern": "^.*Listening for transport dt_socket at address.*"
}
}]
}
```
2) Configure `preLaunchTask` and the debug port in .vscode/launch.json.
```json
{
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": 5005,
"preLaunchTask": "mvnDebug"
}
```
3) <b>F5</b> will launch the mvn task, and attach the debugger. See the demo.
![attachToMvn](https://user-images.githubusercontent.com/14052197/67262705-4f2d6880-f4d8-11e9-9e2d-9c35a6613c08.gif)
#### Attach to embedded maven tomcat server
- pom.xml sample for embedded tomcat server.
```xml
...
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
...
```
- The steps to attach to the embedded maven tomcat server.
1) Use .vscode/tasks.json to configure *run-tomcat* and *stop-tomcat* tasks.
```json
{
"version": "2.0.0",
"tasks": [
{
"label": "run-tomcat",
"type": "shell",
"command": "MAVEN_OPTS=\"$MAVEN_OPTS -agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n\" ./mvnw tomcat7:run",
"group": "build",
"isBackground": true,
"problemMatcher": [{
"pattern": [{
"regexp": "\\b\\B",
"file": 1,
"location": 2,
"message": 3
}],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Listening for",
"endsPattern": "^.*transport dt_socket at address.*"
}
}]
},
{
"label": "stop-tomcat",
"type": "shell",
"command": "echo ${input:terminate}}",
"problemMatcher": []
}
],
"inputs": [
{
"id": "terminate",
"type": "command",
"command": "workbench.action.tasks.terminate",
"args": "run-tomcat"
}
]
}
```
2) Use .vscode/launch.json to configure the attach configuration. Use `preLaunchTask` to run tomcat before the attach, and `postDebugTask` to stop tomcat after the debug ends.
```json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": 5005,
"preLaunchTask": "run-tomcat",
"postDebugTask": "stop-tomcat"
}
]
}
```
3) <b>F5</b> will auto start the tomcat server and attach the debugger. The demo below will show how to debug spring mvc in tomcat.
![attachToEmbeddedTomcat](https://user-images.githubusercontent.com/14052197/67541153-80957680-f71a-11e9-9d59-e9aaa752fe33.gif)
> If you want to try to debug your Java webapps in a standalone tomcat server, please try VS Code [Tomcat for Java](https://marketplace.visualstudio.com/items?itemName=adashen.vscode-tomcat) extension.
> If you want to try to debug embedded tomcat server with gradle plugin, see the [gradle sample](https://github.com/microsoft/vscode-java-debug/issues/140#issuecomment-343656398).
#### Use javac as the builder and attach to java process
1) Configure the javac builder and java runner jobs in .vscode/tasks.json.
```json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "javac -g -sourcepath ./**/*.java -d ./bin"
},
{
"label": "debug",
"dependsOn": "build",
"type": "shell",
"command": "java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -cp bin app.SimpleCalc",
"isBackground": true,
"problemMatcher": [{
"pattern": [{
"regexp": "\\b\\B",
"file": 1,
"location": 2,
"message": 3
}],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Listening for",
"endsPattern": "^.*transport dt_socket at address.*"
}
}]
}
]
}
```
2) Configure `preLaunchTask` and the debug port in .vscode/launch.json.
```json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": 5005,
"preLaunchTask": "debug"
}
]
}
```
3) <b>F5</b> will run the tasks and attach the debugger. See the demo.
![attachToJava](https://user-images.githubusercontent.com/14052197/67263956-3cb52e00-f4dc-11e9-9c78-6e66cb3d7c2b.gif)
## Modify the settings.json (User Setting)
- `java.debug.settings.console` - The specified console to launch Java program, defaults to `integratedTerminal`. If you want to customize the console for a specific debug session, please use `console` option in launch.json instead.
![terminal](https://user-images.githubusercontent.com/14052197/67256063-cf8fa180-f4b7-11e9-9455-77daad2f0ec9.gif)
- `java.debug.settings.forceBuildBeforeLaunch` - Force building the workspace before launching java program, defaults to `true`. Sometimes you may be bothered with the message *"Build failed, do you want to continue?"*, you could disable this setting to suppress the message.
- `java.debug.settings.hotCodeReplace` - Reload the changed Java classes during debugging, defaults to `manual`. It supports `manual`, `auto`, `never`.
- `manual` - Click the toolbar to apply the changes.
![hcr](https://user-images.githubusercontent.com/14052197/67256313-f5697600-f4b8-11e9-9db6-54540b6350ad.png)
- `auto` - Automatically apply the changes after saved.
- `never` - Never apply the changes.
- `java.debug.settings.enableRunDebugCodeLens` - Enable the code lens provider for the *Run* and *Debug* buttons over main entry points, defaults to `true`.
- `true` - Show the code lens.
![codelens](https://user-images.githubusercontent.com/14052197/67256585-83922c00-f4ba-11e9-883f-2b3de3db2dfa.png)
- `false` - Show the Run/Debug link in the hover.
![hover](https://user-images.githubusercontent.com/14052197/67256539-2ac29380-f4ba-11e9-8a5b-e5e1d0a27f0e.png)
## FAQ
### 1. No way to take input.
If you are using *Scanner(System.in)* to get the user input, you need change the user setting `java.debug.settings.console` to `integratedTerminal` or `externalTerminal`.
### 2. Code output is not in the DEBUG CONSOLE panel but Terminal.
By default, the debugger uses the terminal to launch your program for better accepting user input. And you will see the original command line is displayed at the top of the terminal. If you want a cleaner console to show your code output, you could try to change the user setting `java.debug.settings.console` to `internalConsole`. Please notice that the internal console (VS Code built-in DEBUG CONSOLE) doesn't support user input.
### 3. The classpath changed when using terminal.
In order to avoid the command line being too long, the debugger will shorten your classpath into classpath.jar (for JDK 8 only) or argsfile (for JDK 9 and above) by default. If your program need read the original classpath value (for example, *System.getProperty("java.class.path")*), you could try to change the console to `internalConsole`, or use a higher JDK (9 and above) to launch your program.
### 4. Failed to launch debuggee in terminal with TransportTimeoutException.
When launching failed in terminal, then you could try to change the user setting `java.debug.settings.console` to `internalConsole`.

View file

@ -1,17 +0,0 @@
------------------------------------------ START OF LICENSE -----------------------------------------
vscode-java-debug
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
----------------------------------------------- END OF LICENSE ------------------------------------------

View file

@ -1,126 +0,0 @@
# Debugger for Java
[![Gitter](https://badges.gitter.im/Microsoft/vscode-java-debug.svg)](https://gitter.im/Microsoft/vscode-java-debug)
[![Travis CI](https://travis-ci.org/Microsoft/vscode-java-debug.svg?branch=master)](https://travis-ci.org/Microsoft/vscode-java-debug)
## Overview
A lightweight Java Debugger based on [Java Debug Server](https://github.com/Microsoft/java-debug) which extends the [Language Support for Java by Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.java). It allows users to debug Java code using Visual Studio Code (VS Code). Here's a list of features:
- Launch/Attach
- Breakpoints/Conditional Breakpoints/Logpoints
- Exceptions
- Pause & Continue
- Step In/Out/Over
- Variables
- Callstacks
- Threads
- Debug console
- Evaluation
- Hot Code Replace
## Requirements
- JDK (version 1.8.0 or later)
- VS Code (version 1.19.0 or later)
- [Language Support for Java by Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.java) (version 0.14.0 or later)
## Install
Open VS Code and press `F1` or `Ctrl + Shift + P` to open command palette, select **Install Extension** and type `vscode-java-debug`.
Or launch VS Code Quick Open (`Ctrl + P`), paste the following command, and press enter.
```bash
ext install vscode-java-debug
```
## Use
- Launch VS Code
- Open a Java project (Maven/Gradle/Eclipse)
- Open a Java file to activate the extensions
- Add debug configurations and edit launch.json
- To launch: specify `mainClass`
- To attach: specify `hostName` and `port`
- Press F5
Please also check the documentation of [Language Support for Java by Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.java) if you have trouble setting up your project.
## Options
### Launch
- `mainClass` (required) - The fully qualified class name (e.g. [java module name/]com.xyz.MainApp) or the java file path of the program entry.
- `args` - The command line arguments passed to the program. Use `"${command:SpecifyProgramArgs}"` to prompt for program arguments. It accepts a string or an array of string.
- `sourcePaths` - The extra source directories of the program. The debugger looks for source code from project settings by default. This option allows the debugger to look for source code in extra directories.
- `modulePaths` - The modulepaths for launching the JVM. If not specified, the debugger will automatically resolve from current project.
- `classPaths` - The classpaths for launching the JVM. If not specified, the debugger will automatically resolve from current project.
- `encoding` - The `file.encoding` setting for the JVM. If not specified, 'UTF-8' will be used. Possible values can be found in https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html.
- `vmArgs` - The extra options and system properties for the JVM (e.g. -Xms\<size\> -Xmx\<size\> -D\<name\>=\<value\>), it accepts a string or an array of string.
- `projectName` - The preferred project in which the debugger searches for classes. There could be duplicated class names in different projects. This setting also works when the debugger looks for the specified main class when launching a program. It is required when the workspace has multiple java projects, otherwise the expression evaluation and conditional breakpoint may not work.
- `cwd` - The working directory of the program. Defaults to `${workspaceFolder}`.
- `env` - The extra environment variables for the program.
- `stopOnEntry` - Automatically pause the program after launching.
- `console` - The specified console to launch the program. If not specified, use the console specified by the `java.debug.settings.console` user setting.
- `internalConsole` - VS Code debug console (input stream not supported).
- `integratedTerminal` - VS Code integrated terminal.
- `externalTerminal` - External terminal that can be configured in user settings.
- `shortenCommandLine` - When the project has long classpath or big VM arguments, the command line to launch the program may exceed the maximum command line string limitation allowed by the OS. This configuration item provides multiple approaches to shorten the command line. Defaults to `auto`.
- `none` - Launch the program with the standard command line 'java [options] classname [args]'.
- `jarmanifest` - Generate the classpath parameters to a temporary classpath.jar file, and launch the program with the command line 'java -cp classpath.jar classname [args]'.
- `argfile` - Generate the classpath parameters to a temporary argument file, and launch the program with the command line 'java @argfile [args]'. This value only applies to Java 9 and higher.
- `auto` - Automatically detect the command line length and determine whether to shorten the command line via an appropriate approach.
- `stepFilters` - Skip specified classes or methods when stepping.
- `classNameFilters` - Skip the specified classes when stepping. Class names should be fully qualified. Wildcard is supported.
- `skipSynthetics` - Skip synthetic methods when stepping.
- `skipStaticInitializers` - Skip static initializer methods when stepping.
- `skipConstructors` - Skip constructor methods when stepping.
### Attach
- `hostName` (required, unless using `processId`) - The host name or IP address of remote debuggee.
- `port` (required, unless using `processId`) - The debug port of remote debuggee.
- `processId` - Use process picker to select a process to attach, or Process ID as integer.
- `${command:PickJavaProcess}` - Use process picker to select a process to attach.
- an integer pid - Attach to the specified local process.
- `timeout` - Timeout value before reconnecting, in milliseconds (default to 30000ms).
- `sourcePaths` - The extra source directories of the program. The debugger looks for source code from project settings by default. This option allows the debugger to look for source code in extra directories.
- `projectName` - The preferred project in which the debugger searches for classes. There could be duplicated class names in different projects. It is required when the workspace has multiple java projects, otherwise the expression evaluation and conditional breakpoint may not work.
- `stepFilters` - Skip specified classes or methods when stepping.
- `classNameFilters` - Skip the specified classes when stepping. Class names should be fully qualified. Wildcard is supported.
- `skipSynthetics` - Skip synthetic methods when stepping.
- `skipStaticInitializers` - Skip static initializer methods when stepping.
- `skipConstructors` - Skip constructor methods when stepping.
### User Settings
- `java.debug.logLevel`: minimum level of debugger logs that are sent to VS Code, defaults to `warn`.
- `java.debug.settings.showHex`: show numbers in hex format in "Variables" viewlet, defaults to `false`.
- `java.debug.settings.showStaticVariables`: show static variables in "Variables" viewlet, defaults to `false`.
- `java.debug.settings.showQualifiedNames`: show fully qualified class names in "Variables" viewlet, defaults to `false`.
- `java.debug.settings.showLogicalStructure`: show the logical structure for the Collection and Map classes in "Variables" viewlet, defaults to `true`.
- `java.debug.settings.showToString`: show 'toString()' value for all classes that override 'toString' method in "Variables" viewlet, defaults to `true`.
- `java.debug.settings.maxStringLength`: the maximum length of string displayed in "Variables" or "Debug Console" viewlet, the string longer than this length will be trimmed, defaults to `0` which means no trim is performed.
- `java.debug.settings.numericPrecision`: the precision when formatting doubles in "Variables" or "Debug Console" viewlet.
- `java.debug.settings.hotCodeReplace`: Reload the changed Java classes during debugging, defaults to `manual`. Make sure `java.autobuild.enabled` is not disabled for [VSCode Java](https://github.com/redhat-developer/vscode-java). See the [wiki page](https://github.com/Microsoft/vscode-java-debug/wiki/Hot-Code-Replace) for more information about usages and limitations.
- manual - Click the toolbar to apply the changes.
- auto - Automatically apply the changes after compilation.
- never - Never apply the changes.
- `java.debug.settings.enableRunDebugCodeLens`: enable the code lens provider for the run and debug buttons over main entry points, defaults to `true`.
- `java.debug.settings.forceBuildBeforeLaunch`: force building the workspace before launching java program, defaults to `true`.
- `java.debug.settings.console`: The specified console to launch Java program, defaults to `integratedTerminal`. If you want to customize the console for a specific debug session, please modify the 'console' config in launch.json.
- `internalConsole` - VS Code debug console (input stream not supported).
- `integratedTerminal` - VS Code integrated terminal.
- `externalTerminal` - External terminal that can be configured in user settings.
Pro Tip: The documentation [Configuration.md](https://github.com/microsoft/vscode-java-debug/blob/master/Configuration.md) provides lots of samples to demonstrate how to use these debug configurations, recommend to take a look.
## Troubleshooting
Reference the [troubleshooting guide](https://github.com/Microsoft/vscode-java-debug/blob/master/Troubleshooting.md) for common errors.
## Feedback and Questions
You can find the full list of issues at [Issue Tracker](https://github.com/Microsoft/vscode-java-debug/issues). You can submit a [bug or feature suggestion](https://github.com/Microsoft/vscode-java-debug/issues/new), and participate community driven [![Gitter](https://badges.gitter.im/Microsoft/vscode-java-debug.svg)](https://gitter.im/Microsoft/vscode-java-debug)
## License
This extension is licensed under [MIT License](https://github.com/Microsoft/vscode-java-debug/blob/master/LICENSE.txt).
## Data/Telemetry
VS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our [privacy statement](https://go.microsoft.com/fwlink/?LinkID=528096&clcid=0x409) to learn more. If you don't wish to send usage data to Microsoft, you can set the `telemetry.enableTelemetry` setting to `false`. Learn more in our [FAQ](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting).

View file

@ -1,138 +0,0 @@
# Troubleshooting
This document provides the information needed to troubleshoot common errors of Debugger for Java (the debugger). If it does not cover the problem you are seeing, please [log an issue](https://github.com/Microsoft/vscode-java-debug/issues) instead.
## Java Language Support extension fails to start.
The debugger works with [Language Support for Java(TM) by Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.java) (the language server) for source mapping and project support. If the language server fails to start, the debugger will not work as expected. Here is a simple way to check whether the language server is started. Open a .java or a Java project folder in VS Code, and then check the icon at the right side of the status bar. You should see the 👍 icon if the language server is loaded correctly.
![status indicator](https://raw.githubusercontent.com/redhat-developer/vscode-java/master/images/statusMarker.png).
### Try:
1. If you get the error *"The JAVA_HOME environment variable points to a missing folder"* or *"Java runtime could not be located"*, please make sure that the environment variable JAVA_HOME points to a valid JDK. Otherwise, ignore this step.
2. Open your Maven *pom.xml* file or Gradle *build.gradle* file, then run VS Code command *"Java: Update project configuration"* to force the language server to update the project configuration/classpath.
3. Run VS Code command *"Java: Clean the Java language server workspace"* to clean the stale workspace cache.
4. Try more [troubleshooting guide](https://github.com/redhat-developer/vscode-java/wiki/Troubleshooting) from the language server product site.
## Build failed, do you want to continue?
### Reason:
The error indicates your workspace has build errors. There are two kinds of build errors. One is compilation error for source code, the other is project error.
### Try:
1. Open VS Code PROBLEMS View, and fix the errors there.
2. Run VS Code command *"Java: Open Java language server log file"*, search keyword `build/building workspace` to find more details for the build errors.
3. If still cannot find out what errors, then reference the [language server troubleshooting](#try) paragraph to [2]update project configuration, and [3]clean workspace cache.
## x.java isn't on the classpath. Only syntax errors will be reported
### Reason:
This error indicates the Java file you opened isn't on the classpath of any project, and no .class file will be generated because Java language server only auto builds Java source files on the project classpath. If you try to run or debug this Java file, you may get the error "Could not find or load main class".
### Try:
1. Go to *File Explorer*, right click the folder containing your Java file, and run the menu *"Add Folder to Java Source Path"* to mark the containing folder as a Java source root.
2. Run VS Code command *"Java: List all Java source paths"* to check whether the containing folder is added as a Java source root.
## Program Error: Could not find or load main class x
### Reason:
You configure the incorrect main class name in `mainClass` of *launch.json*, or your Java file is not on the classpath.
### Try:
1. Check whether the class name specified in `mainClass` exists and is in the right form.
2. Run VS Code command *"Java: List all Java source paths"* to show all source paths recognized by the workspace.
3. Check the Java file you are running is under any source path? If not, go to *File Explorer*, right click the folder containing your Java file, and run the menu *"Add Folder to Java Source Path"* to mark the containing folder as a Java source root.
4. Run VS Code command *"Java: Force Java compilation"* to rebuild your workspace.
5. If the problem persists, it's probably because the language server doesn't load your project correctly. Please reference the [language server troubleshooting](#try) paragraph for more troubleshooting info.
## Program throws ClassNotFoundException
### Reason:
This error indicates your application attempts to reference some classes which are not found in the entire classpaths.
### Try:
1. Check whether you configure the required libraries in the dependency settings file (e.g. *pom.xml*).
2. If you have recently modified the *pom.xml* or *build.gradle* config file, you need right click on *pom.xml* or *build.gradle* file and then run the menu *"Update project configuration"* to force the language server to update the project configuration/classpath.
3. Run VS Code command *"Java: Force Java compilation"* to force the language server to rebuild the current project.
4. If the problem persists, it's probably because the language server doesn't load your project correctly. Please reference the [language server troubleshooting](#try) paragraph for more troubleshooting info.
## Program throws UnsupportedClassVersionError
Below is a typical error message.
![image](https://user-images.githubusercontent.com/14052197/78854443-ed47c780-7a53-11ea-8317-d8b097dfba99.png)
### Reason:
The compiled classes are not compatible with the runtime JDK.
The class file version `57.65535` stands for Java 13 preview, where the major version `57` stands for Java 13, the minor version `65535` stands for preview feature. Similarly `58.65535` stands for Java 14 preview.
The error says the compiled class is `57.65535`, but the runtime JDK only recognizes class file versoin `58.65535`. That's because the preview feature is not backward compatible, i.e. JVM 14 doesn't support 13 preview feature. The [openjdk](https://openjdk.java.net/jeps/12) website has claimed the reason that it would be costly for JDK 14 to support preview features from JDK 13 which were changed or dropped in response to feedback.
One possible root cause for this error is your runtime JDK is the latest JDK but the upstream [Language Support for Java](https://marketplace.visualstudio.com/items?itemName=redhat.java) extension doesn't catch up the support yet.
### Try:
1. Try to update [Language Support for Java](https://marketplace.visualstudio.com/items?itemName=redhat.java) to the latest, and then try step 3 to rebuild the workspace.
2. If it doesn't work, then try to install an older JDK version, set its installation folder to "java.home" user setting in _.vscode/settings.json_ and reopen your VS Code workspace.
3. Click **F1** -> **Java: Force Java compilation** -> **Full** to rebuild the workspace.
4. If it still doesn't work, then try **F1** -> **Java: Clean the Java language server workspace** to clean the cache.
## Failed to complete hot code replace:
### Reason:
This error indicates you are doing `Hot Code Replace`. The `Hot Code Replace` feature depends on the underlying JVM implementation. If you get this error, that indicates the new changes cannot be hot replaced by JVM.
### Try:
1. Check the HCR limitation from the [wiki](https://github.com/microsoft/vscode-java-debug/wiki/Hot-Code-Replace).
2. Restart your application to apply the new changes. Or ignore the message, and continue to debug.
3. You can disable the hot code replace feature by changing the user setting `"java.debug.settings.hotCodeReplace": "never"`.
## Please specify the host name and the port of the remote debuggee in the launch.json.
### Reason:
This error indicates you are debugging a remote Java application. The reason is that you don't configure the remote machine's host name and debug port correctly.
### Try:
1. Check whether the remote Java application is launched in debug mode. The typical command to enable debug mode is like *"java -agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n -classpath \<classpath list\> MyMainClass"*, where the parameter *"address=5005"* represents the target JVM exposes *5005* as the debug port.
2. Check the debug port is not blocked by the remote machine's firewall.
## Failed to evaluate. Reason: Cannot evaluate because the thread is resumed.
### Reason:
There are two possible reasons for this error.
- Reason 1: you try to evaluate an expression when the target thread is running. Evaluation only works when your program is on suspend, for example, stopping at a breakpoint or stepping in/out/over.
- Reason 2: you take the VS Code DEBUG CONSOLE view for program input by mistake. DEBUG CONSOLE only accepts input for evaluation, not for program console input.
### Try:
1. For Reason 1, try to add a breakpoint and stop your program there, then evaluate the expression.
2. For Reason 2, try to change the `console` option in the *launch.json* to `externalTerminal` or `integratedTerminal`. This is the official solution for program console input.
## Cannot find a class with the main method
### Reason:
When the `mainClass` is unconfigured in the *launch.json*, the debugger will resolve a class with main method automatically. This error indicates the debugger doesn't find any main class in the whole workspace.
### Try:
1. Check at least one main class exists in your workspace.
2. If no main class exists, please create a main class first. Otherwise, it's probably because the language server fails to start. Please reference the [language server troubleshooting](#try) paragraph for more troubleshooting info.
## No delegateCommandHandler for vscode.java.startDebugSession when starting Debugger
### Reason:
Cause of error is for now unknown, but something caused vscode java support and debugger to not be configured correctly.
### Try:
1. Restart VS Code and the issue should disappear
2. If it continues to error try restart again, and if still a problem open an issue at [vscode-java-debug](https://github.com/Microsoft/vscode-java-debug)
## Failed to resolve classpath:
### Reason:
Below are the common failure reasons.
- 'C:\demo\com\microsoft\app\Main.java' is not a valid class name.
- Main class 'com.microsoft.app.Main' doesn't exist in the workspace.
- Main class 'com.microsoft.app.Main' isn't unique in the workspace.
- The project 'demo' is not a valid java project.
In launch mode, the debugger resolves the classpaths automatically based on the given `mainClass` and `projectName`. It looks for the class specified by `mainClass` as the entry point for launching an application. If there are multiple classes with the same name in the current workspace, the debugger uses the one inside the project specified by `projectName`.
### Try:
1. Check whether the class name specified in `mainClass` exists and is in the right form. The debugger only works with fully qualified class names, e.g. `com.microsoft.app.Main`.
2. Check whether the `projectName` is correct. The actual project name is not always the same to the folder name you see in the File Explorer. Please check the value specified by `projectDescription/name` in the *.project* file, or the `artificatId` in the *pom.xml* for maven project, or the folder name for gradle project.
3. If the problem persists, please try to use the debugger to regenerate the debug configurations in *launch.json*. Remove the existing *launch.json* file and press F5. The debugger will automatically generate a new *launch.json* with the right debug configurations.
## Request type "xyz" is not supported. Only "launch" and "attach" are supported.
### Reason:
The value specified in `request` option of *launch.json* is incorrect.
### Try:
1. Reference the VS Code official document [launch configurations](https://code.visualstudio.com/docs/editor/debugging#_launch-configurations) about how to configure *launch.json*.
2. Try to use the debugger to regenerate the debug configurations in *launch.json*. Remove the existing *launch.json* file and press F5. The debugger will automatically generate a new *launch.json* with the right debug configurations.

File diff suppressed because one or more lines are too long

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
<style type="text/css">
.st0{fill:#F3A600;}
</style>
<title>lightning</title>
<desc>Created with Sketch.</desc>
<g id="lightning">
<path id="Combined-Shape" class="st0" d="M15,12l9,1l-9,19V20l-9-1l9-19V12z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View file

@ -1,626 +0,0 @@
{
"name": "vscode-java-debug",
"displayName": "Debugger for Java",
"description": "A lightweight Java debugger for Visual Studio Code",
"version": "0.26.0",
"publisher": "vscjava",
"preview": true,
"aiKey": "26e39823-0967-4af2-acc9-4d111ffda880",
"icon": "logo.png",
"keywords": [
"java",
"debug",
"debugging",
"debugger"
],
"engines": {
"vscode": "^1.38.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:java.debug.runJavaFile",
"onCommand:java.debug.debugJavaFile"
],
"main": "./dist/extension",
"contributes": {
"breakpoints": [
{
"language": "java"
}
],
"javaExtensions": [
"./server/com.microsoft.java.debug.plugin-0.26.0.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"
},
{
"command": "java.debug.debugJavaFile",
"title": "Debug"
},
{
"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"
}
],
"menus": {
"explorer/context": [
{
"command": "java.debug.runJavaFile",
"when": "resourceExtname == .java",
"group": "javadebug@1"
},
{
"command": "java.debug.debugJavaFile",
"when": "resourceExtname == .java",
"group": "javadebug@2"
}
],
"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"
}
],
"debug/toolBar": [
{
"command": "java.debug.hotCodeReplace",
"group": "navigation@100",
"when": "inDebugMode && debugType == java && javaHotReload == 'manual'"
}
],
"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"
}
]
},
"debuggers": [
{
"type": "java",
"label": "Java",
"languages": [
"java"
],
"variables": {
"SpecifyProgramArgs": "JavaDebug.SpecifyProgramArgs"
},
"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": ""
},
"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": {
"type": "string"
},
"description": "%java.debugger.launch.modulePaths.description%",
"default": []
},
"classPaths": {
"type": "array",
"items": {
"type": "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": {}
},
"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": {
"classNameFilters": [
"java.*",
"javax.*",
"com.sun.*",
"sun.*",
"sunw.*",
"org.omg.*"
],
"skipSynthetics": false,
"skipStaticInitializers": false,
"skipConstructors": false
},
"properties": {
"classNameFilters": {
"type": "array",
"description": "%java.debugger.launch.classNameFilters.description%",
"item": {
"type": "string"
},
"default": [
"java.*",
"javax.*",
"com.sun.*",
"sun.*",
"sunw.*",
"org.omg.*"
]
},
"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",
"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": {
"classNameFilters": [
"java.*",
"javax.*",
"com.sun.*",
"sun.*",
"sunw.*",
"org.omg.*"
],
"skipSynthetics": false,
"skipStaticInitializers": false,
"skipConstructors": false
},
"properties": {
"classNameFilters": {
"type": "array",
"description": "%java.debugger.launch.classNameFilters.description%",
"item": {
"type": "string"
},
"default": [
"java.*",
"javax.*",
"com.sun.*",
"sun.*",
"sunw.*",
"org.omg.*"
]
},
"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": "Debug (Launch)",
"request": "launch",
"mainClass": ""
}
},
{
"label": "Java: Launch Program in External Terminal",
"description": "%java.debugger.snippet.launchInExternalTerminal.description%",
"body": {
"type": "java",
"name": "Debug (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": "Debug (Launch) - Current File",
"request": "launch",
"mainClass": "^\"\\${file}\""
}
},
{
"label": "Java: Launch Program with Arguments Prompt",
"description": "%java.debugger.snippet.launchWithArgumentsPrompt.description%",
"body": {
"type": "java",
"name": "Debug (Launch) with Arguments Prompt",
"request": "launch",
"mainClass": "",
"args": "^\"\\${command:SpecifyProgramArgs}\""
}
},
{
"label": "Java: Attach",
"description": "%java.debugger.snippet.attach.description%",
"body": {
"type": "java",
"name": "Debug (Attach)",
"request": "attach",
"hostName": "localhost",
"port": "<debug port of the debuggee>"
}
},
{
"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": "Debug (Attach) - Remote",
"request": "attach",
"hostName": "<The host name or ip address of remote debuggee>",
"port": "<debug port of remote debuggee>"
}
}
]
}
],
"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.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"
}
}
}
},
"scripts": {
"vscode:prepublish": "npm run build",
"compile": "tsc -p . && webpack --config webpack.config.js",
"watch": "webpack --config webpack.config.js --watch --info-verbosity verbose",
"build": "webpack --config webpack.config.js --mode=\"production\"",
"test": "npm run compile && node ./out/test/index.js"
},
"devDependencies": {
"@types/lodash": "^4.14.137",
"@types/mocha": "^5.2.7",
"@types/node": "^8.10.51",
"@types/vscode": "1.38.0",
"cross-env": "^5.2.0",
"gulp": "^4.0.2",
"gulp-tslint": "^8.1.4",
"mocha": "^7.1.1",
"shelljs": "^0.8.3",
"ts-loader": "^5.4.5",
"tslint": "^5.18.0",
"typescript": "^3.5.3",
"vscode-test": "^1.2.0",
"webpack": "^4.39.2",
"webpack-cli": "^3.3.7"
},
"dependencies": {
"lodash": "^4.17.15",
"vscode-extension-telemetry": "^0.1.6",
"vscode-extension-telemetry-wrapper": "^0.8.0"
}
}

View file

@ -1,9 +0,0 @@
{
"java.debugger.configuration.title": "Java Debugger",
"java.debugger.configuration.logLevel.description": "Livello dei log di debug minimo inviato a VS Code.",
"java.debugger.configuration.showHex.description": "Mostra numeri in formato esadecimale nella scheda \"variabili\".",
"java.debugger.configuration.showStaticVariables.description": "Mostra variabili statiche nella scheda \"variabili\".",
"java.debugger.configuration.showQualifiedNames.description": "Mostra nome completo delle classi nella scheda \"variabili\".",
"java.debugger.configuration.maxStringLength.description": "Lunghezza massima delle stringhe visualizzate nella scheda \"Variabili\" o \"Console di Debug\", stringhe più lunghe di questo numero verranno tagliate, se 0 nessun taglio viene eseguito.",
"java.debugger.configuration.enableRunDebugCodeLens.description": "Abilitare i provider di lenti di codice run e debug sui metodi principali."
}

View file

@ -1,53 +0,0 @@
{
"java.debugger.launch.projectName.description": "The preferred project in which the debugger searches for classes. There could be duplicated class names in different projects. This setting also works when the debugger looks for the specified main class when launching a program. It is required for expression evaluation.",
"java.debugger.launch.mainClass.description": "The fully qualified class name (e.g. [java module name/]com.xyz.MainApp) or the java file path of the program entry.",
"java.debugger.launch.args.description": "The command line arguments passed to the program.",
"java.debugger.launch.vmArgs.description": "The extra options and system properties for the JVM (e.g. -Xms<size> -Xmx<size> -D<name>=<value>).",
"java.debugger.launch.modulePaths.description": "The modulepaths for launching the JVM. If not specified, the debugger will automatically resolve from current project.",
"java.debugger.launch.classPaths.description": "The classpaths for launching the JVM. If not specified, the debugger will automatically resolve from current project.",
"java.debugger.launch.sourcePaths.description": "The extra source directories of the program. The debugger looks for source code from project settings by default. This option allows the debugger to look for source code in extra directories.",
"java.debugger.launch.encoding.description": "The file.encoding setting for the JVM. If not specified, 'UTF-8' will be used. Possible values can be found in https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html.",
"java.debugger.launch.cwd.description": "The working directory of the program. Defaults to the current workspace root.",
"java.debugger.launch.env.description": "The extra environment variables for the program.",
"java.debugger.launch.stopOnEntry.description": "Automatically pause the program after launching.",
"java.debugger.launch.internalConsole.description": "VS Code debug console (input stream not supported).",
"java.debugger.launch.integratedTerminal.description": "VS Code integrated terminal.",
"java.debugger.launch.externalTerminal.description": "External terminal that can be configured in user settings.",
"java.debugger.launch.console.description": "The specified console to launch the program.",
"java.debugger.launch.shortenCommandLine.auto": "Automatically detect the command line length and determine whether to shorten the command line via an appropriate approach.",
"java.debugger.launch.shortenCommandLine.none": "Launch the program with the standard command line 'java [options] classname [args]'.",
"java.debugger.launch.shortenCommandLine.jarmanifest": "Generate the classpath parameters to a temporary classpath.jar file, and launch the program with the command line 'java -cp classpath.jar classname [args]'.",
"java.debugger.launch.shortenCommandLine.argfile": "Generate the classpath parameters to a temporary argument file, and launch the program with the command line 'java @argfile [args]'. This value only applies to Java 9 and higher.",
"java.debugger.launch.shortenCommandLine.description": "When the project has long classpath or big VM arguments, the command line to launch the program may exceed the maximum command line string limitation allowed by the OS. This configuration item provides multiple approaches to shorten the command line.",
"java.debugger.launch.stepFilters.description": "Skip specified classes or methods when stepping.",
"java.debugger.launch.classNameFilters.description": "Skip the specified classes when stepping. Class names should be fully qualified. Wildcard is supported.",
"java.debugger.launch.skipSynthetics.description": "Skip synthetic methods when stepping.",
"java.debugger.launch.skipStaticInitializers.description": "Skip static initializer methods when stepping.",
"java.debugger.launch.skipConstructors.description": "Skip constructor methods when stepping.",
"java.debugger.attach.hostName.description": "The host name or ip address of remote debuggee.",
"java.debugger.attach.port.description": "The debug port of remote debuggee.",
"java.debugger.attach.processPicker.description": "Use process picker to select a process to attach, or Process ID as integer.",
"java.debugger.attach.processId.description": "ID of the local process to attach to.",
"java.debugger.attach.timeout.description": "Timeout value before reconnecting, in milliseconds (default to 30000ms).",
"java.debugger.attach.projectName.description": "The preferred project in which the debugger searches for classes. There could be duplicated class names in different projects.",
"java.debugger.snippet.launch.description": "Add a new configuration for launching a java program.",
"java.debugger.snippet.launchInExternalTerminal.description": "Add a new configuration for launching a java program in the external terminal.",
"java.debugger.snippet.launchCurrentFile.description": "Add a new configuration for launching current java file.",
"java.debugger.snippet.launchWithArgumentsPrompt.description": "Add a new configuration for launching a java program with arguments prompt.",
"java.debugger.snippet.attach.description": "Add a new configuration for attaching to a running java program.",
"java.debugger.snippet.attachProcess.description": "Use process picker to select a Java process to attach to.",
"java.debugger.snippet.attachRemote.description": "Add a new configuration for attaching to a remote java program.",
"java.debugger.configuration.title": "Java Debugger",
"java.debugger.configuration.logLevel.description": "Minimum level of debugger logs that are sent to VS Code.",
"java.debugger.configuration.showHex.description": "Show numbers in hex format in \"Variables\" viewlet.",
"java.debugger.configuration.showStaticVariables.description": "Show static variables in \"Variables\" viewlet.",
"java.debugger.configuration.showQualifiedNames.description": "Show fully qualified class names in \"Variables\" viewlet.",
"java.debugger.configuration.showLogicalStructure.description": "Show the logical structure for the Collection and Map classes in \"Variables\" viewlet.",
"java.debugger.configuration.showToString.description": "Show 'toString()' value for all classes that override 'toString' method in \"Variables\" viewlet.",
"java.debugger.configuration.maxStringLength.description": "The maximum length of strings displayed in \"Variables\" or \"Debug Console\" viewlet, strings longer than this length will be trimmed, if 0 no trim is performed.",
"java.debugger.configuration.numericPrecision.description": "The precision when formatting doubles in \"Variables\" or \"Debug Console\" viewlet.",
"java.debugger.configuration.hotCodeReplace.description": "Reload the changed Java classes during debugging. Make sure 'java.autobuild.enabled' is not disabled.",
"java.debugger.configuration.enableRunDebugCodeLens.description": "Enable the run and debug code lens providers over main methods.",
"java.debugger.configuration.forceBuildBeforeLaunch": "Force building the workspace before launching java program.",
"java.debugger.configuration.console": "The specified console to launch Java program. If you want to customize the console for a specific debug session, please modify the 'console' config in launch.json."
}

View file

@ -1,52 +0,0 @@
{
"java.debugger.launch.projectName.description": "调试器搜索类名时的首选工程。不同工程中可能存在重复的类名。当调试器在启动应用程序时查找指定的主类,此设置也有效。当使用表达式求值功能时,需要此配置项。",
"java.debugger.launch.mainClass.description": "主类的全名(例如[java module name /] com.xyz.MainApp或主类对应的java文件路径。",
"java.debugger.launch.args.description": "启动应用程序的命令行参数。",
"java.debugger.launch.vmArgs.description": "用于启动JVM的额外选项和系统属性例如-Xms <size> -Xmx <size> -D <name> = <value>)。",
"java.debugger.launch.modulePaths.description": "用于启动JVM的模块路径。如果未指定调试器将自动从当前工程中解析。",
"java.debugger.launch.classPaths.description": "用于启动JVM的类路径。如果未指定调试器将自动从当前工程中解析。",
"java.debugger.launch.sourcePaths.description": "应用程序的额外源代码目录。调试器默认从工程配置中查找源代码。此选项允许调试器在额外目录中查找源代码。",
"java.debugger.launch.encoding.description": "JVM的file.encoding设置。如果未指定将使用“UTF-8”。可以在http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html中找到可能的值。",
"java.debugger.launch.cwd.description": "应用程序的工作目录。默认为当前工作空间根目录。",
"java.debugger.launch.env.description": "启动应用程序时自定义的环境变量。",
"java.debugger.launch.stopOnEntry.description": "启动后自动暂停应用程序。",
"java.debugger.launch.internalConsole.description": "VS Code调试控制台不支持输入流。",
"java.debugger.launch.integratedTerminal.description": "VS Code集成终端。",
"java.debugger.launch.externalTerminal.description": "外部终端(可在用户设置中修改)。",
"java.debugger.launch.console.description": "用于启动应用程序的控制台。",
"java.debugger.launch.shortenCommandLine.auto": "自动检测命令行长度并决定是否通过适当的方法缩短命令行。",
"java.debugger.launch.shortenCommandLine.none": "使用标准命令行 'java [options] classname [args]' 启动应用程序。",
"java.debugger.launch.shortenCommandLine.jarmanifest": "将类路径参数生成到临时 classpath.jar 文件中,并使用命令行 'java -cp classpath.jar classname [args]' 启动应用程序。",
"java.debugger.launch.shortenCommandLine.argfile": "将类路径参数生成到临时 argument 文件中, 并使用命令行 'java @argfile [args]' 启动应用程序。该值仅适用于 Java 9 及以上版本。",
"java.debugger.launch.shortenCommandLine.description": "当项目具有较长的类路径或较大的VM参数时启动程序的命令行可能会超出OS允许的最大命令行字符串限制。此配置项提供了多种缩短命令行的方法。",
"java.debugger.launch.stepFilters.description": "Step时跳过指定的类或方法。",
"java.debugger.launch.classNameFilters.description": "Step时跳过指定的类。仅支持全名以及通配符。",
"java.debugger.launch.skipSynthetics.description": "Step时跳过合成方法。",
"java.debugger.launch.skipStaticInitializers.description": "Step时跳过静态初始化方法。",
"java.debugger.launch.skipConstructors.description": "Step时跳过构造函数。",
"java.debugger.attach.hostName.description": "远程调试进程所在的主机名或IP地址。",
"java.debugger.attach.port.description": "远程调试进程的调试端口。",
"java.debugger.attach.processPicker.description": "使用进程选取器选择要附加的进程或直接配置进程ID。",
"java.debugger.attach.processId.description": "要附加到的本地进程的ID。",
"java.debugger.attach.timeout.description": "重新连接前的超时值以毫秒为单位默认为30000ms。",
"java.debugger.attach.projectName.description": "调试器搜索类的首选工程。不同工程中可能存在重复的类名。",
"java.debugger.snippet.launch.description": "启动java程序。",
"java.debugger.snippet.launchInExternalTerminal.description": "在外部终端中启动java程序。",
"java.debugger.snippet.launchCurrentFile.description": "启动当前java文件中的程序。",
"java.debugger.snippet.launchWithArgumentsPrompt.description": "启动java程序时动态提示命令行参数。",
"java.debugger.snippet.attach.description": "附加到正在运行的java程序。",
"java.debugger.snippet.attachProcess.description": "使用进程选择器选择要附加的Java进程。",
"java.debugger.snippet.attachRemote.description": "附加到远程java程序。",
"java.debugger.configuration.title": "Java调试器",
"java.debugger.configuration.logLevel.description": "Java调试器的日志级别。",
"java.debugger.configuration.showHex.description": "在“变量”视图中以十六进制格式显示数值。",
"java.debugger.configuration.showStaticVariables.description": "在“变量”视图中显示静态变量。",
"java.debugger.configuration.showQualifiedNames.description": "在“变量”视图中显示类的全名。",
"java.debugger.configuration.showLogicalStructure.description": "在“变量”视图中显示Collection和Map类的逻辑结构。",
"java.debugger.configuration.showToString.description": "在“变量”视图中显示所有重载过'toString'方法的类的'toString()'值。",
"java.debugger.configuration.maxStringLength.description": "设定“变量”或“调试控制台”视图中显示的字符串最大长度长度超过部分将被剪掉。如果值为0则不执行修剪。",
"java.debugger.configuration.hotCodeReplace.description": "在调试期间重新加载已更改的Java类。确保未禁用'java.autobuild.enabled'。",
"java.debugger.configuration.enableRunDebugCodeLens.description": "在main方法上启用CodeLens标记。",
"java.debugger.configuration.forceBuildBeforeLaunch": "在启动java程序之前强制编译整个工作空间。",
"java.debugger.configuration.console": "指定的控制台用于启动Java程序。如果要为特定的调试会话自定义控制台请修改launch.json中的“console”配置。"
}

View file

@ -1,7 +0,0 @@
@echo off
REM Change code page to UTF-8 for better compatibility.
@chcp.com 65001 > NUL
REM Execute real command passed by args
%*

View file

@ -1 +0,0 @@
download/vscode-java-debug/0.26.0/root/extension