[2021]VS code配置CC++开发环境

[2021]VS code配置CC++开发环境,第1张

[2021]VS code配置C/C++开发环境

原文地址:VS code + clangd + MinGW + CMAKE配置C/C++开发环境
参考B站up主的视频使用 VS Code + Clangd + CMake 搭建 C/C++开发环境来进行配置。

B站大佬的配置方法很好,但是在Windows下用WSL来进行开发终究还是有点麻烦,而且wsl运行的内存占用,快赶上一些大型IDE了,这样的话配置vscode不就没有必要了吗,为什么不直接使用Clion或者VS呢。

所以找到这些软件尝试不用WSL在windows下配置C/C++开发环境,但最后发现虽然LLVM有windows版本,但是要用到Visual Studio,于是放弃clang,直接用MinGW来配置。

安装软件

用到的软件/插件(直接点击链接下载安装即可):

软件:

  • Visual Studio Code
  • CMake
  • MinGW
  • Ninja
  • clangd

插件:

  • CMake Tools
  • clangd
  • CodeLLDB

某些官网或者github上不去可以直接在蓝奏云下载:

打包下载地址

密码:9uaq

安装vscode

一路next

安装cmake

下载.msi格式的安装包来安装。

注意安装时勾选将cmake添加到path。

安装MinGW

windows下直接下载MingW-W64-builds就好。

安装时只要注意Architecture,64位选x86_64,32位选i386。

安装完成后将安装目录下的bin文件夹添加到系统环境变量中。

安装Ninja

下载之后将文件夹解压到一个固定位置之后,将文件夹添加到环境变量即可,由于是cmake在用,也可以直接把ninja.exe直接放到cmake安装目录下的bin文件夹下,就不用单独添加环境变量了。

安装clangd

直接解压后把文件夹放在固定位置后将bin文件夹添加到环境变量。

安装vscode插件

vscode中的插件,CMake Tools和clangd可以直接在vscode中搜索安装,没有问题,只是clangd与C/C++插件不兼容,要注意不要安装C/C++插件。

对于CodeLLDB,在vscode中安装大概率会下载失败,可以直接到github页面去下载.vsix文件手动安装.

安装方法:

打开vscode,按F1,输入vsix,出现从VSIX安装,点击后选择下载的.vsix文件即可安装成功。

配置C/C++项目 项目结构

新建一个文件夹作为项目目录,在目录下新建几个文件:

目录结构如下:

├─src
│  ├─Template.c
│  └─Template.h
├─CMakeLists.txt
└─main.c

在src目录中是自定义的头文件

CMake

打开vscode设置,在cmake设置中找到Generator,将其指定为Ninja:

CMakeLists.txt文件内容如下

cmake_minimum_required(VERSION 3.20)
project(Template C)

set(CMAKE_C_STANDARD 23)

add_executable(${CMAKE_PROJECT_NAME}
        main.c
        src/Template.c
        )

target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
        src
        )

cmake_minimum_required()定义CMake最低版本为3.20

project()定义项目名称和项目类型

set(CMAKE_C_STANDARD 23)规定项目使用的C语言标准为C23

再下面两部分规定了项目包含的源文件以及include文件夹。

保存文件,会自动生成一个build文件夹。

launch.json

这时候按F5来调试程序,会自动在.vscode目录下生成一个launch.json文件。

将里面的内容改成如下所示:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${command:cmake.launchTargetPath}",
            "args": [],
            "cwd": "${workspaceFolder}"
        }
    ]
}
clangd配置

打开vscode设置,在扩展中找到clangd,添加如下选项:

  1. 由于clangd需要读取cmake生成的compile-commands.json文件,所以需要指定其路径
  2. 设置clangd代码提示显示参数类型
  3. 设置从不导入头文件
测试程序

编写简单的测试程序:

  • main.c
#include "Template.h"
#include 

int main() {
    template x;
    x.a = 1;
    x.b = 2;
    printf("%d %d", x.a, x.b);
}
  • Template.c
#include "Template.h"
  • Template.h
typedef struct {
  int a;
  int b;
} template;

clangd的代码提示正常,按住ctrl点击头文件可以跳转。

添加断点调试也没有问题。

设置运行及调试快捷键

为了方便运行,可以添加自定义快捷键,实现像code runner插件那样的运行体验。

运行

按F1,输入cmake,找到运行但不调试,点击右边的齿轮按钮来自定义快捷键。

点击左边的编辑后输入要绑定的快捷键之后回车,这里就绑定为ctrl+alt+n,跟code runner一样,为了不发生冲突,找到code runner的运行快捷键,右键更改when表达式,填入如下:

editorLangId != 'c' && editorLangId != 'cpp'

这样,code runner的快捷键就不会在编写C/C++时生效了。

调试

默认的调试快捷键为F5,很方便,但为了符合习惯,将其改为ctrl+alt+m,方法同上,这一快捷键与code runner中的停止运行冲突,感觉这个快捷键没什么用,直接删了。

到此配置完成,源代码编辑完成后可以ctrl+alt+n运行,ctrl+allt+m调试,不影响code runner运行python之类的。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5658748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存