这件事困扰了我很长一段时间,我还没有找到解决方案。
当我在VSCode中为调试java设置断点时,调试器会暂停在maven目标/classes中的.class文件上,而不是.java文件上。
我希望它像Intellij那样使用.java。当我发现我的错误并编辑代码,然后点击重播,却发现我在.class文件中而不是.java中编辑了代码时,这对我来说真的很烦人。在下一次调试时,.class文件会被覆盖,你会丢失刚才所做的所有更改。
我在github上找到了下面的链接,它提出了同样的问题,但没有答案https://github.com/microsoft/vscode-java-debug/issues/915
我使用的是Microsoft java扩展包。
我在以下设置中遇到了同样的问题:
带有的vscode多根工作区
- 项目A
- 程序B
- 项目C
其中项目A和项目B都引用项目C作为pom.xml 中的依赖项
现在,如果我在项目c的.java文件中设置一个断点,并运行项目a中的代码,它就会在.class文件中暂停。原因是项目A和B使用了不同版本的项目C。
所以我的解决方案是从多根工作区中删除项目b(并创建一个只有项目b和b的单独工作区(