You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何将Visual Studio Code设置为像Codeblocks/Dev-C++那样用系统终端运行程序?

让VSCode使用系统终端运行程序的配置方法

我完全理解你的需求——习惯了Code::Blocks或者Dev-C++那种调用系统终端运行程序的方式后,VSCode默认的集成终端确实可能显得不够直观,尤其是在输出清晰度上。我之前也折腾过这个配置,下面分享几个亲测可行的方法,分场景给你说明:

一、编译运行任务(Ctrl+Shift+B)用外部终端

如果是通过生成任务来编译运行程序,需要修改项目的tasks.json文件:

  1. 打开你的C/C项目,按下Ctrl+Shift+B,如果还没有tasks.json,VSCode会提示你创建,选择对应的编译器(比如g)生成默认配置。
  2. 打开生成的tasks.json,在任务配置里添加presentation字段并设置external: true,示例如下:
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: g++.exe 生成活动文件",
      "command": "C:\\mingw64\\bin\\g++.exe",
      "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe"
      ],
      "options": {
        "cwd": "${fileDirname}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "编译器: C:\\mingw64\\bin\\g++.exe",
      "presentation": {
        "reveal": "always",
        "external": true  // 关键:启用外部系统终端
      }
    }
  ]
}

保存后再按Ctrl+Shift+B,就会自动弹出系统默认终端来执行编译后的程序了。

如果担心终端运行完一闪而过,可以修改命令逻辑,让程序运行后暂停:
比如把command改成cmd,通过/c参数串联编译、运行、暂停操作:

"command": "cmd",
"args": [
  "/c",
  "g++ -g ${file} -o ${fileDirname}\\${fileBasenameNoExtension}.exe && ${fileDirname}\\${fileBasenameNoExtension}.exe && pause"
]

二、调试模式(F5)用外部终端

如果习惯用F5调试程序,需要修改launch.json配置:

  1. 按下F5,选择C/C++调试环境,生成默认的launch.json
  2. 找到externalConsole字段,设置为true,示例:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++.exe - 生成和调试活动文件",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": true,  // 关键:启用外部控制台
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++.exe 生成活动文件"
    }
  ]
}

保存后按F5,系统终端会弹出,程序的输入输出和调试交互都会在这里进行,和Dev-C++的调试体验一致。

三、全局设置(所有项目默认用外部终端)

如果你希望所有新建项目都默认使用系统终端,可以修改VSCode的全局设置:

  1. 按下Ctrl+,打开设置界面,搜索以下选项并调整:
    • terminal.explorerKind:设置为external,让终端相关操作默认调用外部终端
    • debug.externalConsole:勾选该选项,让所有调试场景默认使用外部控制台
  2. 如果是Windows系统,还可以搜索terminal.integrated.defaultProfile.windows,选择你偏好的系统终端(比如CMD或PowerShell)

注意事项

  • 确保你的编译器(比如MinGW)路径已经添加到系统环境变量PATH中,否则外部终端可能找不到编译好的程序
  • 修改tasks.jsonlaunch.json后一定要保存,否则设置不会生效
  • 如果是Linux/macOS系统,暂停终端的方式可以换成read -p "Press Enter to continue...",对应调整命令即可

内容的提问来源于stack exchange,提问作者Soyal7

火山引擎 最新活动