如何在Vscode上配置C、C++环境

如何使用Vscode配置C、C++环境

从Visual C++、Dev C++移步VsCode代理编译、运行、Debug

需要说明,VS Code是一个插件丰富,交互良好的编辑器;而Visual C++、Dev C++是一个IDE(Integrated Development Environment)即集成开发环境。想要用VS Code来处理你的C项目,你需要赋予这个编辑器3个能力。

1.能编译代码

2.可运行、调试程序

3.可读头文件库

编译代码

你需要为Vs Code提供一个IDE,可选择的有:

MinGW:诞生最早,只能编译生成win32程序

MinGW-w64:作为MinGW的分支而诞生,随后独立。支持编译生成Win32和Win64的程序

TDM-GCC:非官方的编译器集成包,但仍然基于MinGW、MinGW-w64。支持编译生成Win32和Win64的程序

Tips:IDE中 GCC、gcc、g++的关系

GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。

gcc是GCC中的GUN C Compiler(C 编译器)

g++是GCC中的GUN C++ Compiler(C++编译器)

gcc和g++只是一种驱动器,而不是编译器。他们会根据参数中要编译的文件的类型,调用对应的GUN编译器,比如,使用gcc编译一个c文件,一般会有以下几个步骤:

Step1:Call a preprocessor, like cpp.

Step2:Call an actual compiler, like cc or cc1.

Step3:Call an assembler, like as.

Step4:Call a linker, like ld

*所以,更准确的说法是:gcc调用了C compiler,而g++调用了C++ compiler

接着说为VsCode提供一个IDE:

1.如果你过去使用着Visual C++、Dev C++处理你的C代码,那说明你的电脑上是安装了IDE的,以Dev C++为例,MinGW64的bin路径一般在C:\Program Files (x86)\Dev-Cpp\MinGW64\bin。检查一下你是否配置了环境变量,win+r快捷打开运行窗口,输入cmd,命令行->gcc -v,如果能查到版本信息说明你已配置好环境变量。

在这里插入图片描述

否则,请配置环境变量

在这里插入图片描述

2.如果你是从0开始,想尝试用VsCode处理你的C代码,IDE建议使用MinGW-w64,你可能会遇到下载速度惊人的问题,请自行搜索别人分享的网盘包。解压后,如上图配置环境变量,检验是否能在cmd中查询到版本信息。

运行程序

VsCode是一个插件非常丰富的编辑器,想要运行程序,你需要安装两个插件C/C++和Code Runner

在这里插入图片描述
在这里插入图片描述

因为VS需要为每一个文件夹做单独配置,所以请新建一个文件夹,接下来的配置将会在这个文件夹及其子文件夹中生效。

1.在文件中新建test.c,

#include<stdio.h>

int main(){

  printf("hello");

  getchar();

  return 0;

}

按F5调试,选择第一项,

在这里插入图片描述

注意文件夹目录,将自动生成的launch.json文件修改为:

{

  // 使用 IntelliSense 了解相关属性。 

  // 悬停以查看现有属性的描述。

  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

  "version": "0.2.0", 

​    "configurations": [ 

​      { 

​        "name": "(gdb) Launch",

​        "type": "cppdbg",    // 配置类型,这里只能为cppdbg

​        "request": "launch",

​        "program": "${fileDirname}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径 

​        "args": [],

​        "stopAtEntry": false,  // 设为true时程序将暂停在程序入口处,一般设置为false 

​        "cwd": "${fileDirname}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录 

​        "environment": [], 

​        "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台 

​        "MIMode": "gdb", 

​        "miDebuggerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应 

​        "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc 

​        "setupCommands": [ 

​          {  

​        "description": "Enable pretty-printing for gdb", 

​            "text": "-enable-pretty-printing", 

​            "ignoreFailures": true 

​          } 

​        ] 

​      } 

​    ] 

}

保存后,返回test.c,按F5调试,现在将会出现提示

在这里插入图片描述

选择配置任务—>使用模板创建task.json文件—>Others

在这里插入图片描述在这里插入图片描述

注意文件夹目录,将自动生成的tasks.json文件修改为:

{

  // See https://go.microsoft.com/fwlink/?LinkId=733558 

  // for the documentation about the tasks.json format

  "version": "2.0.0",

  "tasks": [

​    {

​      "type": "shell",

​      "label": "gcc", //请与launch.json中的"preLaunchTask"的value保持一致

​      "command": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gcc.exe",

​      "args": [

​        "-g",

​        "${file}",

​        "-o",

​        "${fileDirname}\\${fileBasenameNoExtension}.exe"

​      ],

​      "options": {

​        "cwd": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin"

​      },

​      "problemMatcher": [

​        "$gcc"

​      ]

​    }

  ]

}

头文件库

现在你需要的配置已经几乎完成,如果你不是Visual 移步过来的用户,你应该会遇到这个问题。这是因为VsCode会优先用Visual和wsl的编译器,如果两者都没有检测到,VsCode才会使用minGW-64。

在这里插入图片描述

选中头文件那行,点击冒出的黄色💡,选择编辑”includePath“设置。注意注意文件夹目录,将自动生成的c_cpp_properties.json文件修改为:

在这里插入图片描述

注意更改“includePath”,你的"includePath"可以在cmd中输入 gcc -v -E -x c++ - 来查询,路径正确的话保存后,头文件库就能正常识别了。

{

  "configurations": [

​    {

​      "name": "Win32",

​      "includePath": [

​        "${workspaceRoot}",

​        "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++",

​        "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/x86_64-w64-mingw32",

​        "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/backward",

​        "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include",

​        "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../include",

​        "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include-fixed",

​        "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/include"

​      ],

​      "defines": [

​        "_DEBUG",

​        "UNICODE",

​        "__GNUC__=6",

​        "__cdecl=__attribute__((__cdecl__))"

​      ],

​      "intelliSenseMode": "msvc-x64"

​    }

  ],

  "version": 4

}

在这里插入图片描述
在这里插入图片描述

如果上述问题都解决了,但是你发现使用快捷键F5能唤出cmd终端,而使用RunCode的一键运行,却显示无法识别的问题,那么请重启电脑,你的问题可能会得到解决。笔者纯粹是想使用vscode代替dev c++来满足我的刷题需求。从浩瀚的网络海洋中寻找自己需要的信息,往往需要花费数小时,所以我将过程中相关的知识整理成文,分享,学习。

在这里插入图片描述

  • 23
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值