VSCode运行Java项目提示'chcp.com'不是内部或外部命令如何解决?
报错原因说明
'chcp.com' is not recognized as an internal or external command, operable program or batch file 报错源自VSCode Java调试扩展的默认逻辑:扩展运行Java程序前会调用Windows系统的chcp命令调整终端编码,避免程序输出乱码。你的代码能正常运行,说明Java执行链路没有问题,只是前置的chcp调用失败。IntelliJ没有这套自动调整编码的逻辑,所以不会触发报错。
可行解决思路
- 验证Path配置是否在VSCode中生效
打开VSCode内置终端,执行echo %PATH%,检查输出内容中是否包含chcp.com的默认所在路径C:\Windows\System32。如果没有找到,先完全退出VSCode重启,仍不生效就重启系统,系统环境变量修改后需要重启才会完全加载到所有程序中。 - 禁用Java扩展的chcp调用逻辑
打开VSCode设置页面,搜索配置项java.debug.settings.enableWindowsTerminalEncodingFix,将勾选状态取消(值设为false)。该配置就是控制是否调用chcp调整编码的开关,关闭后扩展不会再触发chcp调用,报错会直接消失,不会影响Java代码的正常运行。 - 检查VSCode默认终端类型
如果你的VSCode默认终端设置为Git Bash、WSL等非Windows原生终端,这类终端环境中没有内置chcp命令,也会触发报错。按Ctrl+Shift+P唤起命令面板,输入Terminal: Select Default Profile,选择Command Prompt或者Windows PowerShell作为默认终端即可。 - 修复损坏的系统文件
如果以上方案都无效,检查C:\Windows\System32路径下是否存在chcp.com文件,文件丢失或损坏的话,打开管理员权限的CMD窗口,执行sfc /scannow命令扫描修复系统文件即可。
内容的提问来源于stack exchange,提问作者Aaursh A.
相关产品推荐
相关产品推荐

