都 2025 年了,你还不会配置 vscode 吗?
Damon77 · · Tech. & Eng.
都 2025 年了,你还不会配置 vscode 吗?
一篇文章快速配置 vscode
这里标黑的表示大更新。
2025.6.17 更新了一处错误并增加了一部分内容。
2025.6.21 增加了如何弄缺省源。
2025.6.29 增加了特殊用途,并增加了图片。
2025.7.7 更改了一处错误,感谢评论区大佬指出。
2025.7.11 增加了一个板块并对一个板块进行了修改,后面预计还要增加插件介绍。
2025.7.11 更改了格式,解决图片位置问题。
注:作者使用 vscode 时间不算太久,也希望评论区 dalao 能指出错误,推荐一些文章内没有写到的,作者都会加上去。
Part#0 下载 mingw64
link下载 x86_64-(版本号)-release-win32-seh-msvcrt-rt_v12-rev0
。
点这里直接下载。
可以用的解压工具有很多,你也可以去下一个 WinRaR
比较好用(怎么说都是免费的)。
当然你也可以用 7-zip
。这里不给链接了。
然后下一步很简单,从文件夹里找到 bin
文件夹然后点进去,复制上面那一栏里的路径。
然后打开设置,搜索环境变量
点击编辑系统环境变量
,然后按右下角环境变量按钮
,系统变量里找到 Path
双击点进去,点击新建
按钮,把刚才复制好的路径放进去,然后就完事了。
什么你问我进不了 github 怎么办?
~这我真不知道去网上搜教程 qwq。~
搜索 steamcommunity_302_V12.1.46
下载。
如果下载太慢的话,可以点击这获得一个下载器。
有人说这个可以下 mingw,但是我想说我知道这个,因为这个版本低一点所以不推荐。
Part#1 下载 vscode
点击这里然后点击那一个大大的 Download for Windows 蓝色按钮就可以下载了。
下载好之后,按照安装包操作进行安装就可以了。
Part#2 vscode 汉化
按下 Crtl+Shift+X 就可以进入扩展
页面,搜索栏里面搜索Chinese
,结果中第一就是我们要找的。
接下来点击 Install 按钮下载,过一会就会弹出来一个框,内容大概有 Change language
这一类的内容,点击这个框内的按钮,然后你的 vscode 会自动重启,重启完毕就变成汉语的了。
如果没有弹出,按 F1
键,弹出的框里输入 Configure Display Language
然后选择中文可以改变。
Part#3 去 luogu 刷题的必要插件
进入扩展
页面里面搜索以下插件并安装:
- Competitive Programming Helper (cph)
- vscode-luogu
- C/C++
- Error Lens
- Code Runner
然后就没了……
注意:这些只是必要插件,能只保证你可以使用!
Part#4 使用方法
第一步:按 Ctrl+Alt+G 然后再按 L,根据引导登录自己的 luogu 账号就可以了。
第二步:按 Ctrl+Alt+G 再按 P 按照指引输入题号就可以了,会自动弹出题目页面。然后你可以点击传送到cph
按钮,这样你就不用手动去复制粘贴样例放到 cph 里面了。打开 cph 的方法是最左侧一栏里找到三条竖杠然后点进去就可以了。
第三步:写完代码按 Ctrl+Alt+G 再按 S 根据指引输入题号选择语言就可以提交代码了,然后你也可在 vscode 里面看到结果,而且不用刷新。
这里放上官方 wiki。
但是,cph 对于 RE
的代码无法识别!比如这么一段:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ls p<<1
#define rs p<<1|1
#define pb push_back
const ll N=2e5+10;
const ll M=2e3+10;
const ll inf=1e12;
const ll mod=1e9+7;
inline ll lowbit(ll x){
return x&(-x);
}
int main(){
cout<<"!";
cout<<10/0;
cout<<"!";
return 0;
}
这里明显因为除以 0
会 RE
,但是 cph 提示的是:
这里就需要 Code Runner 了,Code Runner 可以帮助我们省去网上配置教程 tasks.json
配置过程。我们安装完 Code Runner,重启 vscode 之后可以看到这么一个按钮:
点击这个按钮上的小箭头,选择第二个选项:
接下来控制台就会运行代码,这时候你就可以把输入粘贴上去(注意,有的电脑不能 Ctrl+v
,这时候需要按右键粘贴)。
再运行刚才的代码,就可以看到 RE
退出之前输出的东西了。
同样,这个办法也可以应用于死循环输出。
Part#5 其他美化&推荐插件
- One Dark Pro 非常好看的主题
- Prettier 格式化代码用的
- vscode-icons 美化图标
- Fluent Icons 也是美化的
- vscode-pdf 可以让你在 vscode 里面看 pdf 文件也是非常好用尤其是学校里打 OI 模拟赛的时候
- Power Mode 让你打代码更有《力量》,很好看,但是不关掉抖动可能用起来有点难受
- Markdown All in One 一会用大佬的配置文件要用
附:Power Mode 开启方法
按左下齿轮,打开设置
,搜索 Powermode:Enabled
弹出来的第一个勾选上。
然后搜索 Powermode>Shake:Enabled
不勾选时可以防止抖动。
最后搜索 Powermode:Presets
,第一个栏里面选择 flames
(这里是我推荐的,你们可以自己试试,效果都不太一样,我认为这个好看)改变打字的时候冒出来的东西。
效果:
但是怎么说呢……不建议开容易被紫菜。
Part#6 推荐字体
点击这里找到 Download 按钮下载 FiraCode 字体,不得不说是真的好看。
直接下载点这里。
解压安装 ttf
文件夹里的字体(全都安装)。
点击这里找到并且下载 Super OTC 字体。
直接下载点这里。
然后解压安装字体。
然后在 settings.json
里面加入这一段代码(不要动他给的大体代码):
"workbench.colorTheme": "One Dark Pro Mix",//这里是主题,可以改
"workbench.iconTheme": "vscode-icons",
"workbench.productIconTheme": "fluent-icons",
"terminal.integrated.fontFamily": "'Fira Code', 'Noto Sans CJK SC'",
"editor.fontFamily": "'Fira Code', 'Noto Sans CJK SC'",
"editor.fontLigatures": "'cv01', 'cv02', 'zero'",//最新更新,开启连字
如果是最后一行不需要加最后的逗号。
感谢 @lijingshu_304775 大佬说明的问题。
成功后大概就长这样:
可以进行尝试确保是否成功。
然后就是 settings.json
在哪创建:
你的文件夹
-.vscode
--settings.json
settings.json
是在 .vscode
文件夹里面的。
另一种方法:不用创建文件夹按 F1
输入 workbench.action.openSettingsJson
里面加入一样的代码。
方法三:你可以用一位大佬的配置文件:
// settings.json
{
"[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[jsonc]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"C_Cpp.autoAddFileAssociations": false,
"code-runner.executorMap": {
"cpp": "g++ $fileName -o $fileNameWithoutExt -std=c++14 -Wall -Wextra -O2 -march=native && ./$fileNameWithoutExt"
},
"code-runner.fileDirectoryAsCwd": true,
"code-runner.ignoreSelection": true,
"code-runner.runInTerminal": true,
"cph.general.autoShowJudge": false,
"cph.language.cpp.Args": "-std=c++14 -Wall -Wextra -O2 -march=native",
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
"editor.fontFamily": "'Fira Code', 'Noto Sans CJK SC'",
"editor.fontLigatures": "'cv01', 'cv02', 'zero'",
"editor.minimap.renderCharacters": false,
"editor.minimap.scale": 2,
"editor.rulers": [100],
"editor.stickyScroll.enabled": false,
"editor.wordWrap": "on",
"explorer.autoReveal": false,
"files.associations": { ".clang*": "yaml" },
"files.autoGuessEncoding": true,
"markdown.preview.fontFamily": "'Noto Sans CJK SC'",
"prettier.printWidth": 100,
"prettier.tabWidth": 4,
"search.followSymlinks": false,
"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.integrated.enableMultiLinePasteWarning": "never",
"terminal.integrated.fontFamily": "'Fira Code', 'Noto Sans CJK SC'",
"workbench.colorTheme": "One Dark Pro Mix",
"workbench.iconTheme": "vscode-icons",
"workbench.productIconTheme": "fluent-icons",
"workbench.tree.enableStickyScroll": false,
"workbench.tree.indent": 20
}
如果没下载 Git Bash
去下一个。
然后再在你的文件夹里(.vscode
文件夹之外)
创建.clang-format
文件,里面粘贴上这么一段(希望有评论区大佬告诉我这个是干嘛的):
# .clang-format
BasedOnStyle: LLVM
AllowShortBlocksOnASingleLine: Always
AllowShortCaseExpressionOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: true
AllowShortCompoundRequirementOnASingleLine: true
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: AllIfsAndElse
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: true
ColumnLimit: 100
IndentWidth: 4
注意最好选择一种方法使用。
Part#7 如何让你的 vscode 变成良好的 markdown 编辑器
装以下插件:
- Markdown All in One
- Markdown PDF
- Markdown Preview Enhanced
- Markdown TOC
- Markdown+Math
然后你可以创建 .md
文件了,这时候可以用 vscode 良好编辑 markdown,甚至还有补全。
导出为 PDF 方法:
先创建好 markdown 文件,然后右键找到并点击 MPE: 打开侧边预览
,然后在预览里右键,找到 ExPort
,选择 Chrome(Putpeteer)
里面的 PDF
然后就可以导出了。
Part#8 如何让 vscode 拥有缺省源
众所周知,DEV C++ 里面是有缺省源这个东西的,vscode 也有缺省源,而且更《高级》。
首先,我们要知道缺省源在哪里设置。
先点击左下角齿轮按钮,然后选择代码片段
选项(版本不同可能名字也不同,意思差不多的就没问题),上方弹出的框里搜索 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"
// }
}
我们来看给的 Example
里面都有什么部分:
"Print to console":
代码片名称。"prefix": "log"
触发词,输入log
的时候触发。"body"
表示代码片的内容,触发之后会用什么内容来替换触发词。"description": "Log output to console"
代码片描述,不一定非得加。
很显然中间 body
里面的那一堆代码手动打起来很麻烦,提供一个 C++ 程序,可以格式化。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
string s;
bool fl=0;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
//freopen("res.out","w",stdout);
fl=1;
while(1){
getline(cin,s);
if(s[0]=='~') break;//可以改变结束标志
else if(!fl){
cout<<","<<"\n";
}fl=0;
cout<<'"'<<s<<'"';
}
cout<<endl;
//fclose(stdout);
return 0;
}
注意使用的时候最后需要换行并输入一个 ~
符号,不然会死循环。
还有注意缩进问题以及你要格式化的代码中不要使用 tab,请用四个空格代替。
还有注意如果不是最后一个,需要加 ,
在末尾。
附赠我的缺省源:
"qwq":{
"prefix": "test",//触发词test可更改
"body":[
"#include<bits/stdc++.h>",
"using namespace std;",
"#define ll long long",
"#define ls p<<1",
"#define rs p<<1|1",
"#define pb push_back",
"",
"const ll N=2e5+10;",
"const ll M=2e3+10;",
"const ll inf=1e12;",
"const ll mod=1e9+7;",
"",
"inline ll lowbit(ll x){",
" return x&(-x);",
"}",
"",
"int main(){",
" ",
" return 0;",
"} "
]
}
我这一段的效果: 点击后:
使用时空文件里输入 test
(你的触发词)然后点击第一个(有的时候可能关键字会放在前面)就可以打出来了。
此外,这个功能不仅可以编辑缺省源还可以放更多模版,比如快读、树状数组等等,功能十分强大。
Part#9 特殊用途
介绍我认为最实用的用途。
众所周知,我们打模拟赛的时候会发下来大样例,然后你就会发现,有的题目输出会特别多,如果手动去比较,眼睛很容易死掉。
vscode 非常人性化的考虑到了这一点,提供了比较功能。
首先,我们需要确保输出文件和答案文件都在你 vscode 使用的文件夹里面,然后按住 Ctrl
,分别点击答案文件和输出文件,然后右键点击选中的任意一个文件,再点击将已选项进行比较
,即可跳转到比较页面,这里展示一下最后的效果。
这里面标红的一行就是你错误的东西。右侧会展示出来哪里错了。
而且,vscode 可以直接打开 .out
以及 .ans
文件。
Part#10 注意事项
- 如果有什么不对的请指出。
- 确定 Win11 可行,不确定其他版本是否可行。
- 2025.6.17 更改了一处错误,感谢管理大佬 & 评论区大佬指出。
- 2025.6.29 对文本进行了更新,有啥不对的请指出。
- 请在评论区指出错误。
Part#11 评论区回复+置顶
手动置顶评论。
如果要用 clangd,建议看上面配置文件 dalao 的文章的最后部分。
进不去 github 可以看评论区 dalao 的文章。