尝试以扩展 VS Code 中的代理模式!

Visual Studio Code 中的配置文件

Visual Studio Code 有数百个设置、数千个扩展,以及无数种调整 UI 布局以自定义编辑器的方法。VS Code 的配置文件 (Profiles) 功能允许您创建多套自定义配置,并能快速地在它们之间切换或与他人分享。本主题将解释如何使用配置文件编辑器来创建、修改、导出和导入配置文件。

访问配置文件编辑器

配置文件编辑器让您可以在 VS Code 中一站式地创建和管理您的配置文件。

Screenshot that shows the Profiles editor.

您可以通过以下任一方式访问配置文件编辑器:

  • 通过菜单项 文件 > 首选项 > 配置文件

    Profiles editor Menu Item

  • 通过活动栏底部的管理齿轮按钮。

    Profiles editor via the Manage button in the Activity bar

创建配置文件

VS Code 将您当前的配置视为默认配置文件。当您修改设置、安装扩展或通过移动视图来更改 UI 布局时,这些自定义设置都会在默认配置文件中被跟踪。

要创建一个新的配置文件,请打开配置文件编辑器并选择新建配置文件按钮。这会打开“新建配置文件”表单,您可以在其中输入配置文件名称、选择一个图标,并配置新配置文件中包含的内容。

Create Profile

您可以选择从一个配置文件模板或一个已有的配置文件复制内容来创建新的配置文件,也可以创建一个空配置文件。空配置文件不包含任何用户自定义项,如设置、扩展、代码片段等。

Copy from options

您可以限制新配置文件只包含一部分配置(设置、键盘快捷方式、MCP 服务器、代码片段、任务和扩展),而其余的配置则使用默认配置文件的。例如,您可以创建一个除了键盘快捷方式之外包含所有配置的配置文件,当此配置文件激活时,VS Code 将应用默认配置文件的键盘快捷方式。

您可以在内容部分浏览您正在复制的模板或配置文件的内容。每个部分旁边都有一个打开按钮,您可以选择它来查看其内容。

Configure, browse and preview profile

在创建新配置文件之前,通过选择预览按钮来预览它。这会打开一个新的 VS Code 窗口,并应用了新的配置文件。一旦您对预览感到满意,就可以选择创建按钮来创建新的配置文件。

检查当前配置文件

您可以在 VS Code 用户界面的多个位置找到当前 VS Code 窗口正在使用的配置文件:

  • 在 VS Code 的标题栏中

  • 当您将鼠标悬停在活动栏中的管理按钮上时,会在悬浮文本中显示

    如果您为配置文件配置了一个图标,这个图标将作为活动栏中的管理按钮。请注意在下面的截图中,“管理”按钮现在有一个麦克风图标,这表示有一个配置文件是活动的。

    Manage gear displaying icon to indicate that the user's profile is active

    如果您没有配置图标,那么管理齿轮按钮会显示一个带有活动配置文件前两个字母的徽章,这样您就可以快速查看正在运行哪个配置文件。

    Manage gear displaying 'DA' to indicate that the user's 'Data Science' profile is active

  • 在配置文件编辑器中

    Showing current profile in the Profiles editor

注意:如果您正在使用默认配置文件,则不会显示配置文件名称。

配置一个配置文件

您可以像更改任何 VS Code 配置一样配置一个配置文件。您可以安装/卸载/禁用扩展、更改设置以及调整编辑器的 UI 布局(例如,移动和隐藏视图)。当您应用这些更改时,它们会被存储在您当前活动的配置文件中。

文件夹和工作区关联

当您创建或选择一个配置文件时,它会与当前的文件夹或工作区关联。每当您打开该文件夹时,该工作区的配置文件就会被激活。如果您打开另一个文件夹,配置文件会切换到那个文件夹的配置文件(如果之前已经设置过的话)。

您可以在配置文件编辑器文件夹和工作区部分查看与一个配置文件相关联的文件夹列表。

Folders & Workspaces section

管理配置文件

切换配置文件

您可以使用命令面板中的配置文件:切换配置文件命令快速切换配置文件,该命令会显示一个包含您可用配置文件的下拉列表。

您也可以在配置文件编辑器中切换配置文件,只需在您想切换到的配置文件旁边选择将此配置文件用于当前窗口按钮即可。

Switch profile from the Profiles editor

编辑一个配置文件

您可以在配置文件编辑器中编辑现有配置文件的名称、图标和其他配置。

删除一个配置文件

您可以在配置文件编辑器中删除一个配置文件,方法是选择您想删除的配置文件溢出操作菜单中的删除配置文件按钮。

Delete profile from the Profiles editor

您也可以通过删除配置文件命令来删除配置文件。删除配置文件下拉列表让您可以选择要删除的一个或多个配置文件。

用一个配置文件打开一个新窗口

您可以在打开新的 VS Code 窗口时选择要使用的配置文件,方法是使用配置文件编辑器中“配置文件内容”视图里的用于新窗口选项。

Configure custom profile for new window

您可以通过文件 > 使用配置文件新建窗口菜单,并选择您想使用的配置文件,直接为特定配置文件打开一个新的 VS Code 窗口。

将一个设置应用于所有配置文件

要将一个设置应用于您的所有配置文件,请在设置编辑器中使用将设置应用于所有配置文件操作。

Apply setting to all Profiles

在任何一个配置文件中对这个设置的更新也会应用到所有其他配置文件。您随时可以通过取消勾选将设置应用于所有配置文件操作来撤销此行为。

将一个扩展应用于所有配置文件

要将一个扩展应用于您的所有配置文件,请在扩展视图中选择将扩展应用于所有配置文件操作。

Apply an extension to all Profiles

这使得该扩展在您所有的配置文件中都可用。您随时可以通过取消勾选将扩展应用于所有配置文件操作来撤销此行为。

在不同设备间同步配置文件

您可以使用设置同步功能将您的配置文件迁移到不同的设备上。启用设置同步并在设置同步:配置下拉菜单中勾选配置文件后,您所有的配置文件都将在已同步的设备上可用。

Settings Sync data drop down with Profiles checked

注意:VS Code 不会将您的扩展与远程窗口(例如当您连接到 SSH、开发容器(devcontainer)或 WSL 时)进行同步。

分享配置文件

导出

您可以通过使用要导出的配置文件溢出操作菜单中的导出...按钮,来导出一个配置文件以进行保存或与他人分享。

Export profile from the Profiles editor

当您选择导出...时,系统会提示您输入配置文件名称,并选择是导出到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` 扩展名持久化保存。

导入

您可以在配置文件编辑器中导入一个已有的配置文件,方法是选择新建配置文件按钮下拉操作菜单中的导入配置文件...按钮。

Import profile from the Profiles editor

当您选择导入配置文件...时,系统会通过一个导入配置文件对话框提示您输入 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
    }

文档编写者配置文件模板

文档编写者配置文件是用于编写文档的良好轻量级设置。它包含以下扩展:

此配置文件还设置了以下设置:

    "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 工作的良好起点。它包含以下扩展:

此配置文件附带以下设置:

    "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 工作的良好起点。它包含以下扩展:

此配置文件设置了以下设置:

    "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 扩展包 的以下扩展:

Java Spring 配置文件模板

Java Spring 配置文件是所有 Java 和 Spring 开发人员的良好起点。它基于 Java 通用配置文件构建,并从 Spring Boot 扩展包 中添加了以下扩展:

此配置文件设置了以下设置:

    "[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 外部托管,只有在连接到互联网时才能下载和应用模板。如果您发现配置文件模板不可用,请确保检查您的网络连接。