欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VSCode配置C/C++(使用MSVC)步骤,极简版!

程序员文章站 2022-05-06 19:16:17
...

VSCode配置C/C++环境一般使用MinGW或者MSVC,本人对两者都进行了尝试。配置MinGW较为简单,网上教程也很丰富。配置MSVC较为复杂而且教程较少,坑比较多。但是(个人感觉,辣鸡gdb调试时,文件名不支持中文,不支持含空格)MSVC更加好用,功能更完善,推荐安装MSVC。

一、需要

  • 安装好VSCode
  • 安装好Visual Studio(工作负载包括C++开发)
  • VScode安装C/C++插件
    插件(extension)->C/C++,安装即可

*二、配置

*配置内容主要是两个json文件:tasks.json与launch.json,
首先使用VSCode打开任意一个文件夹(本文接下来的操作只是创建一个.vscode子文件夹,与当前文件夹其他内容无关)

  1. 配置tasks.json:
    VSCode任务栏——> 终端(Terminal)——>配置任务(Configure Tasks)——>使用模板创建task.json文件;(若有其他选项任选一项即可)。
    VSCode配置C/C++(使用MSVC)步骤,极简版!
  2. 配置launch.json:
    VSCode任务栏——>调试(Debug)——>打开配置(Open Configurations)——>C++(GDB/LLDB);(若有其他选项任选一项即可).。
    VSCode配置C/C++(使用MSVC)步骤,极简版!
  3. 划重点:以上操作 具体选项无影响只要得到一个.vscode文件夹,其中包括tasks.json和launch.json即可。
    其实VSCode相关的操作已经结束了,task.json与launch.json的内容全部复制我的就好了(其中包括配置MinGW与MSVC,关于MinGW部分内容可供参考)。没错到这里就结束了!就是这么简单!!!????
    tasks.json:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
      {//MSVC
        "type": "shell",
        "label": "cl.exe build active file",
        "command": "cl.exe",
        "args": [
          "/Zi",
          "/EHsc",
          "/Fe:",
          "${fileDirname}\\${fileBasenameNoExtension}.exe",
          "${file}"
        ],
        "problemMatcher": [
          "$msCompile"
        ],
        "group": {
          "kind": "build",
          "isDefault": true
        }
      },
      {//g++
        "type": "shell",
        "label": "g++.exe build active file",
        "command": "D:\\MinGW\\bin\\${fileBasenameNoExtension}-g++.exe",
        "args": [
          "-g",
          "${file}",
          "-o",
          "${fileDirname}\\a.exe"
        ],
        "options": {
          "cwd": "D:\\MinGW\\bin"//你的MinGW/bin路径
        },
        "problemMatcher": [
          "$gcc"
        ],
        "group": "build"
      }
    ]
}

launch.json:

{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {//MSVC
      "name": "cl.exe build and debug active file",
      "type": "cppvsdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "preLaunchTask": "cl.exe build active file"
    },
    {//g++
      "name": "g++.exe build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}-g++.exe",
      "args": [],
      "stopAtEntry": true,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe", //你的gdb.exe路径
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g++.exe build active file"
    },
  ]
}

**三、实现编译与调试

现在把./vscode子文件夹(包括其中的tasks.json与launch.json)复制到你的源代码所在文件夹。
或者就在当前文件夹创建源代码文件。然后打开源代码文件按F5.(这就是编译调试方法。)
可以编译了吗?不能吧,不能就对了。:)
如果显示无法找到cl.exe或者相关头文件和库,可以有以下两种办法。

1.简单方法(无需配置环境变量):

a. 找到Visual Studio开发者工具(win+s搜索developer Command Prompt for VS 2019或者其他版本)
b.在开发者工具打开当前文件夹。
c.进入当前文件夹后使用命令行打开VSCode(code .
d.再次调试(F5),
以上具体步骤可以参考博客:
https://blog.csdn.net/qq_38981614/article/details/99629597
若无问题说明以上步骤均完成。

2.使用方法1每次都需要从开发者工具打开VSCode,不实用。还有添加环境变量方法。
a.打开cmd,输入where cl(win+R,输入cmd,不需要打开开发者工具)。
若无路径需要添加编译器路径,在环境变量——>系统环境变量——>PATH中添加cl.exe所在目录路径:可供参考:“{VS安装路径\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64}”
b.再次测试编译调试源代码,如显示头文件或库文件找不到,
环境变量——>用户变量——>添加INCLUDE环境变量(包括编译器cl.exe所在include文件夹路径,windows kits所需的include路径),添加LIB环境变量(包括编译器cl.exe所在lib文件夹路径,windows kits所需的lib路径)
因为相关路径较多,可以参考以下博客进行添加:
https://blog.csdn.net/weixin_41115751/article/details/89817123
https://jingyan.baidu.com/article/1876c85223be3b890b13769c.html
c.再次编译调试即可。
如果出现问题,可以分为编译器cl.exe的问题和链接库路径的问题(环境变量INCLUDE和LIB)。编译器的问题请检查MSVC版本及其路径(避免多个版本多个编译器路径)。链接库路径的问题请检查环境变量路径与编译器版本是否一致,是否是当前windows系统的windows kits所在路径。

**四、建议

踩坑无数终于可以用VSCode刷leetcode题并且进行调试了,比Visual Studio方便很多。使用MinGW配置C/C++环境更简单,安装好MinGW修改task.json与launch.json相应路径即可(添加环境变量可简化路径)。但是gdb不支持文件名中文与空格真没法解决。
建议在VSCode上:
1.安装C/C++ Themes,选择自己喜欢的主题风格
2.使用MSVC编译C++会有很多.obj,.pdb,.ilk文件,建议屏蔽
设置(ctrl+,)——>Files:Exclude——>添加模式."**/*.obj"等
3.安装code Runner
3.安装leetcode开始刷题:)

相关标签: VSCode msvc c++