VSCode C/C++ 开发环境完整配置及常见问题(自用)

这里主要记录了一些与配置相关的内容。由于网上教程众多,部分解决方法并不能完全契合我遇到的问题,因此我选择以自己偏好的方式,对 VSCode 进行完整的配置,并记录在使用过程中遇到的问题及解决方案。后续内容也会持续更新和完善。

本文档参考:

最新最全 VSCODE 插件推荐(2025版)

让你工作效率翻倍的 20 个 VSCode 插件!


文章目录

  • 1. 基本配置
    • 1.1 安装 MinGW
    • 1.2 安装 VSCode 扩展
  • 2. 设置 exe 文件路径
    • 2.1 使用 CodeRunner 自动清理 exe 文件
    • 2.2 使用 tasks.json 和 launch.json 配置输出目录
  • 3. 配置相关的常见问题
  • 4. 代码格式化
    • 4.1 自动格式化
    • 4.2 设置格式化风格
    • 4.3 括号颜色
  • 5 刷题相关扩展
    • 5.1 cph样例测试
    • 5.2 EL错误显示
    • 5.3 wakatime代码时间记录
  • 6 主题图标扩展
    • 6.1 文件图标
    • 6.2 官方图标
  • 7 文档语言相关
    • 7.1 Markdown预览与编辑


1. 基本配置

1.1 安装 MinGW

MinGW 是一个用于 Windows 平台的 GCC 编译器套件,支持 C/C++ 编译。以下是安装步骤:

  1. 访问 MinGW 官网 下载最新版本。
  2. 解压下载文件后,将 bin 文件夹路径添加到系统的环境变量中。例如:
    在这里插入图片描述
  3. 验证安装是否成功:打开命令行,输入 g++ --version,若显示版本信息,则安装成功。

1.2 安装 VSCode 扩展

在 VSCode 中安装以下扩展:

  • C/C++:由 Microsoft 提供,支持代码高亮、调试等功能。
  • Code Runner:用于快速运行代码。

2. 设置 exe 文件路径

默认情况下,编译生成的 .exe 文件会与源代码位于同一目录下,这可能会导致文件杂乱。我们可以通过配置将其归并到指定目录中。

2.1 使用 CodeRunner 自动清理 exe 文件

CodeRunner 是一个便捷的代码运行工具,可以通过修改其配置实现自动清理功能:

  1. 打开 CodeRunner 扩展设置,点击齿轮图标,选择“扩展设置”。
  2. 找到 Code-runner: Executor Map,点击“在 settings.json 中编辑”,并在 C 和 C++ 的命令后添加以下内容:
    && rm $dir$fileNameWithoutExt.exe
    
    修改后的配置示例:
    在这里插入图片描述
  3. 在 CodeRunner 设置中勾选以下选项:
    • Run in Terminal:确保代码在终端中运行。
    • Save File Before Run:运行前自动保存文件。

2.2 使用 tasks.json 和 launch.json 配置输出目录

配置 tasks.json
tasks.json 用于定义编译任务,我们将生成的 .exe 文件输出到 output 文件夹中。我的配置如下:

{"tasks": [{"type": "cppbuild","label": "C/C++: g++.exe build active file","command": "C:\\Program Files\\mingw64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\output\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "Task generated by Debugger."}],"version": "2.0.0"
}

配置 launch.json
launch.json 用于调试配置,需与 tasks.json 协同工作。以下是我的配置:

{"configurations": [{"name": "C/C++: g++.exe build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}\\output\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}\\output","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\Program Files\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Set Disassembly Flavor to Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "C/C++: g++.exe build active file"}],"version": "2.0.0"
}

效果如下:

在这里插入图片描述


3. 配置相关的常见问题

Q:编译失败,提示找不到编译器
why:未正确配置 MinGW 的环境变量。
Answer:检查系统环境变量中是否包含 MinGW 的 bin 路径。

Q:调试时无法找到 .exe 文件
whytasks.jsonlaunch.json 中的路径不一致。
Answer:确保两者中的 output 目录路径一致。

Q:运行结果无输出
why:可能未启用终端运行或代码逻辑问题。
Answer:检查 CodeRunner 设置中的“Run in Terminal”选项是否已勾选。


4. 代码格式化

4.1 自动格式化

使用alt-shift-p格式化太麻烦了,设置保存时自动格式化。
勾选即可。
在这里插入图片描述
setting.json中加上这两行:

"editor.formatOnType": true,
"editor.formatOnSave": true

在这里插入图片描述

4.2 设置格式化风格

我们知道代码的风格最典型的有两种,花括号的行位和独占一行的风格。vscode默认用的是Visual Studio风格,独占一行的风格,如下:

for()
{
//code
}

但是我个人比较喜欢行尾风格

for(){
}

vscode可以自定义自己的代码格式化风格。
首先Ctrl Shift P,输入user settings,搜索clang,如下图所示。这里面可以选择自己喜欢的风格,具体的代码风格自行查阅即可:https://clang.llvm.org/docs/ClangFormatStyleOptions.html
在这里插入图片描述

4.3 括号颜色

在这里插入图片描述

这个扩展已经弃用了,现在已经内置于vscode中。在 setting.json 中加入以下代码:

{"editor.bracketPairColorization.enabled": true,"editor.guides.bracketPairs":"active"
}

或者直接在setting里面搜 editor.bracketPairColorization

在这里插入图片描述


5 刷题相关扩展

5.1 cph样例测试

在这里插入图片描述
可以进行样例测试,用法如下:
在这里插入图片描述

5.2 EL错误显示

在这里插入图片描述
在这里插入图片描述

5.3 wakatime代码时间记录

在这里插入图片描述

https://wakatime.com/api-key
获取key,然后安装扩展之后输入,重启即可。


6 主题图标扩展

6.1 文件图标

在这里插入图片描述
在这里插入图片描述

6.2 官方图标

在这里插入图片描述
个人觉得蛮好看的。

在这里插入图片描述

7 文档语言相关

7.1 Markdown预览与编辑

Markdown Preview Enhanced

在这里插入图片描述

在这里插入图片描述

方便markdown进行编辑

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36150.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Billu_b0x靶机攻略

1,安装好靶机并打开,打开kali进行扫描得到靶机ip为192.168.50.138 2,访问靶机以及扫描出的目录 3,访问test.php发现file参数为空,尝试拼接其他路径来访问,发现可以file传参,利用插件进行post传参…

如何搭建一个安全经济适用的TRS交易平台?

TRS(总收益互换)一种多方参与的投资方式,也是绝对收益互换(total return swap)的一种形式。 它是一种衍生合约,是一种金融衍生品的合约,是指交易双方在协议期间将参照资产的总收益转移给信用保…

LeetCode 解题思路 16(Hot 100)

解题思路: 初始化辅助节点: dummy:哑节点。pre:当前链表的前一个节点。start:当前链表的第一个节点。end:当前链表的最后一个节点。nextStart:end.next,下组链表的第一个节点&…

数据结构——串、数组和广义表

串、数组和广义表 1. 串 1.1 串的定义 串(string)是由零个或多个字符组成的有限序列。一般记为 S a 1 a 2 . . . a n ( n ≥ 0 ) Sa_1a_2...a_n(n\geq0) Sa1​a2​...an​(n≥0) 其中,S是串名,单引号括起来的字符序列是串的值, a i a_i a…

LeetCode BFS层序遍历树

中等 103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 示例 1: 输入&#…

深度学习大模型补充知识点

文章目录 VIT用途处理方法与CNN区别 多模态LLM:大语言模型预训练指令微调强化学习 总结 VIT ViT(Vision Transformer) 首次将 Transformer架构成功应用于计算机视觉领域(尤其是图像分类任务)。传统视觉任务主要依赖卷…

RCore学习记录002

初次运行RCore和调试,这里使用的RCore代码是实验指导书的代码,而非RCore训练营的 讲两种方法,第一种是传统的gdb调试,在上一节中提到的riscv交叉编译工具链中的已经安装了riscv的gdb,另一种是基于CLion的可视化调试&a…

maven在idea上搭建

maven搭建 首先进入maven官网,去download下载欢迎使用 Apache Maven – Maven下载免安装版本,解压在任意目录下,命名别取中文名 配置环境变量 复制你刚刚maven解压的路径,我这里是D:\resource\apache-maven-3.8.8,之…

【sql靶场】第18-22关-htpp头部注入保姆级教程

目录 【sql靶场】第18-22关-htpp头部注入保姆级教程 1.回顾知识 1.http头部 2.报错注入 2.第十八关 1.尝试 2.爆出数据库名 3.爆出表名 4.爆出字段 5.爆出账号密码 3.第十九关 4.第二十关 5.第二十一关 6.第二十二关 【sql靶场】第18-22关-htpp头部注入保姆级教程…

K8S下nodelocaldns crash问题导致域名请求响应缓慢

前言 最近做项目,有业务出现偶发的部署导致响应很慢的情况,据了解,业务使用域名访问,相同的nginx代理,唯一的区别就是K8S重新部署了。那么问题大概率出现在容器平台,毕竟业务是重启几次正常,偶…

SpringBoot之如何集成SpringDoc最详细文档

文章目录 一、概念解释1、OpenAPI2、Swagger3、Springfox4、Springdoc5. 关系与区别 二、SpringDoc基本使用1、导包2、正常编写代码,不需要任何注解3、运行后访问下面的链接即可 三、SpringDoc进阶使用1、配置文档信息2、配置文档分组3、springdoc的配置参数**1. 基…

基于扣子(coze.cn)搭建一个古文化学习助手

highlight: a11y-dark 扣子Coze 是由字节跳动推出的一个AI聊天机器人和应用程序编辑开发平台,可以理解为字节跳动版的GPTs。 下面进行Coze的登录,初步使用,创建定制化的Bot(聊天机器人),插件使用等操作。…

Modbus TCP到RTU:轻松转换指南!

Modbus TCP 到 RTU:轻松转换指南! 在现代工业自动化领域,Modbus TCP和Modbus RTU两种通信协议因其高效、稳定的特点被广泛应用。然而,随着技术的发展和设备升级的需求,经常会遇到需要将这两种协议进行互相转换的场景。…

云钥科技工业相机定制服务,助力企业实现智能智造

在工业自动化、智能制造和机器视觉快速发展的今天,工业相机作为核心感知设备,其性能直接决定了检测精度、生产效率和产品质量。然而,标准化工业相机往往难以满足复杂多样的应用场景需求,‌工业相机定制‌逐渐成为企业突破技术瓶颈…

HAL库STM32常用外设—— CAN通信(一)

文章目录 一、CAN是什么?1.1 CAN应用场景1.2 CAN通信优势 二、CAN基础知识介绍2.1 CAN总线结构2.2 CAN总线特点2.2.1 CAN总线的数据传输特点2.2.2 位时序和波特率 2.3 CAN位时序和波特率2.3 CAN物理层2.3.1 CAN 物理层特性2.3.2 CAN 收发器芯片介绍 2.4 CAN协议层2.…

设计模式 二、创建型设计模式

GoF是 “Gang of Four”(四人帮)的简称,它们是指4位著名的计算机科学家:Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。他们合作编写了一本非常著名的关于设计模式的书籍《Design Patterns: Elements of Reusable…

微软远程桌面即将下架?Splashtop:更稳、更快、更安全的 RDP 替代方案

近日,Windows 官方博客宣布:将于2025年5月27日起,在 Windows 10 和 Windows 11 应用商店中下架“Microsoft 远程桌面”应用,建议用户迁移至新的 Windows App。这一变动引发了广大用户对远程访问解决方案的关注。作为全球领先的远程…

黑马跟学.苍穹外卖.Day08

黑马跟学.苍穹外卖.Day08 苍穹外卖-day8课程内容1. 工作台1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计 1.2 代码导入1.2.1 Controller层1.2.2 Service层接口1.2.3 Service层实现类1.2.4 Mapper层 1.3 功能测试1.3.1 接口文档测试1.3.2 前后端联调测试 1.4 代码提交 2. Ap…

技术路线图ppt模板_流程图ppt图表_PPT架构图

技术路线图ppt模板 / 学术ppt模板 - 院士增选、国家科技奖、杰青、长江学者特聘教授、校企联聘教授、重点研发、优青、青长、青拔.. / 学术ppt案例 WordinPPT / 持续为双一流高校、科研院所、企业等提供PPT制作系统服务。 - 科学技术奖ppt:自然科学奖 | 技术…

差分专题练习 ——基于罗勇军老师的《蓝桥杯算法入门C/C++》

一、1.重新排序 - 蓝桥云课 算法代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N 1e5 3;int a[N], d[N], cnt[N];int main() {int n; scanf("%d", &n);for (int i 1; i < n; i) scanf("%d", &a[i]);int m…