[VisualStudioCode]_[VSCODE]_[C/C++开发环境配置]
2020-05-10 04:09
2641 查看
场景
1.
Visual Studio Code发展到现在已经相当稳定了.已经不想1年前的那么卡和慢.目前它有可能成为通用语言开发利器。单就说支持
C/C++的智能提醒, 函数跳转, 头文件跳转, 编辑器
Debug就很省开发时间. 还有什么理由不用它呢?
2.
Sublime Text现在功能更新的节奏也慢了下来, 也对,
Sublime Text的小团队怎么能和大团队微软相比, 而且
vscode还是免费的,功能还多,完善。
安装VSCode
点击下载安装 Visual Studio Code
说明
1.
VSCode让我看到了用轻量级编辑器开发
C/C++项目的希望.
C/C++ 开发编译调试
1.安装
C/C++插件, 按
Ctrl+Shift+P->
Extensions:Intall Extensions,之后在左边搜索框输入
C++,选择
C/C++微软开发的版本和
C++ Intellisenseaustin的版本安装两个扩展.
2.新建项目,
vscode没有新建项目这一说,只需要把项目文件夹拖动到
Explorer视图里就行了. 比如我这里把
test-vscode2拖放进去。也可以通过菜单
File->
Open Folder...打开文件夹. 如果只是编译某个文件,其实连添加文件夹的步骤都不需要。最主要的是当前项目根目录下需要一个
.vscode目录.
2.在这文件夹下新建一个文件
test.cpp,当然你也可以直接在桌面右键某个
cpp文件用
vscode打开. 打开
test.cpp,输入
main根据智能提示选择
main的代码片段. 之后随便添加点输出,如下:
#include <iostream> int main(int argc, char const *argv[]) { std::cout << "hello world" << std::endl; return 0; }
3.编辑完这个
test.cpp文件时候, 注意当前编辑器要显示这个
test.cpp文件,不是其他文件,接着按
F5->选择
C++ (GDB/LLDB),会生成一个调试运行配置文件
launch.json,而且还有一个
.vscode目录,这个
.vscode就是项目配置目录,不可改名,不可删除.
单击编辑
launch.json,修改
program(编译后可执行文件路径)和
miDebuggerPath(gdb程序路径)属性,完成后的看以下的
json文件,关于属性的说明看
launch.json里的微软超链接属性说明. 之后添加一个属性
preLaunchTask来作为运行前的编译任务名
build-cygwin,我这里用
cygwin作为编译工具链, 也可以使用
Mingw作为编译工具链.
launch.json
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(cygwin gdb) launch", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\build\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment":[], "externalConsole": false, "preLaunchTask": "build-cygwin", "MIMode": "gdb", "logging": { "moduleLoad": true, "trace": true }, // "windows": {"options": {"env": {"path":"C:\\Windows;C:\\Windows\\System32;E:\\software\\cygwin64\\bin"}}}, "miDebuggerPath": "E:\\software\\cygwin64\\bin\\gdb.exe", "setupCommands": [ { "description": "asdfas", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
4.关于安装
Mingw作为
g++编译器工具链,这里有说明配置Mingw. 也可以直接在这里下载MinGW. 这个没什么好说的,下载了安装包直接跟着下一步走就行了.
关于安装
Cygwin的下载安装包. 这两个工具链难点就是在选择安装工具链下哪些工具,我安装
Cygwin工具链下的这些工具,注意在小三角里选择最新的版本,之后不需要下载源代码(有需要可以下): 我推荐使用
cygwin毕竟可以下载
make等构件工具,
mingw要另外找来下载.
5.添加编译设置,点打开
test.cpp文件为当前文件, 按
F5,这时候会出现以下提醒:
点击
Configure Task,选择
C/C++: cl.exe build active file,会在
.vscode下生成一个
tasks.json文件:
6.
tasks.json是执行编译或其他任务的配置文件,当按快捷键
Ctrl+Shift+B就会出来任务名称, 选择其中的任务执行编译等操作. 我们把它改为
Cygwin或
mingw的工具链配置. 同样在这里也是可以看配置属性说明. 我这里设置了两个编译器的配置,所以添加了两个任务. 注意这里有添加属性
windows,是为了不在系统环境变量
path添加
g++.exe运行搜索路径,也可以在系统环境变量的
path里添加这个工具链
bin路径,不要两个工具链都添加到系统环境变量里,会冲突,如果只是在
tasks.json里添加,不会污染系统环境,最大程度模拟了客户的环境,因为客户电脑并没有这两个工具链:
我这里在
args参数里输出
exe添加了一个
build目录,所以需要在
test-vscode2目录下新建一个
build目录,作为输出目录. 需要自己添加, 不然会编译失败. 其中
-std=c++11是
g++的编译参数,关于
c++11我开了一个学院课程, 发布完后欢迎来学习C++11语言特性和标准库.
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "command": "g++", "tasks": [ { "type": "shell", "label": "build-cygwin", "command": "E:\\software\\cygwin64\\bin\\g++.exe", "args": [ "-std=c++11", "-g", "${file}", "-o", "${fileDirname}\\build\\${fileBasenameNoExtension}.exe" ], "problemMatcher": [ "$gcc" ], "group": "build", "windows": {"options": {"env": {"path":"E:\\software\\cygwin64\\bin"}}} }, { "type": "shell", "label": "build-mingw", "command": "E:\\software\\MinGW\\bin\\g++.exe", "args": [ "-g", "${file}", "-o", "${fileDirname}\\build\\${fileBasenameNoExtension}.exe" ], "problemMatcher": [ "$gcc" ], "group": "build", "windows": {"options": {"env": {"path":"E:\\software\\MinGW\\bin"}}} } ] }
7.编译文件,首先当前文件打开选择为
test.cpp,接着按
ctrl+shift+b选择
build-cygwin,就是看到编译成功,在
build目录下生成
test.exe文件. 在下边的
TERMINAL窗口能看到输出:
> Executing task: E:\software\cygwin64\bin\g++.exe -std=c++11 -g e:\Project\Sample\test-vscode2\test.cpp -o e:\Project\Sample\test-vscode2\build\test.exe <
8.运行调试
exe文件, 注意因为
launch.json并没有设置环境变量的属性,我们需要新增一个
setting.json项目全局配置文件来添加
cygwin的运行搜索目录.不然
gdb会运行失败.
选择菜单
File->Preferences->Setting,在搜索框里输入
terminal.integrated.env.windows,选择
Workspace,点击
Edit in settings.json. 会生成一个空的
setting.json文件.
完整配置,其实就是加了一个属性
terminal.integrated.env.windows:
{ "terminal.integrated.env.windows": { "path": "C:\\Windows;C:\\Windows\\System32;E:\\software\\cygwin64\\bin" } }
接着打开
test.cpp文件,按
F5,会在右下角弹出,点击
Allow.
之后还需要重新
F5运行,运行成功后,可以在下边的窗口
DEBUG CONSOLE里看到输出.
9.配置头文件跳转,智能提醒. 按
ctrl+shift+p,选择->
C/C++ Edit Configurations(UI).选择
Win32->点击
Add Configuration.会生成一个
c_cpp_properties.json文件. 这个主要是配置头文件查找目录的,
cygwin配置好的如下,配置好之后我们按住
CTRL+点击
test.cpp里的会打开相应的头文件.
{ "configurations": [ { "name": "Linux", "includePath": [ "E:\\software\\cygwin64\\usr\\include", "E:\\software\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\\7.4.0\\include", "E:\\software\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\\7.4.0\\c++", "E:\\software\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\\7.4.0\\include\\c++\\x86_64-pc-cygwin" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "cStandard": "c11", "cppStandard": "c++11", "intelliSenseMode": "gcc-x64", "compilerPath": "E:\\software\\cygwin64\\bin\\g++.exe" } ], "version": 4 }
注意: 增加
compilerPath是为了让
vscode支持用
g++进行实时代码智能提醒(用编译的方式).
10.最后,直接编译运行
F5。只是编译
Ctrl+Shift+b->选择
build-cygwin. 在
DEBUG CONSOLE看运行输出, 在
TERMINAL看编译输出.
11.至于多个文件的项目编译,只能通过
makefile来配置编译,关于
makefile的配置,可以看 通用Makefile配置编译选项. 更完整的通过分析头文件是否更新来编译查看从netbeans里提取的通用构建C++项目的Makefile文件.
参考
debugging-_launch-configurations
c-cpp-properties-schema-reference
infoworld 博客专家 原创文章 347获赞 126访问量 120万+ 关注 他的留言板相关文章推荐
- Visual Studio Code (vscode) 配置 C / C++ 环境的流程
- [VisualStudioCode]_[VSCODE]_[Python开发环境配置]
- Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++的教程详解(主要Windows、简要Linux)
- Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++的教程详解(Windows)【真正的小白版】
- 整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(Windows)
- 整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(Windows)
- visual studio code 配置C++开发环境的教程详解 (windows 开发环境)
- [VisualStudioCode]_[VSCODE]_[Java开发环境配置]
- ssh Visual Studio Code的c++环境配置
- Visual Studio Code中配置GO开发环境
- ubuntu 16.04 VSCode 配置C++开发环境
- Visual Studio Code配置C、C++环境并编写运行的方法
- Visual Studio Code 配置 C/C++ 运行环境 - 搭配 MinGW 完美 GNU 配置 Editor
- Visual Studio Code 配置C/C++环境
- 在Visual Studio Code配置GoLang开发环境
- 在Visual Studio Code中配置GO开发环境
- Visual Studio Code配置C、C++运行环境
- Windows/Mac平台下Visual Studio Code C++开发环境搭建
- VSCode 配置C/C++开发环境
- VSCode 配置C/C++ 开发环境 (超详细的,能解决大多数的安装配置问题)