使用使用VSCode写写c++及调试及调试
最近换了ubuntu系统折腾,在ubuntu上不想搞visual studio这么笨重的IDE(当然能用Visual Studio的那个当然还是最好
的),听说VSCode挺好用的,于是尝试了下。VSCode是一个轻量级的编辑器,但是可以通过插件实现非常强大个性化的功
能,这里尝试使用VSCode写c++代码及调试。
这个方面文章写的够多了,只记录下自己上手vscode遇到的一些问题以及参考的一些博客链接。
首先关于vscode c++编程教程,参考官方教程,这个教程是在WSL(Windows Subsystem for Linux)平台上的vscode中编写
c++,在ubuntu上的操作基本上一样。
遇到问题:
c++插件安装的问题
在安装vscode以及安装g++以及gdb的部分都没有问题,但是安装c++插件时按照vscode的提示好像有一些依赖没有安装上。
参考这篇博客解决了——实际问题可能是因为网络或者代理的问题,导致无法下载c++插件的一些依赖项,按照该博客所说在
插件的目录中找到package.json文件,并从中找到依赖项的网址,通过其他方式下载这些依赖项(比如我用的uGet下载),再按
照博客里说的方法复制一些文件到c++插件目录中去就解决了。打开vscode发现intellisense又好使了,一切如官网一样。
.vscode文件家下几个.json文件作用
task.json——以设置任务/动作的方式来执行编译命令,打开查看其内容,可以看到实际上是执行了g++的编译指令来编译
c++程序
launch.json——调试相关设置。task.json设置编译时相关的属性,而launch.json设置运行时相关的属性,比如通过gdb运行程
序就可以进行调试
c_cpp_properties.json——编译路径与智能感知设置,包括包含路径、c++标准、编译器路径之类的
在vscode中使用cmake管理项目
通过上面第1部分,已经可以在VSCode中写c++,有智能补全,有文档等,还可以跳转到定义,查看声明、定义与引用等,在
辅助编码上基本上像一个IDE了;但是如果还想在vscode中使用cmake,打开查看、编译与调试cmake管理的项目需要怎么
做?
——这里参考这篇博客实现在vscode中使用cmake管理。通过这篇博客我们基本能知道:
task.json执行动作,基本相当于vscode中的命令行或是脚本。使用该配置文件来配置编译过程等(比如设置动作为执行g++命
令使用gcc编译器编译程序,或是设置动作为调用build.sh脚本,在build.sh中通过cmake来按照CMakeLists.txt编译),执行该动
作使用Ctrl+Shift+B
launch.json用来设置程序运行的相关配置,比如执行哪个可执行文件、执行使用的参数等,通过该配置文件可以设置使用gdb
来调试程序,启动运行/调试使用Ctrl+Shift+D
c_cpp_properties.json指定添加的库的头文件路径等,添加了头文件路径自动补全才能用,比如写#include <iost可以提示补全
为#include ;写下取成员运算符.时会出现该对象可用成员变量与函数等
以上每次新建或者打开项目都需要配置task.json,launch.json以及c_cpp_properties.json等,过于繁琐。为了不那么麻烦,简
化成傻瓜操作,可以下载安装一个CMake Tool的插件,如下:
然后在状态栏会出现build按钮与debug的图标(为什么我这里有两套Build和Debug,因为我不小心装了两个CMake Tool,一个
1.3.0,一个1.5.2=.=||)
点击build即可编译项目,如果没有设置编译套件(Kits),会弹出提示选择套件,如下所示: