Visual Studio Code 构建C/C++开发环境
转自: https://blog.csdn.net/sqlaowen/article/details/54645241
最近有消息说,编程将是有史以来最好的工作,可是辗转于于各大主流操作系统的码农们都知道,作为一个程序员尤其是多种语言程序员,会因为开发环境而感到苦恼,传统的SourceInsight又贵又老还不跨平台,Eclispe在性能方面不尽人意,Visual Studio 又大又不跨平台,Vim, Emacs由于门槛和视觉原因又不是所有人都用得习惯,还有一些类似SublimeText, Atom, SciTe, Notepad++等等,由于各种性能是否开源是否可扩展都让程序员各种犹豫,直到VS code从天而降,带着微软Visual Studio强大的智能却又极小的体积,开源跨平台可扩展的流行,踏入编辑器的战场,感觉,要变天了。所以容小农来介绍下Visual Studio Code的初步使用方法:
Visual Sutdio Code以及C/C++插件安装
- 安装VS Code:请打开官网 https://code.visualstudio.com/ 下载编辑器,并一路默认安装。
- 安装cpptools插件(安装方式有两种,任选一种,一种是点击VS code的插件图标调出查找插件窗口然后搜索cpptools,另一种是Ctrl+p 调出VS code的shell,输入ext install cpptools),用于代码分析,编辑提示等等,具体可以参考介绍:https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
- 安装 code runner插件,可以动态运行选中的代码区块,详细介绍:
https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner - 安装 native debug 插件,用于gdb图形化调试你的C/C++程序,详细参考:
https://marketplace.visualstudio.com/items?itemName=webfreak.debug - 重启VS code,
安装完以上插件后,重启VS code,让安装的插件生效。
Visual Studio Code 和GCC共同调试C/C++程序
安装GCC工具链
- 安装C/C++ 的 GCC 工具链,windows上可以安装cygwin或者MinGW, linux/os x如果默认未安装,那安装也非常简单,根据使用的版本网上搜索相应的命令行即可。
Cygwin 下载安装网址: https://cygwin.com/install.html
MinGW 下载安装网址:http://mingw.org/
这里以cygwin为例,注意选择适合你电脑系统的安装文件,64位系统请选择x86_64对应的安装文件。具体安装过程可以自己百度,注意点是,安装时,一定要选中 gcc, g++, gdb, make 等开发工具包。1):首先去网站 www.cygwin.com 下载 Cygwin 的 Windows系统的安装包,32位系统下载steup-x86.exe,64位系统则下载steup-x86_64.exe,界面如下。
2):双击下载好的Cygwin安装包,出现下面界面,点击下一步。
3):之后出现如下界面,默认为第一个选项,意思是从网络下载并安装(从官网下载的不是完整安装包,只是安装引导程序),第二个选项是仅仅下载不安装,第三个则是从本地安装(意思是已经下载好了需要的安装文件)。我还没有下载好文件,并且要安装,所以选择默认第一项,之后点击下一步。
4):在这里选择安装目录,一般要有一个专门用来作开发工具的安装目录,我这里在为C:\Develop,并在此文件下新建用来安装Cygwin的目录,所以总的目录为C:\Develop\MinGW。选择所有用户,之后点击下一步。
5):这里要为将要下载的安装包选择存放位置,我选择在C盘的下载目录。选择好后点击下一步。
6):选择默认,点击下一步。
7):闪过一个页面之后出现如下界面,选择蓝色的网址,这是国内中科大的镜像站,所以网速较快,东北地区的也可以选择上面那一个,是大连东软学院的镜像站,隔得较近,应该比中科大的快。
8):在这个页面之后,就是最重要的一个地方了,会自动进入下一步。
9):在画红线处分别搜索 gcc-core、gcc-g++、make、gdb、binutils,以上所有项目都在 devel 文件夹下。
原本的 5.3.0-5 位置也是 Skip,在点击一次之后,出现如下界面即可,其他的也一样。
gcc-coregcc-g++makegdbbinutils10):之后点击左下角的下一步。
11):这里检查要安装的项目,和上面选择的是不一样的,增加了许多相关的文件,不好检查,不过一般没问题,所以直接点击下一步。
12):此时开始下载并安装Cygwin,时间稍微久一点。
13):根据需要是否在桌面(第一项)和开始菜单(第二项)创建快捷方式,因为我不常用终端模式,但有时候可能需要,所以只选择第二项,点击完成。
调试C/C++程序
- 在操作系统中新建一个工程目录,如 “hello”,然后启动vs code,打开这个空目录:
用vs code 在hello目录新建一个源文件 hello.c:
文件内容如下:
#include <stdio.h>
int g_var = 0;
void print_line(char *str)
{
if (str != NULL)
printf("%s\r\n", str);
else
printf("null string\r\n");
}
int main (int argc, char **argv)
{
int l_var = 1;
print_line("hello world!");
printf("g_var = %d, l_var = %d.\r\n", g_var, l_var);
return 0;
}
*3. 添加头文件索引路径。在hello.c中,你会发现include头文件那一行下面有绿色的波浪线,代表vs code的cpptools插件找不到相应路径,将鼠标移到这一行点击。
左边会出现一个提示的黄色小灯泡符号,点击它,然后点击“Add include path to settings”按钮, 将生成并打开一c_cpp_properties.json 文件,编辑这个json文件,添加c/c++头文件的路径进去:
这里cygwin的头文件路径为: “C:/cygwin/usr/include/*”,将它添加到”includePath”这个变量中。
4. 设置编译构建环境。
在vs code中点击hello.c回到hello.c文件,调用快捷键 Ctrl+Shift+B 构建可执行文件。
此时vs code会报错,在vs code的顶栏显示“No task runner configured”,你只需要点击右边的蓝色按钮“Configure task runner”来生成编辑task.jason即可:
点击后,在弹出的选择栏中选择”Others“:
选择后会创建并打开一个task.jason的配置文件, 修改其中的command 和 args变量并保存:
"command": "gcc ",
"args": ["-g", "${file}", "-o", "${workspaceRoot}/hello.exe"],
- 1
- 2
*5. 构建hello.exe。
直接快捷键 Ctrl+Shift+B将hello.c编译构建为hello.exe,
这时你会发现vs code的左边栏中多了一个hello.exe文件。
6. 运行和调试hello.exe。
快捷键 Ctrl+Shift+D 或者点击左边Debug按钮调出debug窗口。
按快捷键F5准备调试这个程序,此时会弹出选择debug的环境,选择 “GDB”即可。
之后会创建并打开launch.jason配置文件,修改一下“target”这个变量内容为”./hello.exe”:
使用gdb调试,添加监控变量(在WATCH栏中添加变量名)和断点(鼠标在hello.c的左边栏点击显示红色即可添加断点),如:
快捷键F5运行调试,运行到断点后观察左边DEBUG栏目中显示的各种信息,然后
继续按绿色按钮(或快捷键F5)继续运行,如:
点击右下方DEBUG输出栏中的 ”DEBUG CONSOLE” 将看到程序运行时打印的信息:
7. 至此,一个简单的在WINDOWS上用VS Code编辑和调试C程序的例子完毕。
Visual Studio Code编辑时的常用快捷键
快捷键 | 作用 |
---|---|
F1或Ctrl+Shift+P | 打开VS Code的命令Shell |
Ctrl+P | 打开VS code文件/符号查询窗口,输入”>”可以进入F1同样的Shell |
Ctrl+Shift+O | 查找符号,函数,属性 |
Ctrl+G | 跳转到某行 |
Ctrl+[ | 代码缩进 |
Ctrl+] | 代码往前移进 |
Ctrl+F | 查找文本 |
Ctrl+H | 查找替换 |
Ctrl+Shift+F | 整文件夹中查找 |
Ctrl+ + | 放大文本 |
Ctrl+ - | 缩小文本 |
Ctrl+ Home | 移动到文件头 |
Ctrl+ End | 移动到文件尾 |
Ctrl+ Tab | 在多个文件之间切换 |
Ctrl+ / | 注释/解注释鼠标选中的代码块 |
Ctrl+ \ | 切分当前窗口 |
Ctrl+ N | 新建文件 |
F12 | 跳转到变量,函数,类型定义 |
Alt+鼠标点击 | 连续选中多个文本,同时编辑 |
Alt+F12 | 查找所有对当前变量,函数,类型的引用 |
Alt+<-方向键 | 跳回到上一视图 |
Alt+上下方向键 | 上下移动当前光标所在行 |
Shift+Alt+上下方向键 | 向上/向下复制一行 |
Ctrl+Enter | 在当前行下边插入一行 |
Ctrl+Shift+Enter | 在当前行上方插入一行 |
Alt+Shift+鼠标左键 | 列编辑 |
Shift+Alt+F | 代码格式化 |
Visual Studio Code官方资源
编辑C++文件: http://code.visualstudio.com/docs/languages/cpp
写VS Code扩展插件:https://code.visualstudio.com/docs/extensions/example-hello-world
Visual Studio Code 构建C/C++开发环境的更多相关文章
- 【转载】Visual Studio Code 构建 C/C++ 开发环境
https://www.cnblogs.com/XieSir/articles/8288051.html 1. 安装 MinGW Distro / MinGW / GNU GCC 中的任何一款,( W ...
- Visual Studio Code中配置GO开发环境
在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...
- Visual Studio Code搭建NodeJs的开发环境
一.Visual Studio Code搭建NodeJs的开发环境 1.下载安装NodeJs并配置环境变量 可以参考:NodeJs的安装和环境变量配置 2.下载安装 VS Code编辑器 可以参考:V ...
- 在Visual Studio Code中配置GO开发环境
一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...
- windows通过Visual Studio Code中配置GO开发环境(转)
一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...
- Visual Studio Code 搭建 C/C++开发环境方法总结
之前看错资料踩了不少坑,先将可行经验总结如下: 1. 下载 Visual Studio Code 并安装.地址:https://code.visualstudio.com 2. 安装 C/C++插件与 ...
- Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建
我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...
- Visual Studio Code (vscode) 配置 C / C++ 环境
Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...
- Visual Studio Code中C/C++的环境配置
Visual Studio Code 的功能十分强大,但是对我这种小白不是很友好,它和其它的集成开发工具不同,Visual Studio Code (以下简称VS)自身其实仅仅是一个编辑器, 是不具备 ...
随机推荐
- think组合查询AND和OR一起用
如下示例: $_where 和 $where组合查询 $_where之间用OR $where之间用AND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- Hadoop Hive概念学习系列之hive里的JDBC编程入门(二十二)
Hive与JDBC示例 在使用 JDBC 开发 Hive 程序时, 必须首先开启 Hive 的远程服务接口.在hive安装目录下的bin,使用下面命令进行开启: hive -service hives ...
- FGPA 中的计数器Verilog语言(时钟分频器)
在quartusII8.0中为ALTERAFPGA设置一个分频器(计数器) 输入时钟48Mhz 输出时钟9600HZ /* 实验名称: 计数器 ** 程序功能: 将48Mhz的时钟分频为9600Hz ...
- python 并集union, 交集intersection, 差集difference, 对称差集symmetric_difference
python的集合set和其他语言类似,是一个无序不重复元素集, 可用于消除重复元素. 支持union(联合), intersection(交), difference(差)和sysmmetric d ...
- Java设计模式GOF之工厂模式
一.工厂模式(Factory) 1.实现了创建者和调用者的分离 2.应用场景 ①JDK中 Calendar 的 getInstance(): ②JDBC 的 Connection 对象的获取: ③Hi ...
- 【推导】【贪心】Codeforces Round #472 (rated, Div. 2, based on VK Cup 2018 Round 2) D. Riverside Curio
题意:海平面每天高度会变化,一个人会在每天海平面的位置刻下一道痕迹(如果当前位置没有已经刻划过的痕迹),并且记录下当天比海平面高的痕迹有多少条,记为a[i].让你最小化每天比海平面低的痕迹条数之和. ...
- 【洛谷】4310: 绝世好题【二进制DP】
P4310 绝世好题 题目描述 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). 输入输出格式 输入格式: 输入文件共2行 ...
- hdoj 5113 Black And White DFS+剪枝
Black And White Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others) T ...
- mysql关联查询和联合查询
一.内联方式 1.传统关联查询 "select * from students,transcript where students.sid=transcript.sid and transc ...
- Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步
Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步,一定要绑定内网IP,而对于跨机房的问题,可以使用iptables进行nat转发来解决.