0

0

怎样用vscode编写并运行C++程序_配置编译器和调试环境【教程】

紅蓮之龍

紅蓮之龍

发布时间:2026-01-16 22:34:02

|

506人浏览过

|

来源于php中文网

原创

VS Code需手动配置C++编译调试环境:先安装g++/clang++并加入PATH,再装C/C++插件、配置c_cpp_properties.json指定编译器路径和标准,通过tasks.json实现一键编译(含-g参数),最后用launch.json配置调试,确保preLaunchTask与task标签一致且externalConsole为true。

怎样用vscode编写并运行c++程序_配置编译器和调试环境【教程】

VS Code 本身不带 C++ 编译器和调试器,必须手动配置外部工具链;没装 g++clang++,写完代码也运行不了。

确认系统已安装可用的 C++ 编译器

VS Code 只是编辑器,真正编译靠系统命令行工具。Windows 用户最容易卡在这一步:装了 VS Code,但没装 MinGW-w64 或没把 g++.exe 加进 PATH

  • 在终端运行 g++ --versionclang++ --version,有输出才说明可用
  • Windows 推荐用 MinGW-w64(选 x86_64-posix-seh 版本),安装后把 bin/ 目录加进系统环境变量 PATH
  • macOS 用 xcode-select --install 安装命令行工具即可获得 clang++
  • Linux 用户通常已有 g++,若没有:Ubuntu/Debian 执行 sudo apt install g++,CentOS/RHEL 用 sudo yum install gcc-c++

安装必要插件并设置 c_cpp_properties.json

仅装 C/C++ 插件(Microsoft 官方)还不够,它需要知道头文件在哪、用哪个标准、是否启用 C++17 等——这些全靠 c_cpp_properties.json 告诉它。

  • 必须安装插件:C/C++(id: ms-vscode.cpptools)
  • Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac),输入 C/C++: Edit Configurations (UI),图形化生成配置
  • 关键字段要核对:
    • "compilerPath" 必须指向你实际的 g++clang++ 路径,例如 "C:\\msys64\\ucrt64\\bin\\g++.exe"
    • "intelliSenseMode" 要匹配编译器,gcc-x64 对应 g++clang-x64 对应 clang++
    • "cStandard""cppStandard" 建议设为 "c17""c++17",避免默认 c++14 导致新语法标红

tasks.json 实现一键编译

不配 tasks.json,你就得切到终端手动敲 g++ main.cpp -o main——这违背“一键运行”的初衷。

Eclipse配置Tomcat教程 中文WORD版
Eclipse配置Tomcat教程 中文WORD版

本文档主要讲述的是Eclipse配置Tomcat教程;Eclipse IDE: eclipse IDE 用作 JSP 页面和 Java 文件的开发环境。Eclipse 是一个非常简单易用的 IDE 环境,它具有很多特性,可以帮助程序员快速编写并调试 Java 程序。加上 tomcat 插件之后,这个 IDE 就是管理整个 Web 项目(包括 HTML 和 JSP 页面、图标和 servlet)的一个非常优秀的工具。 Tomcat: 驱动 JSP 页面需要使用 Tomcat。Tomcat 引擎是非常好的一个

下载

立即学习C++免费学习笔记(深入)”;

  • 在项目根目录建 .vscode/tasks.json,内容如下:
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "g++ build active file",
      "command": "g++",
      "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "group": "build",
      "problemMatcher": ["$gcc"]
    }
  ]
}
  • "problemMatcher": ["$gcc"] 很关键:它让错误信息可点击跳转到出错行
  • 如果用 clang++,把 "command""args" 中的 g++ 换成 clang++ 即可
  • Ctrl+Shift+B 运行该 task,生成可执行文件

配置 launch.json 启动调试

调试失败最常见的原因是:没生成带调试信息的二进制,或 launch.jsonprogram 路径写错了。

  • 确保 tasks.jsonargs 包含 -g(如上例),否则断点无效
  • launch.json"program" 必须是编译后生成的可执行文件路径,例如 "${fileDirname}/${fileBasenameNoExtension}"
  • Windows 下若用 MinGW,"miDebuggerPath" 需指向 gdb.exe,如 "C:\\msys64\\ucrt64\\bin\\gdb.exe"
  • 一个最小可用配置示例:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++ launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": true,
      "MIMode": "gdb",
      "miDebuggerPath": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g++ build active file"
    }
  ]
}
  • "preLaunchTask" 值必须和 tasks.json 中的 "label" 完全一致
  • "externalConsole": true 在 Windows 上很重要,否则控制台一闪而退,看不到 cinprintf 输出

最常被忽略的是编译器路径和调试器路径是否真实存在、是否在 PATH 中;哪怕只差一个反斜杠,VS Code 就会静默失败,既不报错也不运行。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

412

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

73

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

281

2023.11.28

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

73

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

281

2023.11.28

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号