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

Visual Studio Code 中的配置文件

Visual Studio Code 拥有数百种设置、数千个扩展以及无数种调整 UI 布局以自定义编辑器的方式。VS Code 配置文件 允许你创建一系列自定义设置,并快速在它们之间切换或与他人共享。本主题解释了如何使用 配置文件编辑器 来创建、修改、导出和导入配置文件。

访问配置文件编辑器

配置文件编辑器 让你能够在一个地方创建和管理你在 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 UI 的多个位置找到当前 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 被标记为秘密,因此只有拥有链接的人才能看到该 Gist。

如果你启动配置文件 URL,它将打开VS Code 网页版,并打开配置文件编辑器并显示导入的配置文件内容。你可以根据需要取消选择配置文件元素,并且如果你想继续在VS Code 网页版中使用该配置文件,你需要手动安装扩展(通过下载云按钮)。

你还可以选择在 Visual Studio Code 中导入配置文件,这将打开 VS Code 桌面版,并显示配置文件内容和一个导入配置文件按钮。

你可以在 https://gist.github.com/{username} 查看你的 Gist。在你的 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 文档字符串。
  • Container Tools - 创建、管理和调试容器化应用程序。
  • Even Better TOML - 提供功能齐全的 TOML 支持,例如用于 pyproject.toml 文件。
  • Python - IntelliSense、环境管理、调试、重构。
  • Python Environments - 使用你偏好的环境管理器管理 Python 环境和包。
  • Remote Development 扩展包 - 支持 SSH、WSL 和开发容器。
  • Ruff - 集成 Ruff Python 代码检查器和格式化程序。

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

    "python.analysis.autoImportCompletions": true,
    "python.analysis.fixAll": ["source.unusedImports"],
    "editor.defaultFormatter": "charliermarsh.ruff"

数据科学配置文件模板

数据科学配置文件是所有数据和笔记本工作的良好起点。它附带特定代码片段,并包含以下扩展:

  • Data Wrangler - 用于表格数据集以及 Excel/CSV/Parquet 文件的查看、清理和准备数据。
  • GitHub Copilot - 你的 AI 结对程序员。
  • Jupyter - 在 VS Code 中使用 Jupyter 笔记本。
  • Python - IntelliSense、环境管理、调试、重构。
  • Remote Development 扩展包 - 支持 SSH、WSL 和开发容器。
  • Ruff - 集成 Ruff Python 代码检查器和格式化程序。

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

    "[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 开发”配置文件打开 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 会话之间保存的配置文件。你可以通过命令面板中的配置文件: 创建临时配置文件命令来创建临时配置文件。临时配置文件以空配置文件开始,并具有自动生成的名称(例如临时 1)。你可以修改配置文件设置和扩展,在你的 VS Code 会话生命周期内使用该配置文件,但一旦你关闭 VS Code,它就会被删除。

如果你想尝试新配置或测试扩展而不修改你的默认或现有配置文件,临时配置文件会很有用。重启 VS Code 会重新启用工作区的当前配置文件。

我可以从其他配置文件继承设置吗?

目前,无法从其他配置文件继承设置,即你无法覆盖特定设置并保留其他配置文件中的其余设置。我们正在 vscode 仓库中跟踪此功能请求

当你创建新配置文件时,可以选择从另一个配置文件或默认配置文件复制设置。这会在新配置文件中创建设置的副本,但不会维护与你用作源的配置文件的链接。

如何从我的项目中删除配置文件?

你可以将你的项目设置回默认配置文件。如果你想删除所有配置文件工作区关联,可以使用开发者: 重置工作区配置文件关联,它会将所有当前已分配配置文件的本地文件夹设置回默认配置文件。重置工作区配置文件关联不会删除任何现有配置文件。

为什么导出配置文件时有些设置没有被导出?

导出配置文件时,不包含特定于机器的设置,因为这些设置在另一台机器上将不适用。例如,指向本地路径的设置不包括在内。

创建新配置文件时为什么模板不可用?

配置文件模板由 VS Code 外部托管,你只有在连接到互联网时才能下载和应用模板。如果你发现配置文件模板不可用,请务必检查你的互联网连接。