VSCode本地C/C++环境配置

基本环境下载

1.我的系统是windows,自己先下载安装VSCode,网上视频实在太多,我建议跟着B站视频操作。

2.下载安装好后你需要明白:VSCode只是一个编辑工具,我们要写C/C++代码得编译运行,所以我们要配置它在windows下的开发环境,我们使用的是MINGW,它可以让我们在windows下使用gcc g++编译运行C/C++代码,知道这些就够了。

3.你可以在该路径下载版本为8.1.0版本的MINGW,放在某个文件夹,比如我放在E:\software\forVSCode

或者你也可以直接去官网下载,

同样放在E:\software\forVSCode,这个是11.1.0的版本,注意不要下载最新的,因为我遇到版本问题带来的segmentation fault 错误且不容易发现。

如果你不想下载11.1.0或者你对于不同版本名称有所困惑,请你查看链接

4.然后解压,然后复制它的 bin目录到系统环境变量中去;比如复制E:\software\forVSCode\mingw64\bin到环境变量中。

5.我们在在cmd中使用gcc --version 或者使用 where gcc 命令验证是否添加成功。

6.然后在本地创建一个文件夹并用vscode打开,我们打算把代码放在这个文件夹下,把他作为我们的工作区。

7.下载C/C++扩展。

单个.c文件怎么编译运行

8.此时你可以写代码了,如果在#include头文件的时候发现出现红色波浪线,请你检查下述图片中的includePath:
如果为空或者不是你刚下载的路径请你复制你的mingw的include目录并添加进去。

9.下面应该配置tasks.json了,点击下图中的配置任务,:

在弹出的界面中,选择C/C++:gcc.exe生成活动文件,此时你的工作区下生成了tasks.json文件。大概长下面这样,注意:如果这一步骤遇到了麻烦,请查看下图:

依照它的步骤执行即可,或者干脆直接新建一个tasks.json然后拷贝下图进去直接修改。

cpp 复制代码
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: gcc.exe 生成活动文件",
      "command": "E:/software/forVSCode/mingw64/bin/gcc.exe", //编译器路径
      "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}.exe" //生成可执行文件路径及名称,即:就在这个文件所在路径下生成一个去掉源文件扩展名后加上.exe的一个文件。
      ],
      "options": {
        "cwd": "E:/software/forVSCode/mingw64/bin"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": "build",
      "detail": "编译器:E:/software/forVSCode/mingw64/bin/gcc.exe"
    }
  ]
}

10.鼠标点击源文件,然后点击下图:

·如果出现"终端进程启动失败(退出代码: -1)。 * 终端将被任务重用,按任意键关闭。"的错误。

请检查tasks.json中的:

"options": {
"cwd": "E:/software/forVSCode/mingw64/bin"
},

是否写对。


此外,你使用这种方法编译文件时要记得鼠标点击你要编译的源文件,而不是点击其他文件,否则你将得到这个错误:

总之,你要记着:此时我们编译代码的操作就是终端-运行生成任务的方式,只要.vscode下的配置文件tasks.json(编译依赖这个文件)正确即可,我们在创建新的工程的时候也可以直接把.vscode文件夹拷贝过去,根据自己需要决定是否修改或者不修改,实现复用。

11.如果一切顺利的话,你将得到一个exe文件,键盘同时按下Ctrl+`打开终端:

hello被打印出来。

多个.c文件怎么编译运行

12.此外值得注意的是:上述方法针对的是单文件,下面我们讲解多个C/C++文件。

我们继续创建一个新的文件夹,并用vscode打开。并把之前的.vscode复制过来,略微改造:

我的修改结果:

cpp 复制代码
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: gcc.exe 生成活动文件",
      "command": "E:/software/forVSCode/mingw64/bin/gcc.exe", //编译器路径
      "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${workspaceFolder}/*.c",
        "-o",
        "${workspaceFolder}/${workspaceRootFolderName}.exe" //生成可执行文件路径
      ],
      "options": {
        "cwd": "E:/software/forVSCode/mingw64/bin"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": "build",
      "detail": "编译器:E:/software/forVSCode/mingw64/bin/gcc.exe"
    }
  ]
}

然后写好两个.c源文件,用于测试验证。

此时继续点击-终端-运行生成任务。

然后Ctrl+`打开终端,运行可执行文件。

C++文件编译运行

13.此时我们已经学会了在vscode下编译单个C文件和多个C文件,那么C++呢?
我们回到最开始编译单文件的工作区,Ctrl+shift+P,点击C/C++编辑配置,我们来到这里:

修改后,我们可以看到c_cpp_properties.json多了一个C++的配置:

此时,我们还缺少对于tasks.json的配置:
鼠标点击我们写好的hello.cpp,然后点击:

此时tasks.json增加了相关配置:

此时,点击-终端-运行生成任务,选择g++.exe,然后Ctrl+`打开终端,然后运行即可:

同样的,要编译多个C++文件,我们只需要修改tasks.json即可。

14.下面我们创建launch.json文件,为我们调试文件做准备。

弹出后,选择C++(GDB)。

点击"添加配置":

然后选择"C/C++ (GDB启动)。

生成默认配置是不能用的,我们必须做出相关修改:

cpp 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "(gdb) 启动",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}.exe", //调试谁?当然是tasks.json生成的可执行文件
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "E:\\software\\forVSCode\\mingw64\\bin\\gdb.exe", //用谁调试,我们使用mingw下的gdb.exe
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        },
        {
          "description": "将反汇编风格设置为 Intel",
          "text": "-gdb-set disassembly-flavor intel",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

如上是我的修改后的文件,你需要修改两行:program,miDebuggerPath,分别是你要调试谁?用什么工具调试?

下面开始调试:

在3 4行打好断点,然后按F5开始调试。具体命令如下:

你也可以使用图形窗口来调试:

到此,我们就讲解完了Windows下vscode的配置调试。

vscode是一个强大的工具,不止C/C++.........任重而道远。

其他

vscode调试依赖launch.json,编译依赖tasks.json。

vscode中要分清设置中的'工作区' 和' 用户 ' ,这两个概念。前者指的是你打开的某个文件夹,他可以和你用户有不一样的配置。

相关推荐
乐闻x28 分钟前
VSCode 插件开发实战(十二):如何集成Git操作能力
ide·git·vscode
Hylan_J7 小时前
【VSCode】工作区及设置
ide·vscode·编辑器
Jokerjay17 小时前
使用VsCode编译调试Neo4j源码
vscode·neo4j
码上好玩1 天前
vscode写python,遇到问题:ModuleNotFoundError: No module named ‘pillow‘(已解决 避坑)
vscode·python·pillow
scoone1 天前
VSCode 性能优化指南:提高编码效率,减少资源占用
ide·vscode·编辑器
搞笑的秀儿1 天前
12.25 VScode+jupyter使用
ide·vscode·jupyter
温柔的男孩像海洋丶1 天前
vscode的keil assistant 中搜索不到全局变量
ide·vscode·单片机
乐闻x1 天前
VSCode 插件开发实战(九): 不同插件之间如何通信
ide·vscode·编辑器
奋斗吧程序媛1 天前
删除VSCode上 origin/分支名,但GitLab上实际上不存在的分支
前端·vscode
乐闻x1 天前
VSCode 插件开发实战(十): 环境变量Env设置与管理
ide·vscode·编辑器