1、vscode搭建C++开发环境及一些配置文件的含义
文章目录
一、vscode搭建开发环境
1、下载和配置MinGW-w64 编译器套件
下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
点击进去后然后下拉差不多到底
根据自身需求选择上图其中的一个下载
2、安装到电脑中
解压刚下载的压缩包,然后打开把mingw64这个文件夹复制到你想要放到的位置,类似如下(这就是你这个编译套件的地址)
3、配置环境变量
在电脑上找到变量,然后在系统变量中找到Path,,将第二步中mingw64中的bin文件的路径拷贝进去
4、测试是否安装成功
window+r打开CMD命令 输入gcc --version 查看是否安装成功
输入where gcc可以查看安装的位置
5、vscode上安装C/C++插件
打开vscode的扩展,搜索这个插件并安装成功后重启vscode即可
二 、配置编译环境时各个文件的含义
1、task.json:此文件告诉VS代码如何构建(编译)程序,即成功运行后会生成对应的可执行文件(名字有task.json里面的参数决定)
(1)tasks.json的主要作用就是执行类似 gcc -g main.c -o main 的命令,需要注意的一点是,tasks.json的"label"参数值和launch.json的"preLaunchTask"参数值需要保持一致
1)在launch.json中里面参数——“preLaunchTask”:表示在执行launch.json之前需要先哪个执行( task.json(与哪个tasks.json的"label"匹配,就执行哪个task)
(2)tasks.json这个文件是定义调试开始前要执行的任务, 定义了用于编译程序的编译器,所输出的文件格式,使用的语言标准等
2、launch.json(里面主要是编译器参数):用于执行编译好的文件(看program的指向),也可以进行dubug(GDB)
(1)添加配置时选择 gdb 与 launch 参数原因
1)为什么选gdb不选 windows:因为这个不会执行预任务,也就没法编译文件了
2)为什么选 launch不选attach:因为attach用来给正在执行的文件用的,比如网页中的组件,而launch是执行新文件
(2)launch.json各参数含义
1)program选项为要调试程序的路径
2)args为运行时添加的参数
3)stopAtEntry选项默认为false,若设置为true,则会在函数入口中暂停
4)externalConsole为是否在外部控制外运行,设置为true会弹出windows的运行窗口
5)miDebuggerPath为gbd调试器的路径
6)setupCommands为启动调试前为GDB调试器设置相应的命令
7)preLaunchTask选项为运行调试前执行的任务
三、配置文件中变量索引的含义
1)${workspaceFolder} :VS Code 中打开的文件夹目录 (通常是项目的位置2)${workspaceFolderBasename} :没有任何斜杠 (/)的 VS Code 中打开的文件夹目录3)${file} :当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名4)${relativeFile} :从当前打开的文件夹到当前打开的文件的路径 ,如当前打开的是test文件夹,当前的打开的是main.c,并有test / first / second / main.c,那么此变量代表的是 first / second / main.c5)${fileBasename} : 当前打开的文件名+后缀名,不包括路径(有拓展名,如: main.cpp)6)${fileBasenameNoExtension} : 当前打开的文件的文件名,不包括路径和后缀名7)${cwd}: task runner的工作目录8)${fileDirname} :当前打开的文件所在的绝对路径,不包括文件名9)${fileExtname} : 当前打开的文件的后缀名10)${lineNumber} :文件中目前被选择的行数11)${selectedText}: 文件中目前被选择的内容12)${workspaceRootFolderName} : 当前打开的文件夹的名字
来源地址:https://blog.csdn.net/m0_63702526/article/details/130136040
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341