VS Code 真香,但是发现在调试 Java 程序的时候,会一直阻塞在 Scanner,但是又无法输入。查询后发现需要修改 launch.json,但是大部分教程都予以不详,现在将解决方法记录如下。
- 用 VS Code 打开一个 Java 文件
- 在菜单选择
调试-打开配置(Debug-Open Configuration) - 在
mainClass那一行最后输入一个逗号,按回车开启新行 - 输入以下语句:
"console": "integratedTerminal" Ctrl + S保存
修改完的 launch.json 如图所示

这样操作之后应该就能正常调试了。
注意,这个操作只适用于单一文件夹。也就是说,就算你在这个项目改了,切换到别的项目,这个设定也会消失。
如果想要持久化,跨项目的启用这个功能,你需要点击左下角齿轮,选择配置,搜索launch,然后点击编辑 settings.json,然后在末尾添加以下项:
"launch": {
"configurations": [
{
"type": "java",
"name": "Debug (Launch) - Integrated Terminal",
"request": "launch",
"mainClass": "${file}",
"console": "integratedTerminal"
}
],
"compounds": []
}
此后打开 Java 文件后,按下F5调试后,会先显示调试控制台,手动切换到终端就可以正常输入了。
本方法测试于 Windows 10 v1903, VS Code 1.33.1。
补充:或者也可以参考这篇文章,用 Code Runner 扩展,并设定成在终端内运行。
https://www.cnblogs.com/d-i-p/p/10578608.html

本文介绍了如何在 VS Code 中调试 Java 程序时解决 Scanner 阻塞问题。通过修改 launch.json 文件,添加特定配置,使得调试期间可以正常输入。此方法适用于单个项目,若要全局生效,需进行额外设置。
5万+






