VSCode内置bash终端运行C++程序无响应,手动编译正常如何修复
问题根因
- 你使用的MINGW64终端属于类Unix终端,会将路径末尾的反斜杠
\识别为转义符,你执行的命令中"C:\cpp_code\"末尾的反斜杠转义了闭合双引号,导致系统判定命令未输入完成,因此卡在等待输入的状态。手动编译执行时不会触发该路径拼接的转义错误,所以运行正常。 - 现有配置中统一使用Windows风格的反斜杠
\\做路径拼接,在MINGW64这类终端下兼容性不足。
修复步骤
- 替换所有配置文件中的路径分隔符:将
tasks.json和launch.json里所有路径拼接用的\\替换为正斜杠/,VSCode的内置变量在Windows环境下可正常识别正斜杠作为路径分隔符,不会触发转义问题。
示例修改:- tasks.json中
"${fileDirname}\\${fileBasenameNoExtension}.exe"修改为"${fileDirname}/${fileBasenameNoExtension}.exe" - launch.json中
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe"修改为"program": "${fileDirname}/${fileBasenameNoExtension}.exe"
- tasks.json中
- 若修改后仍有问题,可临时将VSCode默认终端切换为Windows cmd或PowerShell验证,这两个原生Windows终端不会将反斜杠识别为转义符,可直接规避该问题。
- 若需要继续使用MINGW64作为默认终端,可在VSCode设置中搜索
terminal.integrated.shell.windows,确认MINGW路径配置正确,且关闭自动路径转义的相关选项即可。
内容的提问来源于stack exchange,提问作者nekolko
相关产品推荐
相关产品推荐

