VSCode 自定义:增强您的 IDE 扩展功能🧩常规设置⚙️最终想法👋

2025-06-07

VSCode 自定义:增强你的 IDE

扩展🧩

常规设置⚙️

最后的想法👋

嗨,Dev👋。这是另一篇关于 VSCode 自定义的笔记。它包含一系列很酷的扩展🧩和设置🎛,我发现它们在我的日常编程工作中非常有用。我为我的个人网站编写了这篇文章,并决定将其转发到这里,向 Dev.to🤗 说一声“你好,世界”。


那是一个周六的晚上。我发现自己在寻找其他人如何使用 VSCode。我感兴趣的是如何提升我最爱的 IDE 的使用体验。

不知何故,YouTube 上视频、指南和在线教程的数量和质量都无法完全满足我日常所需的这些“维生素”,所以我决定从自己做起!这里我列出了我最喜欢的 VSCode 扩展和设置。所以,坐下来,放松,享受这美好的时光吧!🚀

扩展🧩

我对 VSCode 最满意的一点就是它让自定义功能成为每个程序员生活的一部分。这款 IDE 本身并没有预装太多东西,因此非常轻量且易用。扩展是自定义体验的核心。这里我精选了 VSCode 2️⃣0️⃣2️⃣1️⃣ 年最酷炫的扩展。

:emojisense: 🐕🐷🐀🐂🐯🐰🐲🐍🐴🐑🐒🐓

替代文本

你好,Dawg,听说你喜欢表情符号…… :emojisense:是我最喜欢的扩展之一,因为它允许你在代码中添加表情符号,甚至可以在提交信息字段中添加。我已经习惯了 Slack 的使用体验,或者当你的朋友也用表情符号的时候,我简直说不出话来git push origin main --force💔。好吧,不用客气!

Bracket Pair Colorizer 2(是的,第二个)

替代文本

我想这里没什么好讨论的。它会为你标记嵌套括号的相应层级。所以,现在你可以尽情使用你最喜欢的for-comprehensions了,无需SyntaxError😉。

路径智能感知

替代文本

VSCode 似乎没有提供开箱即用的路径自动补全功能。因此,你需要一个扩展程序来支持它。我试了好几个不同的扩展程序,可惜的是,它们都不太好用,我没能选出我最喜欢的。所以,我还是坚持用最受欢迎的那个吧🤷。

为了使其正常工作,您应该在用户设置中关闭 VSCode 的默认路径自动完成功能

"typescript.suggest.paths": false,
Enter fullscreen mode Exit fullscreen mode

远程 SSH

替代文本

对我来说,这无疑是 VSCode 中最重要的扩展🙏。我放弃 Jupyter 转而使用 VSCode 就是因为它有这个扩展。远程 SSH允许你编辑、运行、调试、输入、测试、lint 和搜索文件你的代码——你在本地机器上用 VSCode 能做的所有事情都可以在远程机器上完成,包括 Docker。它不需要在远程机器上进行任何特殊安装,也不需要繁琐的文件夹挂载——它就是好用👍!

注意:该扩展由微软开发,这是 VSCode 著名的“杀手级功能”之一,但实际上并非开源。没错,它是免费的,甚至有一个GitHub 仓库,但没有源代码,只有问题。

为了获得最佳体验,请增加连接时输入凭据所需的时间,然后才能重新加载窗口(很烦人!)。

"remote.SSH.connectTimeout": 1200,
Enter fullscreen mode Exit fullscreen mode

实时服务器

替代文本

有时我需要用 CSS 编写一些 HTML。Live Server 可以让你像在Brackets中一样实时预览更改内容。

vscode-pdf

别问我为什么🤫,但偶尔.pdf我的代码附近会有个文件,我想直接打开它而不下载。等等,什么?你也一样?好吧,这个扩展就是干这个的。

CSS 速览

替代文本

这个扩展也很不错🤗。你经常会想跳转到源代码中某个标签中定义的类的定义。这个扩展的工作原理与 VSCode 生态系统类似。

HTML提示

替代文本

根据一些简单的规则检查您的 HTML 文件,例如,它src不为空,并且是否使用引号括起属性值。

Markdown 一体化

替代文本

我最喜欢的⭐扩展之一,每天都会用。它提供许多实用工具,例如快捷方式勾选待办事项复选框、用合适的括号括住所选文本来添加链接、斜体或粗体文本、自动将新项目添加到列表中并进行适当的缩进,以及实时预览(所见即所得)。

PythonPylance

我不确定是否需要提及 Python 扩展,因为如果你曾经在 VSCode 中使用过 Python 编程,那么你肯定已经了解它了。所以,我只想分享它的正确设置。对于 Python,我喜欢使用Pylance,它是 Python 最好的语言服务器。它支持自动导入、类型检查(就像在mypy中一样),而且速度很快🏃💨。

注意Pylance是微软开发的 VSCode 的 Python 语言服务器。除了远程 SSH和 Docker 扩展之外,Pylance 也是免费的,但它是闭源的 🙁。如果你不喜欢它的闭源,可以尝试其他的——幸运的是,在 VSCode 中,它只需要一行代码。

要激活 Pylance,您需要安装Pylance 扩展并在设置中指定它:

"python.languageServer": "Pylance",
Enter fullscreen mode Exit fullscreen mode

如果设置为“true”,当你启动新的终端时,它将自动激活(source)与 VSCode 解释器相同的虚拟环境 (conda)。我发现它在集群环境下很有用,因为在集群环境下,source 虚拟环境需要一些时间:

"python.terminal.activateEnvironment": false,
Enter fullscreen mode Exit fullscreen mode

这个相当小,当重新启动 Jupyter Notebook 内核时,不会要求您确认:

"python.dataScience.askForKernelRestart": false,
Enter fullscreen mode Exit fullscreen mode

默认情况下,autopep8会在 80 个符号后中断您的代码。如果您的标尺配置为非 80 个符号(例如 110 个),autopep8 的行为会有点烦人。为了防止它换行,请使用以下设置:

"python.formatting.autopep8Args": [
    "--max-line-length=110",
],
Enter fullscreen mode Exit fullscreen mode

我使用flake8 linter 是因为Pylint与 PyTorch、numpy 和 cv2 存在一些问题。如果你的代码超过 80 个符号,它还会抛出警告。我们将改进这一点,并使用更多忽略规则。请在此处查看忽略代码的说明:

"python.linting.flake8Enabled": true,
"python.linting.flake8Args": [
    "--max-line-length=110",
    "--ignore=W293,E302,E266,W391,E402,E226,W291,E116,E502",
],
Enter fullscreen mode Exit fullscreen mode

我喜欢我的 Jupyter Notebook 打开时显示为白色。忽略 VSCode 主题对我来说很有效:

"python.dataScience.ignoreVscodeTheme": true,
Enter fullscreen mode Exit fullscreen mode

如果尚未选择,则工作区的默认 Python 解释器:

"python.pythonPath": "/usr/bin/python3",
Enter fullscreen mode Exit fullscreen mode

Python 扩展有一个令人讨厌的欢迎页面,应该关闭:

"python.showStartPage": false,
Enter fullscreen mode Exit fullscreen mode

Python 文档字符串生成器

替代文本

为你的 Python 🐍 函数创建一个文档字符串模板,其中包含参数和返回类型。现在你再也没有理由不为你的函数 💪 编写文档字符串了。

我喜欢在所有 Python 代码中使用单引号 ( ''') 而不是双引号 ( """)。因此,设置如下:

"autoDocstring.quoteStyle": "'''",
Enter fullscreen mode Exit fullscreen mode

快速且 简单的文本选择

替代文本

我写代码的时候经常会用到文件路径。一个常见的用例是,当你在“引号”里,想把里面的内容复制粘贴到其他地方,然后直接删掉。我经常需要用到它,所以我甚至学会了那些尴尬的快捷键(和弦)。这真是个很棒的功能,你很想拥有,但又不想学习 Vim 😃。

资源监视器

替代文本

有时我会和其他人共用一台 GPU 机器,这时需要注意磁盘空间,因为数据集或已保存的日志可能会占用大量内存。有时,我只是想快速了解 CPU 和 RAM 的状态,而无需运行htop🦥。对于所有这些情况,我都会使用资源监视器📈,它会在状态栏中显示这些信息。

默认情况下,它仅显示 CPU 和 RAM。添加以下几行还可以跟踪磁盘:

"resmon.show.disk": true,
"resmon.disk.format": "PercentUsed",
"resmon.disk.drives": ["/dev/sda4", "/dev/sda3", "/dev/sdb1", "/dev/nvme0n1p1"],
Enter fullscreen mode Exit fullscreen mode

彩虹 CSV

替代文本

有没有试过打开并编辑一个宽 CSV 文件?“好的,我正在修复这一行的第七列。然后,我需要找到下一行的第七列:一、二、三……(算上逗号)”——哎呀😒!Rainbow CSV🌈可以帮你解决这个问题。它会为每列的内容着色,并显示该列的标题,方便浏览和编辑。

PyTorch 代码片段

替代文本

我非常喜欢 VSCode 的代码片段。它们高效且易于上手。这些代码片段适用于 PyTorch,但你也可以找到许多其他框架和工具的代码片段🚀。

Vim 模拟器

替代文本

此扩展尝试在 VSCode 中模拟 Vim 的行为。起初,我以为它只会提供类似 Vim 的编辑方式,但实际上它在某些 VSCode 窗口(例如资源管理器选项卡)中也能正常工作(太棒了!🔥)。

默认情况下,Vim 将信息提取到“寄存器”中,当您从网上复制粘贴时,它不会出现在剪贴板上:

"vim.useSystemClipboard": true,
Enter fullscreen mode Exit fullscreen mode

这样你就可以insert用“ ”退出“ jj”模式。Sashulya 说,在使用 vim 时,这是“必须的”:

"vim.insertModeKeyBindings": [{
"before": ["j", "j"],
"after": [""]
}],
Enter fullscreen mode Exit fullscreen mode

我发现“ ,”上的领导者对我来说效果最好:

"vim.leader": ",",
Enter fullscreen mode Exit fullscreen mode

要设置easymotion-vimsurrounding.vim的仿真,请添加以下内容:

"vim.easymotion": true,
"vim.surround": true,
Enter fullscreen mode Exit fullscreen mode

.vimrc如果有的话,请寻找:

"vim.vimrc.enable": true,
Enter fullscreen mode Exit fullscreen mode

常规设置⚙️

除了扩展🧩之外,我超爱 VSCode 的用户设置。几乎所有设置都可以自定义。这里我提供了一组实用的设置,可以大大提升你的 VSCode 💪 体验。

Monokai 主题👍

在 VSCode 之前,我使用Sublime Text 3 只是为了做笔记或打开文本文件。实际上,我认为 Sublime 的主题(Monokai)是 VSCode 或任何 IDE 的最佳主题。它既不会太暗,也不会太暗,而是色彩鲜艳,看起来很赏心悦目。函数调用、类及其方法都会高亮显示。Monokai 很好用,但你需要修改一些小细节,让它在某些地方更具对比度。此外,最酷炫的是终端边框颜色。当你有多个终端并排放置时,它非常有用:

"workbench.colorTheme": "Monokai",
"workbench.colorCustomizations": {
    "diffEditor.removedTextBackground": "#bb3d3d55",
    "diffEditor.insertedTextBackground": "#4bb36255",
    "editor.selectionBackground": "#135564",
    "editor.selectionHighlightBackground": "#135564",
    "terminal.border": "#ffffff",
},
Enter fullscreen mode Exit fullscreen mode

编辑👨‍💻

您与 IDE 的大部分交互都发生在编辑器中,您可以在其中进行火箭科学🚀。就像为您的床选择床垫🛏️一样,您应该非常细致地改进编辑器,因为即使是微小的生产力提升也会为您带来长期的益处。

当我打字时,我想尽快看到自动完成选项💨!

"editor.quickSuggestionsDelay": 0,
Enter fullscreen mode Exit fullscreen mode

当我复制一些代码时,我希望根据我正在使用的代码格式化程序(例如autopep8 )对其进行格式化

"editor.formatOnPaste": true,
Enter fullscreen mode Exit fullscreen mode

字符串和注释中缺少自动完成功能是我最不喜欢的 VSCode 默认设置之一:

"editor.quickSuggestions": {
    "strings": true,
    "comments": true,
},
Enter fullscreen mode Exit fullscreen mode

我喜欢我的代码片段出现在其他自动完成建议的上方。这有助于更快地编写代码:

"editor.snippetSuggestions": "top",
Enter fullscreen mode Exit fullscreen mode

在窗口名称中显示打开文件的路径:

"window.title": "${activeEditorLong}",
Enter fullscreen mode Exit fullscreen mode

显示空格和其他控制字符(还记得 MS Word 中的“隐藏文本”吗?):

"editor.renderWhitespace": "all",
"editor.renderControlCharacters": true,
Enter fullscreen mode Exit fullscreen mode

我不太喜欢PEP8 默认的 80 个符号行限制。为什么?这是Linus 的注释(TL;DR:现在没人有 80 个符号长的终端了,就算你有,也别让我们吃亏)。好吧,他讲的是 Linux 内核,不过不管怎么说!为什么是 110?因为这是 GitHub 上显示代码的“安全”长度,不会产生水平滚动(水平滚动体验更差——不仅在 GitHub 上,在编辑器中也是如此)。我还把编辑器的字体保持在 14 号:

"editor.rulers": [
    110
],
"editor.wordWrap": "on",
"editor.fontSize": 14,
Enter fullscreen mode Exit fullscreen mode

我坚持了很长时间,说服自己它是有用的(但事实并非如此):

"editor.minimap.enabled": false,
Enter fullscreen mode Exit fullscreen mode

这个有点难解释。这个设置控制自动完成列表出现时选择的悬停位置。如果不是“第一个”,它会预先选择最近使用的那个,而不是最上面的建议:

"editor.suggestSelection": "first",
Enter fullscreen mode Exit fullscreen mode

假设您在保存时使用了某个自动格式化程序(例如 autopep8),并且想要对克隆的代码进行一些细微的更改。您进行了更改,保存了文件,然后看到自动格式化程序修改了不少行。此设置只会将格式化程序应用于修改后的 git 区域——很方便,对吧?

"editor.formatOnSaveMode": "modifications",
Enter fullscreen mode Exit fullscreen mode

这个在你使用 Vim 时很有用。它会显示当前行号以及相对于当前行号的相对行号:

"editor.lineNumbers": "relative",
Enter fullscreen mode Exit fullscreen mode

终端🟩

对我来说,VSCode 中第二个最常用的东西是终端,因此它也需要特别注意。

我一直觉得块状光标 ▋ 不太好看,总是用“横线” | 代替。终端里的字体大小由你决定,但我用的是 14 pt——和编辑器里的一样:

"terminal.integrated.fontSize": 14,
"terminal.integrated.cursorStyle": "line",
Enter fullscreen mode Exit fullscreen mode

我到处都在使用 zsh (带有ohmyzsh ),所以我需要告诉 VSCode 我正在使用它,否则它将初始化 bash shell 🐚:

"terminal.integrated.shell.linux": "/bin/zsh",
"terminal.integrated.shell.osx": "/bin/zsh",
Enter fullscreen mode Exit fullscreen mode

“如果你不了解历史,你注定会重蹈覆辙”😁:

"terminal.integrated.scrollback": 10000,
Enter fullscreen mode Exit fullscreen mode

布局🎛️

这些设置更高级,会影响 VSCode 窗口布局。

首先,你可能想把侧边栏(默认是你的 files/extensions/git 所在的位置)保留在右侧 👉。其次,工作台面板(默认是你的终端/输出/调试所在的位置)应该放在左侧👈:

"workbench.sideBar.location": "right",
"workbench.panel.defaultLocation": "left",
Enter fullscreen mode Exit fullscreen mode

第三项(可选)操作是隐藏活动栏(它是最左侧的窄高栏,点击即可打开资源管理器/版本控制/扩展/Docker),以节省一些水平空间。隐藏后,使用命令面板( Cmd/Ctrl+Shift+p ) 或指定一些快捷键即可打开它们:

"workbench.activityBar.visible": false,
Enter fullscreen mode Exit fullscreen mode

最后,VSCode 会在你切换编辑的文件时高亮显示资源管理器(如果隐藏了的话)。这有点烦人,尤其是当该文件所在的文件夹包含许多其他文件时:

"explorer.autoReveal": false,
Enter fullscreen mode Exit fullscreen mode

处理文件🗄️

VSCode 有很多不错的选项,默认情况下是禁用的,并且会使用文件自动化您的工作流程️。

首先,告诉你的 VSCode 在保存时自动为你做些无聊的事情,即修剪多余的空格、最后的空换行符,并在末尾插入一个换行符:

"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
Enter fullscreen mode Exit fullscreen mode

接下来,我希望我的资源管理器显示的文件夹尽可能详细。同时,我不想搜索.git文件夹:

"files.exclude": {
    "**/.DS_Store": false,
    "**/.git": false,
    "**/.hg": false,
    "**/.svn": false,
    "**/CVS": false,
},

"search.exclude": {
    "**/.git": true,
},
Enter fullscreen mode Exit fullscreen mode

杂项🎚️

其余设置不属于前面任何部分。

如果您不想向 Microsoft 发送匿名数据和分析,您可以禁用遥测:

"telemetry.enableCrashReporter": false,
"telemetry.enableTelemetry": false,
Enter fullscreen mode Exit fullscreen mode

配置 git 时,你可能想告诉 VSCode 在使用旧版本 git 时忽略旧版警告。另外,我对 VSCode ❎ GitHub 的紧密集成不太满意,我宁愿每次都输入我的登录名并传递信息:

"github.gitAuthentication": false,
"git.ignoreLegacyWarning": true,
Enter fullscreen mode Exit fullscreen mode

使 diff 编辑器更加详细:

"diffEditor.ignoreTrimWhitespace": false,
Enter fullscreen mode Exit fullscreen mode

更改调试控制台字体大小以匹配终端和编辑器:

"debug.console.fontSize": 14,
Enter fullscreen mode Exit fullscreen mode

最后的想法👋

我在这篇文章中想表达的观点可以归结为以下几点:“尽早掌握你的 IDE 💪”。如果你的日常工作👷‍♀️或学习🎓日常工作涉及大量编程,那么掌握你最喜欢的 IDE 将显著提升你的长期开发速度。市面上有很多优秀的 IDE(Jupyter Notebook 不包含在内😼):PyCharm(主要用于 Python)、Vim(导航一开始有点别扭,但很酷)、Emacs(导航也有点奇怪,但习惯了就好)。我❤️ VSCode,希望你也喜欢它。这些设置和扩展让我比以前更享受编程的乐趣。还有一部分内容没有讲清楚,那就是键盘快捷键。如果你希望我以类似的方式分享它们,请给我发送电子邮件或在 GitHub 上创建问题

本指南撰写于 2020 年圣诞假期🎄,其中涵盖了我 2020 年😷 使用的设置。如果有更多精彩内容,我计划更新这篇文章。

如果您喜欢这类内容,我会在这里给您留下一些好东西供您查看:

Alex Lapin 撰写的《友好 SWE 指南宣言》

Python Essentials – VSCode 的一组实用 Python 扩展


如果你觉得有趣,我很乐意分享。所以,欢迎在LinkedInTwitter上给我留言。我还有一个活跃的GitHub 账户,用于记录我的个人项目。🤗

文章来源:https://dev.to/iashin/vscode-customization-supercharge-your-ide-43fn
PREV
调整你的终端
NEXT
如何在安卓手机上安装 VS Code?Termux 更新 Termux 安装所需软件包 VSCode 获取 URL 和密码 运行 VS Code