VS code在Windows中的C++环境配置

文章目录

本文用到的所有工具都可以在本站下载!

前言
一、VS code下载
二、VS code 安装
三、Windows 编译器MinGW安装
1.下载

  1. 安装
  2. 配置系统环境变量
    四、配置VS code 及工程
  3. 安装插件
  4. 新建工程
  5. json文件配置
    3.1 c_cpp_properties.json
    3.2 tasks.json
    3.3 launch.json

前言


VSCode是由微软推出的一款免费、开源且跨平台的代码编辑器,并具有以下亮点:


1)支持的编程语言较为丰富,如Java、Python、Go、Ruby、C#、C/C++等,只要安装相应的扩展就能很好的完成开发环境的搭建;
2)支持各大主流操作系统,包括Windows、Linux和Mac OS;
3)具有丰富的扩展插件,可灵活扩展想要的功能;
4)相对于IDE,足够的轻量化。

一、 VS code下载

VSCode官网下载页选择对应版本进行下载。根据操作系统选择32位还是64位,为避免后期应用程序的权限问题,建议选择system版本进行下载安装。

二、VS Code 安装

有手就行

三、windows 编译器MinGW安装

Windows和Ubuntu不同,Ubuntu是自带C/C++编译器,但是Windows并没有自带C/C++的编译器,需要自己下载

1.下载
MinGW编译器下载地址 一直往页面下面翻,找到最新发行版,选择对应版本下载,win10 64位操作系统可选择x86_64_posix_seh版本

  1. 安装
    下载完后,直接解压,可将mingw64文件夹直接放在指定的目录下,笔者这里选择了D盘根目录下,切记安装目录不能有中文或者空格等,最好放在根目录下

3. 配置系统环境变量

选择此电脑——右键属性——高级系统设置——环境变量——Path——添加mingw文件夹中bin的路径——点击确定

配置完后,Win+R快捷键打开运行窗口,在里面输入cmd,回车打开cmd.exe, 在cmd中输入
g++ --version, 显示版本号即可

四、配置VS code 及工程

  1. 安装插件
    首先需要安装C/C++插件,另外还有很多方便读写代码的插件,可自行安装,若有别的已安装的extensions的插件包,可直接插件迁移;

提示:安装完插件后,需重启vs code 插件才能生效

  1. 新建工程
    新建一个文件夹test,作为工程目录, 在该目录下新建src目录,用来放源代码,再新建build目录,用来放编译生成的二进制可执行文件,用vscode打开test, 在src目录下新建main.cpp
  2. json文件配置
    若想用F5快捷键快速调试代码,需要配置.vscode目录中的如下三个配置文件,配置文件既可以自动生成、也可以手动配置, 可按照如下步骤配置
    c_cpp_properties.json:配置C/C++扩展的编译器路径和头文件搜索路径,保证代码分析和智能感知正常运行
    tasks.json: 配置编译器执行任务,即在编辑器中执行的自定义命令或脚本
    launch.json: 配置调试器的启动和调试设置
  3. 如果只配置了c_cpp_properties.json 文件而不配置tasks.json和launch.json ,必须要在终端中依次执行如下两条命令,先编译再运行
g++ ./src/main.cpp -o ./build/main
./build/main.exe

3.1 c_cpp_properties.json

按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“C/C++:Edit Configurations(UI)”进入配置,
1)编译器路径:选择mingw安装路径下的/bin/g++.exe;若是C语言,选gcc.exe, C++则选g++.exe
2)IntelliSense 模式:gcc-x64

配置完成后,会发现文件夹根目录下,多出了.vscode文件夹,并且生成了c_cpp_properties.json文件,生成的json文件如下:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "D:/mingw64/bin/g++.exe", //安装的MinGW的路径下的g++.exe
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"  // 需要选择的intelliSenseMode
        }
    ],
    "version": 4
}

3.2 tasks.json

鼠标光标选中 main.cpp 文件,然后操作如下两个步骤
(1)按快捷键Ctrl+Shift+P调出命令面板,输入tasks,选择“Tasks:Configure Default Build Task”
(2)选择C/C++:g++.exe build acitve file,
然后会自动在.vscode目录下生成默认配置的tasks.json

按照自己的实际情况,修改如下注释的参数

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++.exe build active file",// 这个是该配置文件的标签,launch.json会用到该标签
			"command": "D:\\mingw64\\bin\\g++.exe", // 这个是自己电脑的编译器路径
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${workspaceFolder}/build/${fileBasenameNoExtension}.exe"// 编译生成的exe文件地址和名字
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "compiler: D:\\mingw64\\bin\\g++.exe"
		}
	]
}

3.3 launch.json

目前新版的C/C++插件在执行StartDebugging时不会自动生成launch.json文件,所以可在.vscode文件夹中自行添加,内容如下,注意preLaunchTask必须与tasks.json中“label”保持一致。
然后便可以打断点,调试程序了

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "preLaunchTask": "C/C++: g++.exe build active file",//调试前执行的任务,也就是编译任务,
            "type": "cppdbg",//配置类型,只能为cppdbg
            "request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe",//调试程序的路径名称,与tasks.json中生成的可执行文件的路径一致
            "args": [],//调试传递参数
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,//true显示外置的控制台窗口,false显示内置终端
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe",// gdb.exe的路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}


————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议。

原文链接:https://blog.csdn.net/weixin_45606237/article/details/136008535

留下评论