在推出强大的Windows平台开发工具之后,微软又推出了一款轻量级的可跨平台的开发工具:VSCode。
如今它名气也非常大,基本上与sublime text,Emacs等主流开发工具并肩。
这篇文章中,笔者将亲自体验Linux下的VSCode的C/C++编程之旅。
配置总体分为以下几步:
1、下载安装VSCode
2、安装cpptools插件
3、安装编译调试环境
4、配置VSCode的调试配置文件
下载安装VSCode
大家根据自己系统下载对应安装包。
Redhat系下载rpm包,Debian系下载deb包。
笔者是debian,所以下载deb包。
下载好deb包,打开终端,进入相应目录,运行
dpkg -i packagename.deb #packagename改为对应下载文件的名称
如果提示依赖关系错误,请断续运行如下命令修复:
sudo apt-get install -f
至此,VSCode已经安装完成。
安装cpptools插件
在如上界面下按键(Ctrl+e)在输入框输入如下命令并回车
ext install cpptools
点击安装,完成之后点击启用。由于笔者已经安装过了,所以截图有所不同。
至此,cpptools插件已经安装好了。
安装编译调试环境。
打开终端,输入如下命令:
sudo apt-get install gdb g++等待安装完成。
由图可见,笔者已经安装好了。
配置VSCode调试配置文件
接下来就是最后一步了,也是很关键的一步。
此处,需要更改3个文件内容。
首先,打开文件夹,此文件夹的所有文件都会被认为是C/C++文件。
第一个要修改的文件:c_cpp_properties.json
新建一个文件,保存为.cpp文件。
输入
#include
后面记得加空格,鼠标指向这个语句,会出现一个小灯泡
点击小灯泡,会出现
点击Add include path to settings
找到对应linux项,修改为:
{
"name": "Linux",
"includePath": ["/usr/include","/usr/include/c++/4.9.2"],
"browse" : {
"limitSymbolsToIncludedHeaders" : true,
"databaseFilename" : ""
}
}
注意上面红色部分,这是C++头文件的位置,由于版本不同,路径可以不同,请自行找到目录验证!前面的为C头文件的位置。
保存,关闭。如不添加C++头文件的目录,include C++头文件的时会报错。
第二个要修改的文件:launch.json
回到CPP文件,在左侧选择调试
点击设置,选择GDB linux,会出现如下:
内容参照如下:{ "version": "0.2.0", "configurations": [ { "name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", // 配置类型,这里只能为cppdbg "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加) "program": "${workspaceRoot}/${fileBasenameNoExtension}.o", // 将要进行调试的程序的路径 "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false "cwd": "${fileDirname}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台 "MIMode": "gdb", //使用GDB调试 "preLaunchTask": "g++" // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }保存关闭。
//更新说明:生成文件名,test.cpp生成的文件由test.cpp.o改为test.o
第三个文件:tasks.json
按键(Ctrl+shift+p)找到任务:运行生成任务
修改如下内容:
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "0.1.0", "command": "g++", #编译器,自行选择g++或gcc "isShellCommand": true, "args": ["-g","${file}","-o","${fileBasenameNoExtension}.o"], #编译时的参数 "showOutput": "always" }保存关闭。
到此处,已经配置好了VSCode对C/C++的支持,可以尽情写代码了!
看效果图:
可设断点、变量监控、堆栈调用。
超棒