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-core
gcc-g++
make
gdb
binutils
10):之后点击左下角的下一步。
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)自身其实仅仅是一个编辑器, 是不具备 ...
随机推荐
- 使用setsid替代nohup
使用setsid替代nohup 使用 nohup 执行sudo -e时会有问题的.
- ubuntu 安装 theano
参考博客: http://www.cnblogs.com/anyview/p/5025704.html 1. 安装gfortran, numpy, scipy, sklearn, blas, atla ...
- Spring boot整合shiro权限管理
Apache Shiro功能框架: Shiro聚焦与应用程序安全领域的四大基石:认证.授权.会话管理和保密. #,认证,也叫作登录,用于验证用户是不是他自己所说的那个人: #,授权,也就是访问控制,比 ...
- Elasticsearch源码分析 | 单节点的启动和关闭
本文主要简要介绍Elasticsearch单节点的启动和关闭流程.Elasticsearch版本:6.3.2 相关文章 1.Google Guice 快速入门 2.Elasticsearch 中的 G ...
- shell if [ -d filename]
[ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ ...
- hdu1242Rescue
STL容器之优先队列 优先级队列,以前刷题的时候用的比较熟,现在竟然我只能记得它的关键字是priority_queue(太伤了).在一些定义了权重的地方这个数据结构是很有用的. 先回顾队列的定义 ...
- luoguP2490 [SDOI2011]黑白棋 博弈论 + 动态规划
博弈部分是自己想出来的,\(dp\)的部分最后出了点差错QAQ 从简单的情况入手 比如\(k = 2\) 如果有这样的局面:$\circ \bullet $,那么先手必输,因为不论先手怎样移动,对手都 ...
- [BZOJ5291][BJOI2018]链上二次求和(线段树)
感觉自己做的麻烦了,但常数似乎不算差.(只是Luogu最慢的点不到2s本地要跑10+s) 感觉我的想法是最自然的,但不明白为什么网上似乎找不到这种做法.(不过当然所有的做法都是分类大讨论,而我的方法手 ...
- 洛谷OJ U552 守墓人 线段树模板题
题目描述 Description 在一个荒凉的墓地上 有一个令人尊敬的守墓人, 他看守的墓地从来 没有被盗过, 所以人们很放心的把自己的先人的墓 安顿在他那 守墓人能看好这片墓地是必然而不是偶然... ...
- java 程序消耗 cpu 100% 查找方法
问题原因:由于HashMap是非线程安全的,在多线程访问时,造成死循环. 查找问题方法: 1. top 找出最耗费cpu的进程号 如:27377 2. top -p 27377 -H 找出此进程下的所 ...