使用 Visual Studio Code 搭建 C/C++ 开发和调试环境
1. 安装 C/C++ 插件
C/C++ 是由 Microsoft 发布的支持 C/C++ 智能提示和调试等功能的插件,安装步骤如下:
- 使用快捷键
Ctrl + Shift + X
呼出扩展面板 - 在搜索框中输入:C/C++
- 再安装由 Microsoft 提供的名为 C/C++ 插件。
2. 安装 MinGW-w64 并配置好环境变量
首先下载 MinGW-w64 点这里下载 MinGW-w64 。下载完成之后我们开始安装 MinGw-w64,安装路径可以自由定义,我这里安装路径为
D:\App\MinGW。安装时需要设置的安装选项如下:
- Version :GCC 版本,直接选最高;
- Architecture :CPU 架构,系统如果为64位,则选择 x86_64;
- Threads :API 模式,使用默认选项;
- Exception :异常处理方式,seh 仅针对 64 位架构,sjlj 则兼容 32 位架构;
- Build revision :修订版本,使用默认选项;
安装过程中需要联网下载部分文件,由于网络问题安装失败的,可以 点这里下载 免安装版本。下载后直接解压在你想安装的文件夹。
然后我们要在安装路径中找到 bin 文件夹,通常在
${MinGW-w64安装位置}\mingw64\bin,以我的安装路径为例,bin 文件夹位于
D:\App\MinGW\mingw64\bin。
接下来,我们将刚刚获取的 bin 文件夹的路径添加到系统环境变量。
- 按
Win + R
键,打开运行窗口,,输入sysdm.cpl
并回车; - 在弹出的
系统属性
窗口,选择高级
选项卡; - 在
高级
选项卡找到环境变量
按钮,单击环境变量
按钮,打开环境变量
窗口 ; - 在
环境变量
窗口的系统变量
区域找到Path
变量 ,双击Path
出现编辑环境变量
窗口; - 在
编辑环境变量
窗口点击新建
,在新建的这行输入我们刚刚获取的 bin 文件夹的路径,然后点确定。
3. 测试环境变量是否配置正确
在命令行输入 gcc --version,如果返回的是已安装的 gcc 的版本信息,那么环境变量就配置正确了。
下面是在我的电脑上输入 gcc --version 的结果,可以看到我安装的版本为:gcc 7.3.0
PS C:\Users\Jason> gcc --version gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4. 创建和设置 C 语言开发工作区
在你的计算机中选择一个合适的位置,作为你的 C 语言开发工作区。建议工作区所在路径仅由字母、数字、下划线组成,不要包含其他的符号。例如空格,空格符号常常作为命令行中命令和参数的间隔符,如果路径包含空格会导致编译时出错。我创建的工作区的路径为:
D:\Study\C\WorkSpace
由于 Windows 中文版命令行输出字符是 GB2312 编码的,而 VS Code 工作区默认是 UTF-8 ,这会导致你编写的 C 代码编译后在命令行执行并查看结果时中文会显示乱码,所以我们要单独针对工作区进行设置字符编码,保证程序输出的字符也采用跟命令行一致的 GB2312 编码,步骤如下:
- 使用 VS Code 打开你创建的工作区;
- 在 VS Code 左下角的设置按钮进设置,再点击
用户设置
旁边的工作区设置
; - 在
工作区设置
中添加"files.encoding":"gb2312"
5. 编写你的第一个 C 语言程序
在工作区新建一个 C 语言源文件命名为 hello.c ,输入以下内容:
#include <stdio.h> #include <windows.h> int main() { printf("hello world!/n"); system("pause"); }
6. 配置导入的头文件参数 c_cpp_properties.json
在编写完毕并保存之后,你可能会看到 #include 这句下面会有绿色波浪线,这是由于编译器没办法找到你所使用的头文件的所在位置。将光标移动到该行,行号左边会出现
黄色小灯泡,点击会出现一个提示按钮:
Add include path to setting,继续点击该提示,则会在工作区
.vscode下生成
c_cpp_properties.json文件。将文件修改成下面内容:
{ "configurations": [ { "name": "Win32", "intelliSenseMode": "msvc-x64", "includePath": [ "${workspaceFolder}", // 下面路径中的 D:/App/MinGw 部分需要替换成你的 MinGw-w64 安装路径 "D:/App/MinGW/mingw64/include", "D:/App/MinGW/mingw64/opt/include", "D:/App/MinGW/mingw64/opt/lib/libffi-3.2.1/include", "D:/App/MinGW/mingw64/x86_64-w64-mingw32/include", "D:/App/MinGW/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include", "D:/App/MinGW/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed", "D:/App/MinGW/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/install-tools/include" ], "defines": [ "_DEBUG", "UNICODE", "__GNUC__=7", "__cdecl=__attribute__((__cdecl__))" ], "browse": { "path": [ "${workspaceFolder}", // 下面路径中的 D:/App/MinGw 部分需要替换成你的 MinGw-w64 安装路径 "D:/App/MinGW/mingw64/include", "D:/App/MinGW/mingw64/opt/include", "D:/App/MinGW/mingw64/opt/lib/libffi-3.2.1/include", "D:/App/MinGW/mingw64/x86_64-w64-mingw32/include", "D:/App/MinGW/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include", "D:/App/MinGW/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed", "D:/App/MinGW/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/install-tools/include" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" }, "cStandard": "c11", "cppStandard": "c++17" } ], "version": 4 }
留意带注释部分的内容,需要将路径修改成你自己的安装路径哦。
7. 配置调试程序 launch.json
打开已经编写好的 hello.c ,然后按
F5调试。因为是第一次调试,系统会弹出
选择环境面板,这里选择
C++(GDB/LLDB)。
选择运行环境后,VS Code 会在工作区
.vscode文件夹下创建
luanch.json模板文件并打开,将文件内容清空,复制下面的内容到文件中并保存:
{ "version": "0.2.0", //配置版本 "configurations": [ { // 配置名称,在启动配置下拉菜单中显示 "name": "(gdb) Launch", // 调试会话开始前要运行的任务 "preLaunchTask": "build", // 配置类型 "type": "cppdbg", // 请求配置类型,可以为启动(launch)或附加(attach) "request": "launch", // 将要进行调试的程序的路径 "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 程序调试时传递给程序的命令行参数,一般设为空即可 "args": [], // 设为true时程序将暂停在程序入口处,一般设置为false "stopAtEntry": false, // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录 "cwd": "${workspaceFolder}", "environment": [], // 调试时是否显示控制台窗口,一般设置为true显示控制台 "externalConsole": true, "MIMode": "gdb", // GDB的路径,注意替换成自己的位置中的 gdb "miDebuggerPath": "D:/App/MinGW/mingw64/bin/gdb.exe", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
留意
luanch.json中的注释内容,记得把 "miDebuggerPath" 参数修改成你自己安装位置里的
gdb.exe
gdb.exe位于
{MinGW-w64安装位置}\mingw64\bin下面。
如果把
gdb.exe写成gdb,调试时会报错,unable to start debugging the value of midebuggerpath is invalid,即无法启动调试midebuggerpath的值无效。
8. 配置调试前执行的任务 task.json
再按一次
F5,会弹出“找不到任务”的提示窗口,点击
配置任务按钮,如下图所示:
然后在弹出的命令面板选择
使用模板创建 task.json 文件,如下图所示:
继续选择
Others 运行任意外部命令的示例,如下图所示:
完成以上步骤之后,会在工作区的
.vscode目录下生成
tasks.json文件,并自动打开
task.json文件。
接下来我们将
task.json文件内容清空,复制下面的内容到文件中并保存:
{ "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", // 编译参数 ggc -g ${file} -o ${fileDirname}${fileBasenameNoExtension}.exe "windows": { "command": "gcc", "args": [ "-g", "\"${file}\"", "-o", "\"${fileDirname}\\${fileBasenameNoExtension}.exe\"" ] }, // 控制台输出的错误信息 "problemMatcher": { "owner": "cpp", "fileLocation": [ "relative", "." // ${workspaceFolder} ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } }, "group": { "kind": "build", "isDefault": true }, // 终端面板配置 "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" // 控制面板是否在任务中共享面板,shared=共享,new=新面板 } } ] }
9. 完成
到这里,C 开发环境就已经配置完毕。接下来我们在 hello.c 的编辑窗口按
F5运行下,看下效果。
如果你还想再创建其他的 C 语言开发工作区,我们只需要新建一个文件夹,再把现在已有工作区目录下的
.vscode文件夹复制到新建的文件夹即可。
转载于:https://my.oschina.net/u/3572815/blog/1815643
- 点赞 1
- 收藏
- 分享
- 文章举报
- Visual Studio Code+TDM-GCC搭建面向学生的轻量级C/C++开发环境
- 使用Visual Studio Code + Node.js搭建TypeScript开发环境
- 如何使用vscode [Visual Studio Code]开发工具来搭建一套TypeScript的开发环境
- 在fedora29上使用visual studio code搭建R开发环境
- 使用Visual Studio Code搭建PHP调试环境
- 使用Visual Studio Code搭建Windows下的Postgresql编译、调试环境
- 《算法4》 Windows/Mac环境下使用Visual Studio Code和Orcale JDK1.8开发环境搭建
- Windows/Mac平台下Visual Studio Code C++开发环境搭建
- 使用Visual Studio Code搭建TypeScript开发环境
- Linux 上搭建Visual Studio Code 调试C++的环境
- 【学习笔记】使用Visual Studio Code来开发TypeScript的环境记事
- Visual Studio Code搭建python开发环境
- Windows下使用Visual Studio Code搭建Go语言环境
- 构建Visual Studio Code编译调试Linux C++环境
- Windows下visual studio code搭建golang开发环境
- Windows下visual studio code搭建golang开发环境
- 在Mac上使用Visual Studio Code开发/调试.NET Core代码
- 使用Xamarin+Visual Studio搭建Android开发环境
- TypeScript开发环境搭建-Visual Studio Code