关于vscode开发C++程序的配置方法,来来回回搞过很多次,每次换个电脑后,或者从windows系统转到linux系统开发,在VS Code上要调试C++程序,就又要配置一下。出问题后,每次出问题然后在网上搜方法。一找就是几个小时,人也搞的心情很不好。
经过几次折腾,自我反思了一下,主要就是不认真,学习东西不求甚解,问题解决后,又不懂总结,或者懒得总节,导致问题一次次重复出现,反复出现,反复用时间去解决重复的问题。所以。好像很努力,却总是没长进。
以后多总结。
本文件主要记录task.json;launch.json;c_cpp_properties.json;这3个配置文件的关系,免得被搞的一团乱。
以下是正题部分:
1.必要插件及编译器安装(windows和linux一样)
(这个跟vscode帐号绑定,不需要每次都安装,一个帐号安装一次就好了,跟windows还是linux系统没关系)
默认安装了vscode。插件安装可以参考这个作者的博客:【Tools】如何在VSCode上使用C++ 保姆教程_vscode怎么运行c++代码-CSDN博客
a).插件:
如下图两个插件就可以了。(其它辅助的,根据自己方便安装,无所谓)。
b)编译工具
windows系统跟linux有点区别,需要分别装。
b.1(windows系统)
详细操作参考上述的博客:
主要步骤就是3步。
1、安装好 MSYS2并打开(记住这个安装路径,后面设置系统includepath有用)。
2、在这个包管理器软件中安装mingw。输入下述命令:
pacman -S mingw-w64-ucrt-x86_64-gcc
3、然后安装依赖,输入下述命令:
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
b.2(linux系统)
linux系统自动安装有,不需要单独安装(除非系统异常了)。这里要掌握一个方法,如何查找头文件位置。可以用如下命令在ubuntu系统里找文件。
sudo find / -name 头文件名称.后缀。
c)设置系统默认include库文件的
安装好插件后,要设置一下系统路径,方便编辑器语法提示能找到C++相应的头文件(比如,include <iostream>这些头文件,没设置好,就有红波浪线提示,找不到库文件。(了解含义参考:VS Code添加头文件 全局 include path 和 工作区 include path - unrulife - 博客园)
2.配置
这是本文要详细说的部分。
前言
配置好了,就可以运行c++程序了。所以,配置前,有必要先知道,vscode里有多少种方法运行c++程序。
如下图:有4个地方可以触发运行编辑的程序。(一般用位置2,或快捷键),本文默认讲的是从位置2运行。这4个位置和各配置文件的关系:参考:
VSCode中 task.json 和 launch.json 的作用和参数解释以及配置教程_vscode task.json配置-CSDN博客
1、创建配置文件
主要有3个配置文件:task.json;launch.json;c_cpp_properties.json;
tasks.json (构建设置)
launch.json (运行设置)
c_cpp_properties.json(编译器路径和智能感知设置)
settings.json(调试器设置,主要是头文件路径,这个在前面安装插件时设置系统路径用到了)
a)创建launch.json;c_cpp_properties.json;
假设vscode已打开了一个文件夹,并另保存为工作区(在vscode左上角菜单栏“文件”的选项中).
一般就有launch.json;c_cpp_properties.json这两个配置文件了。
(如果还没有,且连图片里.vscode这个文件夹都没有,就点击图中位置的新建文件,就会自动创建了)。
还缺一个task.json。
b)创建task.json
按下图点击,即可创建了(c++项目选g++吧)。
2、设置各配置文件
在设置之前,先了解VSCode变量的含义:参考如下:
VSCODE中各种预定义变量汇总_vscode workspace定义变量-CSDN博客
vscode launch.json和task.json配置(重要参数详解)_vscode tasks.json配置详解-CSDN博客
a)设置task.json
用默认就好,
b)设置launch.json
主要注意“name"这个参数的值 ,launch.json的"name"的值要和task.json中相应的"label"值相同。(下图中因为是引用别的博文的图,跟我的task.json里的label值不一致(我的是"C/C++: g++.exe 生成活动文件",下图是""C/C++ Launch (GDB)"。
可以在这个文件中设置设置时不弹出cmd窗口,见下图红框。
图来自:
【vscode】代码调试时直接显示在vscode终端,而不弹出新的终端_vscode运行显示终端-CSDN博客
c)设置c_cpp_properties.json
主要注意includepath这个参数,如果发现找不到头文件,就把头文件路径加这个参数里。
按上述设置后,点vscode右上角的三角按扭应该就能正常运行c++程序了。
如果弹出cmd窗口,不需要让它弹出,可以在launch.json文件中设置关闭。