如何阻止Visual Studio Code运行C代码时打开外部终端窗口
解决VS Code运行C代码同时弹出外部终端和集成终端的问题
1. 调整Code Runner的执行命令配置
打开VS Code设置(快捷键Ctrl+,),搜索Code-runner: Executor Map,点击编辑 in settings.json,找到C语言对应的执行命令,替换为不会唤起外部窗口的版本:
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
(如果使用MSVC编译器,可调整为对应编译命令,确保命令中无start这类触发外部窗口的参数)
同时确认Code-runner: Run In Terminal已勾选,Code-runner: Save File Before Run也保持勾选状态。
2. 修改C/C++扩展的调试配置
打开项目下的.vscode/launch.json文件(无则手动创建),找到externalConsole字段并设置为false,阻止调试时弹出外部终端:
{ "version": "0.2.0", "configurations": [ { "name": "C/C++: gcc.exe build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, // 关键设置:禁用外部终端 "MIMode": "gdb", "miDebuggerPath": "你的gdb.exe路径", "preLaunchTask": "C/C++: gcc.exe build active file" } ] }
3. 统一运行入口
避免同时触发Code Runner和C/C++扩展的运行/调试功能:
- 若用Code Runner,右键代码选择
Run Code或按Ctrl+Alt+N; - 若用C/C++扩展调试,直接按
F5即可。
4. 重启VS Code
修改所有配置后重启软件,确保设置完全生效。
内容的提问来源于stack exchange,提问作者Cowrock
相关产品推荐
相关产品推荐

