vscode搭建C/C++配置开发环境

本期我们来科普一个小知识:如何搭建vscode的C/C++配置开发环境来编写C/C++代码。

本期相关测试代码已经上传至作者个人博客:C语言练习: C语言联系仓库喜欢请点个赞谢谢

目录

什么是vscode

vscode下载和安装

vscode下载

vscode推荐插件

免配置

配置插件

下载安装配置MinGw-w64

配置MinGw-w64

安装C/C++插件

设置C编译配置选项

创建执行任务生成tasks.json文件

多文件项目编译运行

编译多个文件

修改编译输出的文件名

编译C++配置配置选项

vscode的调试


什么是vscode

Visual Studio Code (简称 VSCode )是由 Microsoft 开发的一款免费、开源、跨平台的源代码编辑器。它凭借其轻量、快速、功能强大和丰富的扩展性,成为了当今最受开发者欢迎的编辑器之一。具有以下特点:

特点 说明
免费且开源 完全免费使用,代码开源在 GitHub 上,社区活跃。
跨平台 完美支持 Windows、macOS 和 Linux 三大主流操作系统。
轻量高效 启动速度快,占用资源相对较少,比传统的 IDE(如 Visual Studio, Eclipse)更轻便。
功能强大 内置了智能代码补全(IntelliSense)、语法高亮、代码调试、 Git 版本控制等强大功能。
强大的扩展生态系统 拥有一个极其丰富的扩展市场(Extension Marketplace),你可以安装各种语言(C++, Python, Java, Go...)、主题、调试器、代码格式化工具等插件来定制你的开发环境。
集成终端 内置了一个终端(命令行窗口),可以直接在编辑器里运行命令,无需切换窗口。
可高度定制 通过用户设置、键盘快捷键和代码片段等功能,几乎可以定制编辑器的每一个方面。

它不是 Visual Studio :虽然名字相似,但 VSCode 是一个编辑器 (Editor),而不是一个庞大的集成开发环境(IDE)。它更轻量,通过插件来获得类似 IDE 的功能。而 Visual Studio 是一个功能极其全面但也更重的全功能 IDE。

vscode下载和安装

vscode下载

vscode官网下载链接:下载 Visual Studio Code - Mac、Linux、Windows

如果下载过慢可以参考这个博客:解决VsCode下载慢问题-CSDN博客

vscode安装并不是很难的过程,因此这里就不展示了,注意选择自己的安装路径

安装好后打开vscode就是这个样子(作者预先加载了汉化插件):

vscode推荐插件

免配置

  1. Remote - SSH - 远程登录Linux

  2. C/C++ - 必装

  3. C/C++ Extension Pack - C/C++扩展包,下载直接安装,它包含了 vscode 编写 C/C++ ⼯程需要的插件(C/C++、C/C++ Themes、CMake、CMake Tools和Better C++ Syntax等),和以前⽐不需要⼀个个找了。

  4. C/C++ Themes - 主题设置,插件⾥⾯可以点击设置

  5. Chinese (Simplified) (简体中⽂)

  6. vscode-icons - 改变编辑器⾥⾯的⽂件图标

  7. filesize - 左下⻆显⽰源⽂件⼤⼩的插件

  8. Include AutoComplete - ⾃动头⽂件包含

  9. GBKtoUTF8 - ⾃动将 GBK 转换为 UTF8

配置插件

koroFileHeader - 头部注释添加/更新插件:VSCode插件:KoroFileHeader深度指南:自动生成注释与代码片段定制-CSDN博客

下载安装配置MinGw-w64

官网链接:MinGW-w64 - 适用于 32 位和 64 位 Windows 下载 |SourceForge.net

下载好后安装解压,建议放到D盘根目录下(切记路径里不要有中文!!!)

配置MinGw-w64

电脑上win+s或者直接在菜单搜索"环境变量"就会出现:

随后进入"环境变量"在下面系统变量找到Path,双击进入。我们要新增MinGw-w64的bin路径

随后win+r快捷键cmd进入控制台,输入如下所示的代码:

bash 复制代码
gcc --version

出现如下场景后即为添加成功

安装C/C++插件

在插件去找到这个安装

设置C编译配置选项

鼠标点在.c文件内部,快捷键CTRL+shift+p选择【C/C++编辑配置UI】

首先是配置编译器路径,安装好mingw64后在安装路径下找到bin中的gcc.exe编译器路径,赋值粘贴过去

随后在智能模式下选择gcc-x64(legacy)

创建执行任务生成tasks.json文件

界面中选择如下

在界面中选择

内容如下:

bash 复制代码
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: gcc.exe 生成活动文件",
			"command": "D:\\mingw64\\bin\\gcc.exe",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "编译器: D:\\mingw64\\bin\\gcc.exe"
		}
	]
}

功能上类似于之前的Makefile

如果要编译执行可以直接点击右上角的三角

也可以点击对应的.c文件,然后点击【终端】->【运行生成任务】

可以发现已经生成了对应的.exe文件

如果要执行的话,类似于Linux系统,在终端输入.\test.exe即可执行

显示终端可以靠快捷键CTRL+`完成

多文件项目编译运行

主要通过改造tasks.json文件来实现

编译多个文件

cpp 复制代码
"${file}",

修改为

cpp 复制代码
"${workspaceFolder}\\*.c"

即可编译当前工作区所有的.c文件

*表示"所有的"意思

如果修改为

cpp 复制代码
"${workspaceFolder}\\*.cpp"

即可编译当前工作区所有的.cpp文件

修改编译输出的文件名

bash 复制代码
"${fileDirname}\\${fileBasenameNoExtension}.exe"

修改为:

bash 复制代码
"${workspaceFolder}\\myProgram.exe"

可以把编译输出的硬编码为myProgram.exe而不是与C文件同名。

效果为:

如果修改为:

bash 复制代码
"${workspaceFolder}\\${workspaceRootFolderName}.exe"

则为打开的工作区的文件夹名称.exe

效果为:

编译C++配置配置选项

像之前那样选择【C/C++配置UI】。将编译器由gcc改为g++

修改如下

只需要改这两个地方即可

多文件编译的配置同C语言一样。

接下来举例说明,如下代码在改进后的配置文件tasks.json后,运行生成文件,然后像Linux系统那样运行。

cpp 复制代码
//test.cpp
#include <iostream>
#include "add.h"
using namespace std;
int main() 
{
    cout<<"sum=>"<<myMath::add(1,3)<<endl; 
    return 0;
}
//add.h
namespace myMath 
{
    int add(int a, int b) ;
}
//add.cpp
namespace myMath 
{
    int add(int a, int b) 
    {
        return a + b;
    }
}

结果为:

vscode的调试

在vscode上我们编译代码所依赖的叫作launch.json

首先我们先点调试创建launch.json文件

选择GDB后进入如下界面

添加配置gdb启动

随后对launch.json进行配置

配置好后我们就可以像其他IDE一样使用对应的快捷键调试了

类别 快捷键 功能名称 功能描述
启动与停止 F5 开始调试 启动应用程序并附加调试器。如果已中断,则继续执行。
Ctrl + F5 开始执行(不调试) 不附加调试器运行程序,速度更快。
Shift + F5 停止调试 终止当前的调试会话。
Ctrl + Shift + F5 重启调试 停止当前会话并立即重新开始调试。
逐过程执行 F10 逐过程 执行当前行代码,如果该行包含函数调用,不会进入该函数内部,而是将整个函数作为一步执行。
F11 逐语句 执行当前行代码,如果该行包含函数调用,则进入该函数内部。
Shift + F11 跳出 继续执行完当前函数的剩余部分,并返回到调用该函数的位置。
运行与控制 Ctrl + F10 运行到光标处 继续执行程序,直到到达光标所在的代码行。非常高效的调试方式。
F9 切换断点 在光标所在行设置或移除断点。
Ctrl + Shift + F9 删除所有断点 清除项目中的所有断点。
数据查看 悬停 数据提示 在调试期间,将鼠标悬停在变量上可查看其当前值。
Shift + F9 快速监视 打开"快速监视"对话框,可以计算表达式或深入查看复杂变量。
Ctrl + D, V 打开自动窗口 显示"自动"窗口,查看当前行及前一行的相关变量。
Ctrl + D, L 打开局部变量窗口 显示"局部变量"窗口,查看当前作用域内的所有局部变量。
Ctrl + D, Q 打开即时窗口 显示"即时"窗口,可以在调试期间执行命令和计算表达式。
Ctrl + D, C 打开调用堆栈窗口 显示"调用堆栈"窗口,查看函数调用的层次关系。
中断与操作 Ctrl + Break 全部中断 暂停正在运行的调试会话(适用于无断点的循环或长时间操作)。
F12 转到定义 跳转到变量、函数或类的定义处(非调试专属,但调试时极常用)。

本期关于vscode的配置内容就到这里了。vscode是一款十分强大的开发工具,如果运用得当让是你编程之路如鱼得水

感谢看到这里,如果这个博客对你有帮助的话请点个赞支持一下作者,谢谢

封面图自取:

相关推荐
我要精通C++2 小时前
lua虚拟机的垃圾回收机制
java·开发语言
22jimmy2 小时前
MyBatis动态sql
java·开发语言·mybatis
tt666qq2 小时前
linux文件系统学习
linux·运维·学习
R-G-B3 小时前
【14】C#实战篇——C++动态库dll 接口函数将char* strErr字符串 传给C# ,并且在winform的MessageBox和listbox中显示。C++ string 日志传给 C#
c++·c#·strerr字符串传给c#·动态库dll传递字符串给c#·string日志传给c#·c++ string传给 c#·c++底层函数日志传给c#显示
那我掉的头发算什么3 小时前
【数据结构】双向链表
java·开发语言·数据结构·链表·intellij-idea·idea
半桔3 小时前
【STL源码剖析】从源码看 list:从迭代器到算法
java·数据结构·c++·算法·stl·list
拾光Ծ3 小时前
【C++】STL之list模拟实现:关于链表容器的双向迭代器你知道多少?
开发语言·数据结构·c++·list·visual studio
666HZ6663 小时前
Java Stream流
java·开发语言
数模加油站3 小时前
最新R(4.4.1)及R-studio保姆级安装配置详细教程及常见问题解答
开发语言·windows·数学建模·r语言