Visual Studio Code 中的配置文件
Visual Studio Code 有数百个设置、数千个扩展,以及无数种调整 UI 布局以自定义编辑器的方法。VS Code 的配置文件 (Profiles) 功能允许您创建多套自定义配置,并能快速地在它们之间切换或与他人分享。本主题将解释如何使用配置文件编辑器来创建、修改、导出和导入配置文件。
访问配置文件编辑器
配置文件编辑器让您可以在 VS Code 中一站式地创建和管理您的配置文件。
您可以通过以下任一方式访问配置文件编辑器:
-
通过菜单项 文件 > 首选项 > 配置文件
-
通过活动栏底部的管理齿轮按钮。
创建配置文件
VS Code 将您当前的配置视为默认配置文件。当您修改设置、安装扩展或通过移动视图来更改 UI 布局时,这些自定义设置都会在默认配置文件中被跟踪。
要创建一个新的配置文件,请打开配置文件编辑器并选择新建配置文件按钮。这会打开“新建配置文件”表单,您可以在其中输入配置文件名称、选择一个图标,并配置新配置文件中包含的内容。
您可以选择从一个配置文件模板或一个已有的配置文件复制内容来创建新的配置文件,也可以创建一个空配置文件。空配置文件不包含任何用户自定义项,如设置、扩展、代码片段等。
您可以限制新配置文件只包含一部分配置(设置、键盘快捷方式、MCP 服务器、代码片段、任务和扩展),而其余的配置则使用默认配置文件的。例如,您可以创建一个除了键盘快捷方式之外包含所有配置的配置文件,当此配置文件激活时,VS Code 将应用默认配置文件的键盘快捷方式。
您可以在内容部分浏览您正在复制的模板或配置文件的内容。每个部分旁边都有一个打开按钮,您可以选择它来查看其内容。
在创建新配置文件之前,通过选择预览按钮来预览它。这会打开一个新的 VS Code 窗口,并应用了新的配置文件。一旦您对预览感到满意,就可以选择创建按钮来创建新的配置文件。
检查当前配置文件
您可以在 VS Code 用户界面的多个位置找到当前 VS Code 窗口正在使用的配置文件:
-
在 VS Code 的标题栏中
-
当您将鼠标悬停在活动栏中的管理按钮上时,会在悬浮文本中显示
如果您为配置文件配置了一个图标,这个图标将作为活动栏中的管理按钮。请注意在下面的截图中,“管理”按钮现在有一个麦克风图标,这表示有一个配置文件是活动的。
如果您没有配置图标,那么管理齿轮按钮会显示一个带有活动配置文件前两个字母的徽章,这样您就可以快速查看正在运行哪个配置文件。
-
在配置文件编辑器中
注意:如果您正在使用默认配置文件,则不会显示配置文件名称。
配置一个配置文件
您可以像更改任何 VS Code 配置一样配置一个配置文件。您可以安装/卸载/禁用扩展、更改设置以及调整编辑器的 UI 布局(例如,移动和隐藏视图)。当您应用这些更改时,它们会被存储在您当前活动的配置文件中。
文件夹和工作区关联
当您创建或选择一个配置文件时,它会与当前的文件夹或工作区关联。每当您打开该文件夹时,该工作区的配置文件就会被激活。如果您打开另一个文件夹,配置文件会切换到那个文件夹的配置文件(如果之前已经设置过的话)。
您可以在配置文件编辑器的文件夹和工作区部分查看与一个配置文件相关联的文件夹列表。
管理配置文件
切换配置文件
您可以使用命令面板中的配置文件:切换配置文件命令快速切换配置文件,该命令会显示一个包含您可用配置文件的下拉列表。
您也可以在配置文件编辑器中切换配置文件,只需在您想切换到的配置文件旁边选择将此配置文件用于当前窗口按钮即可。
编辑一个配置文件
您可以在配置文件编辑器中编辑现有配置文件的名称、图标和其他配置。
删除一个配置文件
您可以在配置文件编辑器中删除一个配置文件,方法是选择您想删除的配置文件溢出操作菜单中的删除配置文件按钮。
您也可以通过删除配置文件命令来删除配置文件。删除配置文件下拉列表让您可以选择要删除的一个或多个配置文件。
用一个配置文件打开一个新窗口
您可以在打开新的 VS Code 窗口时选择要使用的配置文件,方法是使用配置文件编辑器中“配置文件内容”视图里的用于新窗口选项。
您可以通过文件 > 使用配置文件新建窗口菜单,并选择您想使用的配置文件,直接为特定配置文件打开一个新的 VS Code 窗口。
将一个设置应用于所有配置文件
要将一个设置应用于您的所有配置文件,请在设置编辑器中使用将设置应用于所有配置文件操作。
在任何一个配置文件中对这个设置的更新也会应用到所有其他配置文件。您随时可以通过取消勾选将设置应用于所有配置文件操作来撤销此行为。
将一个扩展应用于所有配置文件
要将一个扩展应用于您的所有配置文件,请在扩展视图中选择将扩展应用于所有配置文件操作。
这使得该扩展在您所有的配置文件中都可用。您随时可以通过取消勾选将扩展应用于所有配置文件操作来撤销此行为。
在不同设备间同步配置文件
您可以使用设置同步功能将您的配置文件迁移到不同的设备上。启用设置同步并在设置同步:配置下拉菜单中勾选配置文件后,您所有的配置文件都将在已同步的设备上可用。
注意:VS Code 不会将您的扩展与远程窗口(例如当您连接到 SSH、开发容器(devcontainer)或 WSL 时)进行同步。
分享配置文件
导出
您可以通过使用要导出的配置文件溢出操作菜单中的导出...按钮,来导出一个配置文件以进行保存或与他人分享。
当您选择导出...时,系统会提示您输入配置文件名称,并选择是导出到GitHub gist还是本地文件系统。
另存为 GitHub gist
将配置文件保存到 GitHub 后(系统会提示您登录 GitHub),一个对话框会给您提供复制链接的选项,以便与他人分享您的配置文件 gist URL。该 URL 包含一个自动生成的 GUID,格式为 `https://vscode.dev/editor/profile/github/{GUID}`。这个 GitHub gist 被标记为私密 (Secret),因此只有拥有链接的人才能看到该 gist。
如果您打开这个配置文件 URL,它会打开 VS Code for the Web,并打开配置文件编辑器,显示导入的配置文件内容。如果您愿意,可以取消选择配置文件的某些元素,如果您想在 VS Code for the Web 中继续使用该配置文件,需要手动安装扩展(通过下载云按钮)。
您还有一个选项是在 Visual Studio Code 中导入配置文件,这会打开 VS Code 桌面版,并显示配置文件的内容和一个导入配置文件按钮。
您可以在 `https://gist.github.com/{username}` 查看您的 gists。在您的 GitHub gist 页面,您可以重命名、删除或复制一个 gist 的 GUID。
另存为本地文件
如果您选择将配置文件保存为本地文件,一个保存配置文件对话框会让您将文件放置在您的本地计算机上。配置文件会以 `.code-profile` 扩展名持久化保存。
导入
您可以在配置文件编辑器中导入一个已有的配置文件,方法是选择新建配置文件按钮下拉操作菜单中的导入配置文件...按钮。
当您选择导入配置文件...时,系统会通过一个导入配置文件对话框提示您输入 GitHub gist 的 URL 或配置文件的文件位置。一旦您选择了配置文件,配置文件创建表单会打开,并预先选中了要导入的配置文件。您可以继续修改配置文件并选择创建来导入该配置文件。
配置文件的用途
配置文件是自定义 VS Code 以更好地满足您需求的好方法。在本节中,我们将看一些配置文件的常见用例。
由于配置文件是按工作区记住的,它们是为特定编程语言自定义 VS Code 的绝佳方式。例如,您可以创建一个 JavaScript 前端配置文件,其中包含您在一个工作区中用于 JavaScript 开发的扩展、设置和自定义项,同时还有一个 Python 后端配置文件,其中包含您在另一个工作区中用于 Python 开发的扩展、设置和自定义项。使用这种方法,您可以轻松地在工作区之间切换,并始终让 VS Code 配置得当。
演示
在做演示时,您可以使用一个配置文件为您的演示设置一个特定的配置。例如,您可以创建一个包含特定扩展集和设置(如缩放级别、字体大小和颜色主题)的配置文件。这样做,演示就不会弄乱您正常的 VS Code 设置,并且您可以自定义 VS Code 以便在演示期间获得更好的可见性。
教育
配置文件可以用来为学生定制 VS Code,以便在课堂环境中使用。配置文件允许教育工作者快速与学生分享一个定制的 VS Code 设置。例如,教育工作者可以创建一个包含计算机科学课程所需的特定扩展集和设置的配置文件,然后与学生分享该配置文件。
报告 VS Code 问题
当您想报告 VS Code 的问题时,使用空配置文件是重置编辑器的一种方法。空配置文件会禁用所有扩展和修改过的设置,这样您就可以快速查看问题是由于扩展、设置还是 VS Code 核心引起的。
配置文件模板
VS Code 自带一组预定义的配置文件模板,您可以用来自定义 VS Code 以适应您的特定工作流程。要基于模板创建新的配置文件,请在创建配置文件流程中选择一个配置文件模板。
Python 配置文件模板
Python 配置文件是 Python 开发的一个良好起点。它附带了 Python 特定的代码片段,并包含以下扩展:
- autoDocstring - 自动生成 Python 文档字符串。
- 容器工具 - 创建、管理和调试容器化应用程序。
- Even Better TOML - 为例如
pyproject.toml
文件提供功能齐全的 TOML 支持。 - Python - 智能感知、环境管理、调试、重构。
- Python 环境 - 使用您偏好的环境管理器来管理 Python 环境和包。
- 远程开发扩展包 - 支持 SSH、WSL 和开发容器。
- Ruff - 集成了 Ruff Python linter 和格式化工具。
此配置文件还设置了以下设置:
"python.analysis.autoImportCompletions": true,
"python.analysis.fixAll": ["source.unusedImports"],
"editor.defaultFormatter": "charliermarsh.ruff"
数据科学配置文件模板
数据科学配置文件是所有数据和 notebook 工作的良好起点。它附带了特定的代码片段,并包含以下扩展:
- Data Wrangler - 用于表格数据集和 Excel/CSV/Parquet 文件的数据查看、清理和准备。
- GitHub Copilot - 您的 AI 结对程序员。
- Jupyter - 在 VS Code 中使用 Jupyter Notebooks。
- Python - 智能感知、环境管理、调试、重构。
- 远程开发扩展包 - 支持 SSH、WSL 和开发容器。
- Ruff - 集成了 Ruff Python linter 和格式化工具。
此配置文件还设置了以下设置:
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnType": true,
"editor.formatOnSave": true
},
"editor.inlineSuggest.enabled": true,
"editor.lineHeight": 17,
"breadcrumbs.enabled": false,
"files.autoSave": "afterDelay",
"notebook.output.scrolling": true,
"jupyter.themeMatplotlibPlots": true,
"jupyter.widgetScriptSources": [
"unpkg.com",
"jsdelivr.com"
],
"files.exclude": {
"**/.csv": true,
"**/.parquet": true,
"**/.pkl": true,
"**/.xls": true
}
文档编写者配置文件模板
文档编写者配置文件是用于编写文档的良好轻量级设置。它包含以下扩展:
- Code Spell Checker - 源代码的拼写检查器。
- Markdown Checkboxes - 为 VS Code 内置的 Markdown 预览添加复选框支持。
- Markdown Emoji - 为 Markdown 预览和 notebook Markdown 单元格添加表情符号语法支持。
- Markdown Footnotes - 为 Markdown 预览添加 ^footnote 语法支持。
- Markdown Preview GitHub Styling - 在 Markdown 预览中使用 GitHub 样式。
- Markdown Preview Mermaid Support - Mermaid 图表和流程图。
- Markdown yaml Preamble - 将 YAML 前置元数据渲染为表格。
- markdownlint - Visual Studio Code 的 Markdown 语法检查和风格检查。
- Word Count - 在状态栏中查看 Markdown 文档的字数。
- Read Time - 估计阅读您的 Markdown 所需的时间。
此配置文件还设置了以下设置:
"workbench.colorTheme": "Default Light Modern",
"editor.minimap.enabled": false,
"breadcrumbs.enabled": false,
"editor.glyphMargin": false,
"explorer.decorations.badges": false,
"explorer.decorations.colors": false,
"editor.fontLigatures": true,
"files.autoSave": "afterDelay",
"git.enableSmartCommit": true,
"window.commandCenter": true,
"editor.renderWhitespace": "none",
"workbench.editor.untitled.hint": "hidden",
"markdown.validate.enabled": true,
"markdown.updateLinksOnFileMove.enabled": "prompt",
"workbench.startupEditor": "none"
Node.js 配置文件模板
Node.js 配置文件是所有 Node.js 工作的良好起点。它包含以下扩展:
- 容器工具 - 创建、管理和调试容器化应用程序。
- 开发容器 (Dev Containers) - 在 Docker 容器内创建自定义开发环境。
- DotENV - 支持 dotenv 文件语法。
- EditorConfig for VS Code - Visual Studio Code 的 EditorConfig 支持。
- ESLint - 将 ESLint JavaScript 集成到 VS Code 中。
- JavaScript (ES6) code snippets - 用于 ES6 语法的 JavaScript 代码片段。
- Jest - 使用 Facebook 的 Jest 测试框架。
- Microsoft Edge Tools for VS Code - 在 VS Code 内部使用 Microsoft Edge 工具。
- npm Intellisense - 在 import 语句中自动补全 npm 模块。
- Prettier - Code formatter - 使用 Prettier 的代码格式化工具。
- Rest Client - Visual Studio Code 的 REST 客户端。
- YAML - YAML 语言支持,内置 Kubernetes 语法。
此配置文件附带以下设置:
"editor.formatOnPaste": true,
"git.autofetch": true,
"[markdown]": {
"editor.wordWrap": "on"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
Angular 配置文件模板
Angular 配置文件是所有 Angular 工作的良好起点。它包含以下扩展:
- Angular Language Service - 为 Angular 模板提供编辑器服务。
- Angular Schematics - 集成 Angular schematics(CLI 命令)。
- angular2-switcher - 在 angular2 项目中轻松导航到 `typescript`|`template`|`style`。
- 开发容器 (Dev Containers) - 在 Docker 容器内创建自定义开发环境。
- EditorConfig for VS Code - Visual Studio Code 的 EditorConfig 支持。
- ESLint - 将 ESLint JavaScript 集成到 VS Code 中。
- JavaScript (ES6) code snippets - 用于 ES6 语法的 JavaScript 代码片段。
- Jest - 使用 Facebook 的 Jest 测试框架。
- Material Icon Theme - Visual Studio Code 的 Material Design 图标。
- Microsoft Edge Tools for VS Code - 在 VS Code 内部使用 Microsoft Edge 工具。
- Playwright Test for VSCode - 在 Visual Studio Code 中运行 Playwright 测试。
- Prettier - Code formatter - 使用 Prettier 的代码格式化工具。
- Rest Client - Visual Studio Code 的 REST 客户端。
- YAML - YAML 语言支持,内置 Kubernetes 语法。
此配置文件设置了以下设置:
"editor.formatOnPaste": true,
"git.autofetch": true,
"[markdown]": {
"editor.wordWrap": "on"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"workbench.iconTheme": "material-icon-theme"
Java 通用配置文件模板
Java 通用配置文件是所有 Java 工作的良好起点。它自定义了布局以改善 Java 体验,并包含来自 Java 扩展包 的以下扩展:
- Debugger for Java - 一个轻量级的 Java 调试器。
- IntelliCode - AI 辅助开发。
- IntelliCode API Usage Examples - 为超过 10 万个不同的 API 提供代码示例。
- Language Support for Java(TM) by Red Hat - 基础的 Java 语言支持、语法检查、智能感知、格式化、重构。
- Maven for Java - 管理 Maven 项目和构建。
- Project Manager for Java - 在 VS Code 中管理 Java 项目。
- Test Runner for Java - 运行和调试 JUnit 或 TestNG 测试用例。
Java Spring 配置文件模板
Java Spring 配置文件是所有 Java 和 Spring 开发人员的良好起点。它基于 Java 通用配置文件构建,并从 Spring Boot 扩展包 中添加了以下扩展:
- Spring Boot Dashboard - 在您正在运行的 Spring 应用程序中提供 Spring Boot 实时数据可视化和观察。
- Spring Boot Tools - 对 Spring Boot 文件的丰富语言支持。
- Spring Initializr Java Support - 构建和生成 Spring Boot Java 项目。
此配置文件设置了以下设置:
"[java]": {
"editor.defaultFormatter": "redhat.java"
},
"boot-java.rewrite.reconcile": true
命令行
您可以通过 --profile
命令行界面选项来启动带有特定配置文件的 VS Code。您在 --profile
参数后传递配置文件的名称,并使用该配置文件打开一个文件夹或工作区。下面的命令行将使用“Web Development”配置文件打开 web-sample
文件夹:
code ~/projects/web-sample --profile "Web Development"
如果指定的配置文件不存在,则会创建一个具有给定名称的新空配置文件。
常见问题
配置文件保存在哪里?
配置文件与您的用户设置和键盘快捷方式类似,存储在您的用户配置下。
- Windows
%APPDATA%\Code\User\profiles
- macOS
$HOME/Library/Application\ Support/Code/User/profiles
- Linux
$HOME/.config/Code/User/profiles
如果您使用的是 Insiders 版本,中间的文件夹名称是 Code - Insiders
。
什么是临时配置文件?
临时配置文件是在 VS Code 会话之间不保存的配置文件。您可以通过命令面板中的配置文件:创建一个临时配置文件命令来创建临时配置文件。临时配置文件以空配置文件开始,并有一个自动生成的名称(如Temp 1)。您可以修改配置文件的设置和扩展,在您的 VS Code 会话生命周期内使用该配置文件,但一旦您关闭 VS Code,它将被删除。
如果您想尝试新的配置或测试一个扩展而不修改您的默认或现有配置文件,临时配置文件非常有用。重启 VS Code 会重新启用您工作区的当前配置文件。
我可以从另一个配置文件继承设置吗?
目前,无法从另一个配置文件继承设置,即覆盖特定设置并保留另一个配置文件的其余设置。我们正在 vscode repo 中跟踪此功能请求。
当您创建新配置文件时,您可以选择从另一个或默认配置文件复制设置。这会在新配置文件中创建设置的副本,但不会与您用作来源的配置文件保持链接。
我如何从我的项目中移除配置文件?
您可以将您的项目设置回默认配置文件。如果您想移除所有配置文件的工作区关联,您可以使用开发者:重置工作区配置文件关联命令,这会将当前所有分配了配置文件的本地文件夹设置回默认配置文件。重置工作区配置文件关联不会删除任何现有的配置文件。
为什么导出配置文件时有些设置没有被导出?
导出配置文件时,特定于机器的设置不会被包含,因为这些设置在另一台机器上将不适用。例如,指向本地路径的设置不会被包含。
为什么创建新配置文件时模板不可用?
配置文件模板由 VS Code 外部托管,只有在连接到互联网时才能下载和应用模板。如果您发现配置文件模板不可用,请确保检查您的网络连接。