写于2022年2月23日更新:PythonVSCode配置

前言

原文写于 2022 年 2 月 23 日,更新于 2022 年 5 月 10 日。

本文将介绍以下环境的配置:

本文仅适用于 Windows 用户,且仅适用于 C/C++ 初学者。

理论时间

与一般只使用CPython解释器的Python不同,C/C++编译器种类繁多,支持标准语法,实现扩展语法,实现标准库。也因人而异。常用的有以下几种:

VS 代码安装

去VS Code官网下载安装。

MinGW 配置

前往 MinGW 的 GitHub 页面下载文件名中包含“x86_64”、“win32”和“seh”的版本。在撰写本文时,您应该下载 x86_64-11.2.0-release-win32-seh-rt_v9-rev1.7z。

之后将文件解压缩到合适的位置,而不是桌面或下载文件夹。要求路径不包含汉字和空格。如果没有解压软件,可以使用7-Zip,具体配置可以搜索。

打开这个文件夹,找到里面的bin子文件夹,比如我选择了D:\mingw64\bin。记住此路径并将其添加到 PATH。

打开一个终端。键入 gcc -v 并按 Enter。如果看到类似提示:

1
2
3
4

......省略了一些输出
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.0 (x86_64-posix-seh-rev1, Built by Guyutongxue)

环境变量配置成功。如果它出现:

1
2

'gcc' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

请检查环境变量配置。

VS Code配置插件安装配置文件编写

在合适的地方新建一个文件夹,同时要求路径不能包含中文和空格。这个文件夹是你以后写代码的地方,请谨慎选择,比如我选择D:\Codes\C++。

打开您刚刚创建的文件夹并创建一个名为 .vscode 的新文件夹。在 .vscode 中创建几个新文件:

tasks.json

写入tasks.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

{
"tasks": [
{
"type": "process",
"label": "Compile-gcc11",
"command": "gcc", // 编译器命令,若是写C++语言则改为g++
"args": [ // 编译器参数
"-std=c17", // 设置编译的C语言标准,这里使用C17。C++可使用C++17或C++20
"-g", // 开启调试信息
"-fexec-charset=UTF-8", // 设置编码(主要防止程序中文乱码,如果出现乱码可以把UTF-8换成GBK)
"-m64", // 强制编译64位程序
"-static-libgcc", // 静态链接libgcc,一般都会加上
"-Wall", // 开启额外警告
"-pedantic-errors", // 视警告为错误,可以理解为严格模式
"-o", // 允许自定义输出文件名
"${fileDirname}\\${fileBasenameNoExtension}.exe", // 目标文件名,此参数将由VS Code解析
"${file}" // 源文件名,此参数将由VS Code解析
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档,即使设为never,手动点进去还是可以看到
"focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义
"panel": "shared" // 不同的文件的编译信息共享一个终端面板
},
"detail": "gcc11"
}
],
"version": "2.0.0"
}

并注意保存。

launch.json

写入launch.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

{
"version": "0.2.0",
"configurations": [
{
"name": "gcc11 With gdb10",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"internalConsoleOptions": "neverOpen",
"miDebuggerPath": "gdb", // 调试器命令
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "Compile-gcc11"
}
]
}

并注意保存。

c_cpp_properties.json

注意:该文件为 C/C++ 插件的 IntelliSense 提供了更详细的配置。如果选择使用clangd提供IntelliSense,可以忽略这部分内容c 读写配置文件,阅读后续。

写入 c_cpp_properties.json:

1
2
3
4
5
6
7
8
9
10
11
12

{
"configurations": [
{
"compilerPath": "D:\\mingw64\\bin\\gcc.exe", // 这里改为你自己电脑上编译器的路径,如是C++则把gcc.exe改为g++.exe
"cStandard": "c17",
"cppStandard": "c++20",
"intelliSenseMode": "windows-gcc-x64",
"name": "Win32"
}
],
"version": 4
}

然后保存。

环境配置检查

启动VS Code,选择File>Open Folder,打开刚才创建的文件夹(即.vscode的父目录)。如果操作正确,它将如下所示:

图片[1]-写于2022年2月23日更新:PythonVSCode配置-老王博客

在这种情况下,请在扩展名为 .c 的文件夹中创建一个新文件,例如 hello.c。输入以下内容:

1
2
3
4
5
6

#include 
int main(void)
{
printf("Hello, world!\n");
return 0;
}

对于C++语言c 读写配置文件,可以新建一个hello.cxx,输入如下内容:

1
2
3
4
5
6

#include 
int main()
{
std::cout << "Hello, world!\n" << std::endl;
return 0;
}

图片[2]-写于2022年2月23日更新:PythonVSCode配置-老王博客

从菜单栏中选择运行开始调试并等待一段时间。如果

1

Hello, world!

如下终端显示,配置成功。如果没有,请尝试关闭并重新启动 VS Code。

clangd 配置(可选)

注意:以下内容需要您对一些技术术语有很好的理解。如果不想配置clangd,可以回去配置上面的C/C++插件。

注意:我还没有深入研究和理解clangd的配置。这相当于个人笔记,而不是教程。

注意:如果您不明白以下内容的含义,请不要乱配置!

下文中,“clangd”指的是clangd语言服务器,VS Code中的clangd插件将被称为“clangd插件”。

clangd官网:clangd是什么?

什么是clangd?

是LLVM项目下的C/C++语言服务器,可以通过对应的插件支持不同的编辑器。

“clangd 理解您的 C++ 代码并为您的编辑器添加智能功能:代码完成、编译错误、转到定义等等。”

安装clangd

注意:这里的内容不是clangd插件的安装。

选择两种方法之一:

去LLVM发布页面下载完整的LLVM:发布·LLVM

(那你会发现最好一步安装MSVC)

下载单独的clangd二进制文件:发布·clangd

安装clangd插件

叮当

插件配置

关闭 IntelliSense for C/C++ 插件以避免与 clangd 插件冲突:

添加到 VS Code 的 setting.json:

1

"C_Cpp.intelliSenseEngine": "Disabled",

配置clangd的路径,如果已经添加到PATH中,这一步可以省略:

添加到setting.json:

1

"clangd.path": "D:\\Softwares\\Tools\\clangd_15.0.0\\bin\\clangd",

clangd的参数配置

添加到setting.json:

1
2
3
4
5
6
7
8

"clangd.fallbackFlags": [
"--target=x86_64-w64-windows-gnu"
],
"clangd.arguments": [
"--clang-tidy",
"--header-insertion-decorators",
"--header-insertion=iwyu",
],

配置镶嵌提示的格式

注意:此部分已在 GitHub 上向 Microsoft 提交问题。

添加到 VS Code 的 setting.json:

1

"editor.inlayHints.fontSize": 12,

私货(可选)

我们知道 VS Code 的 Default Light + 主题的侧边栏突然变黑了:

图片[1]-写于2022年2月23日更新:PythonVSCode配置-老王博客

在VS的code的setting.json中添加:

1
2
3
4
5
6

"workbench.colorCustomizations": {
"[Default Light+]": {
"activityBar.background": "#f3f3f3",
"activityBar.foreground": "#008ad3",
}
},

然后保存,你会得到一个轻量级的侧边栏:

图片[1]-写于2022年2月23日更新:PythonVSCode配置-老王博客

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论