如何设置VSCode使用Command Prompt而非WSL终端调试Java程序
报错原因
你当前VSCode运行在WSL远程连接模式下,所有调试、终端指令默认在WSL环境内执行,但WSL原生不支持Windows的cmd命令,而你安装在Windows侧的Java调试插件默认会调用cmd启动调试脚本,因此触发找不到命令的报错。
解决方法
方案一(推荐,无需修改配置):切换VSCode到本地模式打开Java项目
- 关闭当前WSL远程连接的VSCode窗口
- 在Windows资源管理器中找到你的Java项目所在文件夹,右键选择「通过Code打开」
- 确认VSCode左下角没有WSL远程连接标识,即为本地模式,直接按F5即可正常启动Java调试
方案二:保留WSL环境,修改VSCode配置适配Windows侧Java调试
- 按下
Ctrl+,打开VSCode设置页,搜索terminal.integrated.defaultProfile.windows,在下拉选项中选择Command Prompt作为默认终端 - 打开Java项目根目录下的
.vscode/launch.json文件,没有的话按F5选择Java环境自动生成该文件 - 在对应的Java调试配置项中添加如下参数:
"java.home": "C:\\Program Files\\Java\\jdk-11.0.2", "console": "integratedTerminal" - 保存配置后重启VSCode,重新启动调试即可
注意事项
- 不要把Java项目存放在WSL的文件系统路径下,避免跨系统路径识别异常
- 如果配置后依然触发报错,点击VSCode左下角的远程连接图标,选择「关闭远程连接」后重新打开项目即可
内容的提问来源于stack exchange,提问作者lukas gamard
相关产品推荐
相关产品推荐

