VsCode 使用指南(配置 + 美化)
0xFF 写在前面
图有点卡,请耐心等待。
感谢 hinin 对我的技术指导以及 ltl0825 和 Charllote_ 在使用配置 VsCode 的过程中对我文章的勘误与补充。
UPD 20250823:统一格式,修改笔误,增加设置背景的配置方式,并优化了缺省源生成代码。
UPD 20250915:修改了笔误与纰漏。
0x01 安装 MinGW
link 下载(建议使用 Edge 浏览器,并点击允许安装,不建议使用 Chrome,因为其会自动拦截该安装),在下载中点击下图安装包下载,
将这个链接复制(等会会用到),
如果弹出此弹窗,就说明已经有 MinGW,直接跳过下载即可(点击 Cancel),
下载完成后在控制面板中搜索 查看高级系统设置,
点击环境变量,
点击系统变量中的 Path
变量,点击编辑,
点击新建,找到下载的位置,点击 bin
文件夹,复制现在的路径(为 ...\bin 的格式),复制进去。
测试:按 Win + R 调出命令指示符,输入 cmd,输入 g++ --version
,若弹出如下图类似的字符,即设置成功。
0x02 安装 VsCode
今入官网(link)并点击对应的版本安装(如果你是管理员,则请安装 System Installer 版,否则安装 User Installer 版),安装好之后点击安装包安装。
0x03 必要的插件
安装完成后按 Ctrl + Shift + X,下载如下插件:
- Chinese (Simplified) (简体中文),进行必要的汉化。
- C/C++,将 C/C++ 的语言支持添加到 Visual Studio 代码中,包括编辑(IntelliSense)和调试功能。
- Competitive Programming Helper (cph),可以直接在左侧窗口输入样例和并测试。
- Error Lens:改进错误、警告和其他语言诊断的突出显示。
- C/C++ Compile Run:按 F6 可以像普通 Dev-C++ 一样,编译并弹出运行的黑窗口(容易停摆,谨慎使用)。
0x04 设置vscode里的环境
引用自 https://www.cnblogs.com/lidabo/p/18347048,如有侵权, 可以联系我删除。
配置编译器(生成c_cpp_properties.json文件)
在电脑中创建一个未来用于存放代码的文件夹(用英文命名),随后打开 vscode,点击“打开文件夹”,从而在 vscode内打开该文件夹。
按下快捷键 shift+ctrl+p,展示全局命令面板,搜索找到 C/C++ Edit Configurations(UI)
点击该条目,在左侧栏目可发现程序自动在我们存代码的文件夹下建立了一个“.vscode”文件夹(这个文件夹非常重要,后续的配置都是在它内部建立文件的),该文件夹下还有一个 c_cpp_properties.json
文件。
配置 编译器路径
(写自己的编译器下载路径,为 .../bin/g++.exe
的格式)以及 IntelliSense 模式
(设为:gcc-x64
)。
配置构建任务(生成tasks.json文件)
点击 文件——新建文件
,输入一段简单的测试代码(我们会发现代码明明没错却被划上了曲线,这是因为配置还没完成,暂时不用管),随后按 ctrl+s
保存,注意要保存为 .cpp
格式而不是默认的 .txt
。
再次按快捷键 Ctrl+Shift+P
调出命令面板,输入tasks,选择 Tasks:Configure Default Build Task
,再选择 C/C++: g++.exe build active file
,此时会出现一个名为tasks.json
的配置文件,无需修改。
配置调试设置(生成launch.json文件)
回到测试代码界面,点击菜单栏的 Debug——Start Debugging
(或“运行——启动调试”),再选择 C++(GDB/LLDB)
,再选择"g++.exe build active file"(或 `g++.exe - 生成和调试活动文件”),此时会出现一个名为launch.json的配置文件,无需修改。
0x05 运行文件
方法 1
点击左侧的三条竖线,点击 "+ Create Problem",并在第一个框中输入样例输入,第二个框中输入样例输出,点击 Run 即可运行。
在 Input
中输入样例输入,Expected Output
中输入样例输出。
如果显示 Passed
就是已经通过,如果是 Failed
就是答案错误,如果输出了 SEGTERM
就是输出过多或死循环 RE,TLE 了直接停摆。
方法 2
点击文件,点击右上角的三角,接着点击 Launch OI Runner ++
,在下面的窗口的 Input
输入样例输入,点击两个叠起来的三角,就可以运行,如图(建议使用深色主题,否则浅色的运行按钮看不见):
方法 3
容易发现,法 1 和 法 2 无法进行死循环输出或判断代码是否 RE 或 TLE,所以此处给出另一种方法:
点击右上角的三角,点击 运行 C/C++ 文件
,接着在跳出的黑窗口中操作即可(可以应用于死循环和 RE,但要求文件路径为全英文)。
0x06 luogu 刷题必备
安装 vscode-luogu,之后跟随引导登录;
如果要查看 Luogu 里的题目时 先按 Ctrl + Alt + G,接着再按 P 并输入题号,可以弹出题目内容,点击“传送到 cph”,并点击 cpp
。
之后会产生一个与题号相对应的 cpp 文件,进入之后点击 cph 的三条杆,此时 cph 就已经生成好了(即下图中的 Luogu_P_1001.cpp
)。
需要提交题目时,按 Ctrl + Alt + G,接着按 S 再输入题号并选择语言即可提交代码,如上图(提交一次之后可以按 Enter 直接选中,如果交错题了可以按 Esc 退出,有的时候,洛谷的新版验证码会显示不出来,多试几次即可)。
注:vs-luogu
的弹窗是可以拖动的!查看其他功能可以按 Ctrl + K,Ctrl + S 进入快捷键,搜索 luogu
探索。
0x07 缺省源设置
点击左下角设置,点击 "代码片段",
在上方搜索框中输入 cpp
,并点击 cpp.json(C++)
。
这是默认情况:
{
// Place your snippets for cpp here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
}
这里给出我的缺省源:
{
"QWQ": {
"prefix": "Problem",
"body": [
"#include <bits/stdc++.h>",
"#define PII pair <int, int>",
"#define LL long long",
"#define ST string",
"#define DB double",
"",
"#define fr(x, y, z) for(int x = y; x <= z; x ++ )",
"#define dfr(x, y, z) for(int x = y; x >= z; x -- )",
"",
"using namespace std;",
"",
"const int N = 0;",
"",
"signed main()",
"{",
" ios::sync_with_stdio(false);",
" cin.tie(0);",
"",
" return 0;",
"}",
""
]
},
"QAQ": {
"prefix": "Contest",
"body": [
"#include <bits/stdc++.h>",
"#define PII pair <int, int>",
"#define LL long long",
"#define ST string",
"#define DB double",
"",
"#define fr(x, y, z) for(int x = y; x <= z; x ++ )",
"#define dfr(x, y, z) for(int x = y; x >= z; x -- )",
"",
"using namespace std;",
"",
"const int N = 0;",
"",
"signed main()",
"{",
" freopen(\".in\", \"r\", stdin);",
" freopen(\".out\", \"w\", stdout);",
"",
" ios::sync_with_stdio(false);",
" cin.tie(0);",
"",
" return 0;",
"}",
""
]
}
}
在 cpp 程序中,若是我的缺省源,输入 Problem
或 Contest
就会激活缺省源,具体效果如图:
如果觉得手动打缺省源太累了的话,可以使用以下代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
string s;
bool flg = 1;
while(1)
{
getline(cin, s);
if(s[0] == '~') break;
if(!flg) cout << ",\n";
flg = 0;
int n = s.size();
cout << '"';
for(int i = 0; i <= n; i ++ )
{
if(s[i] == '"' || s[i] == '\\')
cout << '\\';
cout << s[i];
}
cout << '"';
}
cout << '\n';
return 0;
}
其中以 ~
判断缺省源输入是否结束,所以请在缺省源结束时输入 ~
。
0x08 VsCode 字体设置
设置时按 Ctrl + , 进入设置,搜索 editor.fontFamily
,在跳出的输入框中输入 'X', monospace
的格式(X
为要使用的字体名称,一定要加上单引号括起来),就可以完成替换。
0x09 VsCode 背景设置
按 Ctrl + Shift + X 进入插件,搜索 background
,安装。
按 Ctrl + , 进入设置,搜索 background
,点击扩展,点击 Background:Fullscreem
下的“在 settings.json 中编辑”进入代码。
这些设置的意义(摘自插件官网,link):
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
images |
string[] |
[] |
自定义图片,支持 https 和 file 协议。 |
opacity |
number |
0.1 |
透明度,等同 cssopacity,建议 0.1 ~ 0.3 。 |
size |
string |
cover |
等同 cssbackground-size, 建议使用 cover 来自适应。 |
position |
string |
center |
等同 cssbackground-position, 默认值 center 。 |
interval |
number |
0 |
单位 秒 ,轮播时候图片切换间隔,默认 0 表示不开启。 |
random |
boolean |
false |
是否随机展示图片。 |
注:https 和 file 协议详见:link。
0x0A 提升 VsCode 的适应性
- Office Viewer:查看表格和 PDF,还可以将 Markdown 转换成其他文件格式(如 PDF),直接右键选择即可。
- Markdown Editor:实时查看 Mardown 文件
- Markdown All in One:按下 Ctrl + K 接着按 V 在侧边栏预览,按下 Ctrl + Shift + V 直接进行预览
0x0B VsCode 主题
主题的效果因人而异,不同的人对于不同的主题可能有不同的看法,还是那句话:喜欢就好,下面是几款推荐的主题(第一个使我用的)
- Tomorrow and Tomorrow Night Theme Kit
- One Dark Pro
- Atom One Light
- Monokai Pro
- Material Theme
- Night Owl
- SynthWave '84
- Winter is Coming
- GitHub Theme
- Shades of Purple
- Panda Theme
VsCode 设置主题的方法:按下 Ctrl + K 之后按 Ctrl + T,在上方弹出的主题表中选择主题即可。
0x0C 其他 VsCode 优化
- BRacket Pair Colorizer:给匹配的括号上色(VsCode 自带)
- Indent-Rainbow:使缩进带有颜色
- Mataerial Icon Theme:美化文件图标
- Power Mode:在输入字符时显示粒子效果(如觉得卡顿可以去除抖动效果)
- TODO Highlight:
TODO
字符高亮显示 - A-super-translate:划词翻译
- Prettier - Code formatter:代码格式化
- filesize:在下方蓝色状态栏中显示文件的大小
- CodeGeeX:不需要登录(当然登陆了更好),按 Tab 使用 AI 的补全代码(强推!)
- VS Code Counter:将代码、注释、空白行数,以及使用语言整理成表格,使用时右键需要统计的文件夹 —Count lines in directory 即可
- Rainbow CSV:使 CSV 类型文件看起来更好看
- Peacock:美化工作区颜色
- 会了吧:打开源码后自动分析所有包含的英语单词
0x0D 说句闲话
VsCode 还能玩小恐龙,只需要搜索扩展 Chrome dinosaur game
即可!
0x0E 写在结尾
其实我也刚熟悉 VsCode 的使用模式,如有疏漏,敬请大家提出修改意见,我会及时修改。