本文首先将介绍和配置VSCode相关的通用知识,接着将介绍针对几种不同的应用情景的VSCode配置。

通用知识

安装相关插件

需要安装这三个插件,之后的设置和配置文件需要有他们才能起作用。

打开设置界面

UI

  • 方法一:点击侧边栏下方的齿轮图片,选择「设置」即可。

  • 方法二

    通过「Ctrl+Shift+P」打开命令面板,然后找到「首选项:打开设置 (ui)」

打开设置界面后,会注意到上方有「用户」和「工作区」两个选项:

这两个东西分别是什么将在之后讲。

Json

VSCode的设置文件分为好几个,分别在不同位置,但是他们的打开方法都是通过命令面板。

打开命令面板,输入「json」,所有配置文件的打开方式都在下面:

可以看到其中有「默认设置」、「应用程序设置」、「用户设置」、「工作区设置」和其他配置。

几种不同的设置以及其他配置文件

默认设置

默认设置文件是只读文件,没有什么可改的。

应用程序设置

应用程序设置是你这台电脑上的 VSCode 有且仅有一个的设置,他是所有用户所共用的设置。

在 UI 设置界面中,应用程序设置在「用户」一栏,并且会显示「适用所有配置文件」:

用户设置

虽然说是用户设置,但是他并非一个账户有且仅有一个,而是一个账户如果不创建用户设置,那么将一个用户设置也没有;如果想,一个账户也可以创建多个用户设置。

创建、删除、导入、导出用户设置的地方如下:

值得注意的是,上图中的「默认」是没有用户设置的,可以看到除去「默认」外还有两个用户设置,打开存放用户设置的文件夹,发现也是两个子文件夹:

工作区设置和其他配置

每当我们用 VSCode 打开一个新文件夹,并在里面进行一些有关编译和调试的配置后,我们会发现这个文件夹中出现了一个名叫「.vscode」的子文件夹,如果我们删除这个子文件夹或者打开其他文件夹,我们会发现配置好的编译和调试信息配置又没了。这个「.vscode」存放的就是工作区设置和其他配置。

工作区设置就是名为「settings.json」的文件。

其他配置有「c_cpp_properties.json」、「tasks.json」、「launch.json」等,这些配置并不会在设置界面(UI)体现。

已更改的设置

UI

在设置界面(UI),已更改的设置的前面会有一条黄线:

如果想查询所有已更改的设置,可以使用如下方法:

Json

如果使用命令面板打开设置文件,设置文件中已更改的设置将正常显示,未更改的设置将以高透明度显示:

针对不同的应用情景的具体配置

Acm

由于本人习惯用命令行编译运行,所以没有配置一键编译运行,如果希望配置一键编译运行请自行百度,并在「tasks.json」、「launch.json」等配置文件中进行配置。

更改的设置

应用程序设置

1
2
"C_Cpp.intelliSenseUpdateDelay": 500,
"security.workspace.trust.enabled": false,

用户设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"window.zoomLevel": 1,
"editor.mouseWheelZoom": true,
"terminal.integrated.defaultProfile.windows": "Command Prompt",
"editor.comments.ignoreEmptyLines": false,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"workbench.panel.defaultLocation": "right",
"workbench.tips.enabled": false,
"C_Cpp.inlayHints.parameterNames.hideLeadingUnderscores": false,
"editor.codeLens": false,
"explorer.confirmDelete": false,
"terminal.integrated.enableMultiLinePasteWarning": false,
"markdown-preview-enhanced.previewTheme": "github-dark.css",
"editor.quickSuggestions": {
"other": "off"
},

其他配置

这是因为你没有告诉 VSCode 你电脑上的 g++ 在哪。

解决方法是,在命令面板中找到这两者:

以 Json 为例,更改的配置:

1
2
"compilerPath": "D:/MinGWGcc/Download/mingw64/bin/g++.exe",
"intelliSenseMode": "gcc-x64"

注意「compilerPath」是你电脑上 g++.exe 的路径,不一定和我的一样。

改完后在「.vscode」文件夹中多了一个名为「c_cpp_properties.json」的文件。

命令行配置

每次编译运行代码,都要输一遍 g++ ... XX.cpp -o XX,过于影响调试速度。这时我们会无比怀念 Linux 上的 bashrc 文件以及 alias 命令。Windows 上有无类似的方法呢?答案是有的。

Windows 中的 doskey 命令类似于 Linux 上的 alias,基本语法:

1
doskey 创建的宏的名称=要录制的命令

其中要录制的命令中可以使用以下特殊字符:

  • $1$9:表示运行宏时要指定的任何命令行信息。类似于 c# 中的 {0}{1}

  • $*:表示在键入宏名称时要指定的所有命令行信息。类似于批处理参数 $1$9,但有一个重要区别:在宏名称之后,在命令行上键入的所有内容都替换为宏中的 $*

  • $l$L:重定向输入。等效于输入的重定向符号 <

  • $g$G:重定向输出。等效于输出的重定向符号 >

首先,我们编写一个名为「bashrc.bat」,内容如下的文件,放在全英文的路径下。

1
2
3
@echo off
doskey c=g++ -O2 -std=c++14 -Wall -Wl,--stack=256000000 $*.cpp -o $*
doskey f=$1 $l $1-$2.in $g $1-$2.ans

然后 win+R 打开运行窗口输入 regedit 进入注册表,打开路径 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor(如果没有请创建)。

在此处,点击「编辑->新建->字符串值」,创建名为 AutoRun 的值,并双击编辑字符串,输入 bat 文件的路径,保存即可。

返回 VSCode,使用 Ctrl+` 打开自带的命令行,输入自定义的宏,发现可以正常使用。