第一步我们需要下vscode,Vscode简单说一下就是文本编辑器,但是它包含了许多语言以及安装包和链接,所以对于很多程序开发者是最常用的开发软件之一。这里需要进入官网进行下载。
Visual Studio Code - Code Editing. Redefined 这是下载链接,戳进去就是官网,然后点击下载就好,最好用最新版的。然后就是安装路径最好安装到其他盘,很多同行都是喜欢把编程软件这些放在C盘,因为有些确实放其他盘打不开,但是其实还是看软件,像这种方便查找的,可以放找的到的地方。
再下载完了之后。然后我们去安装mingw,这里推荐大家安装包或者去官网,但是一般官网的速度很慢,方便可以找找镜像源,推荐去清华镜像源进行查找然后拷到一个u盘比较好,因为确实下载时间还是有点小久。
第二步我们需要第mingw进行配置,设置环境变量,在设置里面找到环境
然后进入这里
然后点进去双击PATH
然后我们需要对这个进行配置这个路径
新建一个然后把你安装的路径放进去
然后我们检查是否安装成功以及gcc能不能用,打开命令行,win+r,输入cmd(这里最好也是用管理员打开),然后输入如下指令 g++ --version。这样有版本就代表设置成功,不成功就安装流程仔细看看哪里出错了
第三步就是进入vscode进行插件的配置
首先我们需要安装C相关的,有一个扩展搜一下就能找到
还有这个
下面就最重要的vscode配置gcc环境
第四步在你创建的文件里面,去创建一个放json的文件夹
然后再点击左边那个,然后现在需要我们创建4个.json文件,就是如图所示
然后,每个.json放的代码我这边会给出来,其中需要注意的是
首先是c_cpp_properties.json
这里的代码可以copy全部再改,可以明显看到就是includepath这里面的东西是需要手动放进去的
还有就是comlierpath 这里放的是你存mingw bin的位置,格式记得和放的位置一样建议复制。
{
"configurations": [
{
"name": "Win64",
"includePath": [
"${workspaceFolder}/**",
"E:/software/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
"E:/software/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
"E:/software/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
"E:/software/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
"E:/software/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
"E:/software/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "E:/software/mingw64/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
然后是launch.json的代码块
这里也是需要把下面的midebuggerpath给手动配置相对应的路径
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "E:\\software\\mingw64\\bingdb.exe",
"preLaunchTask": "g++",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
然后是settings.json,这个照抄就完事
{
"files.associations": {
"*.py": "python",
"iostream": "cpp",
"*.tcc": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"ostream": "cpp",
"new": "cpp",
"typeinfo": "cpp",
"deque": "cpp",
"initializer_list": "cpp",
"iosfwd": "cpp",
"fstream": "cpp",
"sstream": "cpp",
"map": "c",
"stdio.h": "c",
"algorithm": "cpp",
"atomic": "cpp",
"bit": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"compare": "cpp",
"concepts": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"exception": "cpp",
"ios": "cpp",
"istream": "cpp",
"iterator": "cpp",
"limits": "cpp",
"memory": "cpp",
"random": "cpp",
"set": "cpp",
"stack": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"xfacet": "cpp",
"xiosbase": "cpp",
"xlocale": "cpp",
"xlocinfo": "cpp",
"xlocnum": "cpp",
"xmemory": "cpp",
"xstddef": "cpp",
"xstring": "cpp",
"xtr1common": "cpp",
"xtree": "cpp",
"xutility": "cpp",
"stdlib.h": "c",
"string.h": "c",
"system_common_package.h": "c",
"stubs_public.h": "c",
"loops_package.h": "c",
"acquisition_package.h": "c",
"rsc_services_public.h": "c",
"linker_public.h": "c",
"systemcharacterization_package.h": "c",
"osek_package.h": "c",
"can_public.h": "c",
"eeprom_package.h": "c",
"emulated_eeprom_database_public.h": "c",
"emulated_eeprom_manager_public.h": "c",
"section_header_public.h": "c",
"com_package.h": "c",
"can_diag_intra.h": "c"
},
"editor.suggest.snippetsPreventQuickSuggestions": false,
"aiXcoder.showTrayIcon": true
}
然后添加tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "g++",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"group": "build"
},
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "E:/software/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "E:/software/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
]
}
然后就是我们可以简单创建一个文件夹和这个带有4个.json的文件放在一起。这里最好放在一起,不然你就得在你的新代码文件添加环境的4个文件。
最后我们简单跑跑一个小程序用helloworld验证一下
后面其实还会经常出现对于g++寻找不到,或者说#include找不到请更新inlcudepath的情况,首先就是说先看c_cpp_properties.json的文件
打开终端
输入下面指令
gcc -v -E -x c -
然后把这个放到c_cpp_properties.json的includepath里面去,这里检测出来有多少就放多少。
然后有个就是记得一直常用管理员打开,这个其实很多程序都开着就好
目前对于最新版的vscode不用特别进入settings里面去点,一般都是自动点好了的,有问题可以再去查看。
第五步关于调试
VScode其实就是对于变量的查看以及断点的使用,这里因为vscode的ide集成比较强,我们打开这个,可以看到这个按键
然后可以看到下面的图里,点击一下,如果没有,就点击上面安装的时候的C/C++的扩展