VSCode 配置 C/C++ 开发环境( MSVC ) 铜牌收录

0. 使用工具说明: 

  1. 本文使用的 VSCode 是从官网下载的,有相应的 32 位和 64 位版本,支持 Win 7 和 Win 10。
  2. 本文使用的生成工具是从 https://appzip.cn/vc2010 上提供的 VC2010 中提取出来的 32 位 MSVC 工具链,在 Win 7 或 Win 10 的 64 位或 32 位系统都能成功使用。

1. 无需配置的绿色版本

  • 下载链接:https://www.aliyundrive.com/s/DMK13owZSrC
  • 解压后,运行里面的 VCVars.bat(只需要运行一次),它的作用是帮助您快速设置环境变量。
  • 再运行 ShortCut.bat 它会在您的桌面上生成 VSCode 的快捷快捷方式。
  • 打开运行 VSCode,如果 VSCode 依然是英文界面,那么需要重新启动 VSCode 一次,就能正确加载语言包插件。
  • 在绿色版里配套了一个 Sample 的文件夹,用 VSCode 打开它,就能看到一个使用 EasyX 的例子。
  • 创建新项目时,只需要把 Sample\.vscode 文件夹移到您的项目于内容下,就可以避免重复配置。
绿色版压缩包内文件结构	
	├ VCompiler<folder>				// VC 生成工具根目录
	├ VSCode<folder>  				// VSCode 根目录
	├ Sample<folder>  				//例子文件夹
	│	├ .vsocde<folder>			//保存配置的文件夹			
	│	│	├ task.json
	│	│	├ launch.json
	│	│	└ c_cpp_properties.json
	│	└ main.cpp					//源文件
	├ ReadMe.txt 					//使用说明	
	├ VCVars.bat					//设置环境变量	
	└ ShortCut.bat					//生成桌面快捷方式

2. 手动配置

视频教程:https://pan.baidu.com/s/1LvN2G3-RYlAgT7q1cVg-dA 提取码:1234

文字教程:

前往 https://code.visualstudio.com/ 下载 VSCode,安装完成,点击运行。按住 Ctrl + Shift + X 键或者点击 VSCode 左侧第 5 个按钮 .

然后搜索 Chinese,安装简体中文插件进行汉化,喜欢英文原版可以跳过此步。这里认为你选择了中文插件。安装中文插件之后,搜索 C++,下载第一个 C/C++ 插件。

前往链接:https://pan.baidu.com/s/1NoNGblBZmjXU_Pya4jJpCg 提取码:1234 下载所需的 VC 生成工具。

解压后(以解压在 D:\App 下为例),进行设置环境变量。

新建 LIB 环境变量填入 D:\App\VCompiler\lib

新建 INCLUDE 环境变量填入 D:\App\VCompiler\include

在 PATH 变量中追加 D:\App\VCompiler\Bin

新建一个文件夹(假设是 D:\Project),用 VSCode 打开它,按住 Ctrl + Shift + P 键,输入 C++,会有一个下拉列表,选择 编辑 C++:编辑配置(UI)选项,

然后会出现一个 ” C/C++ Configurations “ 的配置页面,这个配置是用来配置 IntelliSense,它可以提供语法检查的功能,在语法错误的位置画红色波浪线。

配置名字可以任你填写。然后下滑到编译器选项,填入 D:\App\VCompiler\Bin\cl.exe。

IntelliSense 模式中选择 windows-msvc-x86 选项(因为提供的生成工具是 32 位的 vc2010 的生成工具)。

包含路径选项是加入您额外添加的头文件的路径,可以自行根据需要添加。

定义选项是给 IntelliSense 添加预定义宏。可以自行根据需要添加。(里面默认定义了 UNICODE 和 _UNICODE 是为了设置 Unicode(宽)字符集,删除后是多字节(窄)字符集,DEBUG 是设置调试宏,删除后是 Release 模式)。

下面的 C 和 C++ 标准,分别选择 C11 和 C++11 即可。

配置过后如下:

{
	"configurations": [
		{
			"name": "Win32",
			"includePath": [
				"${workspaceFolder}/**"
			],
			"defines": [
				"_DEBUG",
				"UNICODE",
				"_UNICODE"
			],
			"cStandard": "c11",
			"cppStandard": "c++11",
			"intelliSenseMode": "windows-msvc-x86",
			"compilerPath": "D:\\App\\VCompiler\\bin\\cl.exe"
		}
	],
	"version": 4
}

设置完 C++ 配置后,可以新建一个 main.cpp 文件,简单写一个 helloworld 代码。

点击终端中的配置任务选项,这个是决定 VC 生成工具如何生成 exe。

接着会出现一个下拉列表,选择 C/C++ : cl.exe 生成活动文件。然后会自动进入 task.json 的编辑页面。C/C++ 插件已经默认配置完毕,但需要在里面的 args 选项中加入 /DUNICODE,/DUNICODE,/DEBUG。

这是为了让生成工具预定义使用宽字节字符集和调试模式下的宏,可以根据需要自行追加,配置过后如下:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: cl.exe 生成活动文件",
			"command": "cl.exe",
			"args": [
				"/Zi",
				"/EHsc",
				"/nologo",
				"/DUNICODE",
				"/D_UNICODE",
				"/DEBUG",
				"/Fe${fileDirname}\\${fileBasenameNoExtension}.exe",
				"${file}"
			],
			"options":
			{
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$msCompile"
			],
			"group": "build",
			"detail": "编译器: cl.exe"
		}
	]
}

配置生成任务后,回到 main.cpp 页面,点击终端选项中的运行生成任务,选择提示已配置的任务。底下会出现一个终端框,里面会有生成结果的显示。出现”生成已成功完成“就表示生成成功,而 VSCode 的左侧文件目录会多出

几个文件,可以看到编译生成的可执行文件 main.exe。

有了编译还不够,还需要一个调试的配置。

选择 VSCode 上方运行选项中的添加配置,选择出现的下拉列表中的 C++(WIindows)。进入 launch.json 的编辑界面,点击右下方的添加配置按钮,将出现一个下拉选择列表,选择里面的 C/C++(windows) 启动。

VSCode 会自动添加相关配置,我们需要修改里面的 program 项,修改为"${fileDirname}\\${fileBasenameNoExtension}.exe",这样 VSCode 便能正确设置被调试文件。配置好后如下文:

{
	// 使用 IntelliSense 了解相关属性。
	// 悬停以查看现有属性的描述。
	// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
	"version": "0.2.0",
	"configurations": [
	{
		"name": "(Windows) 启动",
		"type": "cppvsdbg",
		"request": "launch",
		"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
		"args": [],
		"stopAtEntry": false,
		"cwd": "${fileDirname}",
		"environment": [],
		"console": "externalTerminal"
		}
	]
}

配置完毕后,回到 main.cpp 页面,点击上方运行选项中的非调试模式运行(或者按下 Ctrl + F5),VSCode 会自动执行我们通过生成任务生成的 exe。

调试的方法是在下好断点后,点击上方运行选择中的启动调试(或者按下 F5),就会开始进入调试模式。左侧的文件目录框也会变成调试界面框。

这样调试和编译就完成了,在您的其他项目中,为了不必要的重复配置,可以把文件目录里的 如 C:\Project\.vscode 文件夹复制到您的项目文件夹里,这个 .vscode 文件夹保存的是您的配置文件。

类似这样的文件结构:

VSCode 项目文件结构
	├ .vscode <folder>  //保存配置的文件夹
	│	├ task.json 					
	│	├ launch.json
	│	└ c_cpp_properties.json
	│
	├ other.h 			//第三方头文件
	├ other.cpp			
	│
	└ main.cpp			//源文件

3. 使用 EasyX

VC 生成工具里面已经加入了 Easyx 的头文件和库文件,但还需要在您的生成任务 (task.json) 配置中加入这些库:shell32.lib gdi32.lib user32.lib ole32.lib

像下文这样。

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: cl.exe 生成活动文件",
			"command": "cl.exe",
			"args": [
				"/Zi",
				"/EHsc",
				"/nologo",
				"/DUNICODE",
				"/D_UNICODE",
				"/DEBUG",
				"/Fe${fileDirname}\\${fileBasenameNoExtension}.exe",
				"${file}",
				"user32.lib",
				"ole32.lib",
				"gdi32.lib",
				"shell32.lib",
			],
			"options":
			{
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$msCompile"
			],
			"group": "build",
			"detail": "编译器: cl.exe"
		}
	]
}

4. 其他事项

如果需要多文件编译,假设这里您有一个 a.h 和 a.c,需要在 args 里面加入 a.c,调整后的大致如下所示:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: cl.exe 生成活动文件",
			"command": "cl.exe",
			"args": [
				"/Zi",
				"/EHsc",
				"/nologo",
				"/DUNICODE",
				"/D_UNICODE",
				"/DEBUG",
				"/Fe${fileDirname}\\${fileBasenameNoExtension}.exe",
				"${file}",
				"a.c",
				"user32.lib",
				"ole32.lib",
				"gdi32.lib",
				"shell32.lib",
			],
			"options":
			{
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$msCompile"
			],
			"group": "build",
			"detail": "编译器: cl.exe"
		}
	]
}

在您的其他项目里若引用了第三方库,需要在 .vscode\task.json 里 args 项加入相关库的引用。

args 项是 cl.exe 的命令行参数,想了解更多。可以前往 https://docs.microsoft.com/ 中查询相关用法。

想了解更多关于 VSCode 的环境配置,可以前往一下官方的三个链接:

1.VSCode On MSVC:https://code.visualstudio.com/docs/cpp/config-msvc

2.VSCode On GCC:https://code.visualstudio.com/docs/cpp/config-mingw

3.VSCode On WSL_GCC:https://code.visualstudio.com/docs/cpp/config-wsl

添加评论