VSCode Profile 功能介绍:轻松自定义不同的开发环境

在 VSCode 23 年 7 月的 1.81 版本更新中,Profiles 功能新增了更精细的局部控制应用到全局 的选项,进一步增强了 Profile 功能的实用性。

也许屏幕前的你之前并未听说过这个特性,简单来说,不同的 Profile 允许你配置不同的 插件、设置、快捷方式等 ,这允许你快速的在不同的开发环境中(Java、Python、Web......)进行切换 !相较于之前的工作区,Profile 更加灵活、精细,而且也允许快速的导入导出。本文我们就以官方文档来介绍一下这项实用的功能。

以下部分翻译自:Profiles in Visual Studio Code


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

创建配置文件

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

要创建新配置文件,您可以使用文件 > 首选项 > 配置文件 > 创建配置文件菜单项。

您可以基于当前配置文件创建新配置文件(配置文件:复制来源),或者创建一个空配置文件。空配置文件不包含任何用户自定义(设置、扩展、代码片段等)。

您还可以通过活动栏右下角的管理齿轮按钮访问配置文件命令菜单。

配置文件:创建配置文件 命令也可以在命令面板( kb(workbench.action.showCommands) )中找到。

您可以选择通过从配置文件模板复制、从现有配置文件复制,或在配置文件创建对话框中创建空配置文件。

部分配置文件

部分配置文件允许您仅自定义一部分配置(设置、键盘快捷方式、代码片段、任务和扩展),并使用默认配置文件中的其余配置。例如,您可以创建一个除了键盘快捷方式之外的所有配置文件,当此配置文件处于活动状态时, VS Code 将应用默认配置文件中的键盘快捷方式。

检查当前配置文件

VS Code UI 中的多个位置显示了当前配置文件的名称:

  • 标题栏
  • 文件 > 首选项 > 配置文件
  • 管理齿轮按钮悬停时

如果您仍在使用默认配置文件,则不会显示任何配置文件名称。

管理齿轮按钮显示了活动配置文件的前两个字母的徽章,以便您快速检查您正在运行的配置文件。

配置配置文件

您可以像更改任何 VS Code 配置一样配置 配置文件。您可以安装/卸载/禁用扩展、更改设置和调整编辑器的用户界面布局(例如,移动和隐藏视图)。这些更改将保存在您当前活动的配置文件中。

工作区关联

当您创建或选择一个现有的配置文件时,它会与当前工作区相关联,每当您打开该文件夹时,工作区的配置文件就会生效。如果您打开另一个文件夹,如果已设置该文件夹的关联配置文件,配置文件将切换到该文件夹的关联配置文件;否则,配置文件将保持在上次使用的配置文件上。

管理配置文件

切换配置文件

您可以在命令面板中使用 "Profiles: Switch Profile" 命令快速切换配置文件,该命令会显示下拉列表,列出可用的配置文件。

您还可以通过在配置文件菜单中显示的列表中选择一个配置文件来切换配置文件,配置文件菜单可通过 "Manage" 齿轮按钮或 "File" > "Preferences" > "Profiles" 获得。

编辑配置文件

您可以通过配置文件菜单中的 "Edit" 命令来编辑现有的配置文件。

删除配置文件

您可以通过 "Delete Profile" 命令删除配置文件。 "Delete Profile" 下拉菜单可让您选择要删除的配置文件。

配置文件内容

"Profiles: Show Contents" 命令(可在命令面板或配置文件菜单中找到)会打开配置文件视图,您可以在其中查看配置文件的自定义内容。

配置文件可以包括:

  • 设置 - 存储在特定于配置文件的 settings.json 文件中。
  • 扩展 - 包含在当前配置文件中的扩展列表。
  • 用户界面状态 - 视图布局(位置)、可见视图和操作。
  • 键绑定 - 存储在特定于配置文件的 keybindings.json 文件中。
  • 代码片段 - 存储在特定于配置文件的 {language}.json 文件中。
  • 用户任务 - 存储在特定于配置文件的 tasks.json 文件中。

当您基于默认配置文件创建新配置文件时,配置文件特定的配置文件将根据您的用户配置文件进行填充。工作区特定的设置不会自动包含在新配置文件中。

注意:在配置文件视图中取消选中一个扩展不会从当前配置文件中删除或禁用该扩展,但是如果导出了配置文件,则该扩展将被删除。

将设置应用到所有配置文件

可以使用设置编辑器中的 "Apply Setting to all Profiles" 操作将设置应用到所有配置文件。

这将把设置的值应用到所有配置文件上。来自任何配置文件对此设置的更新都将应用到所有配置文件上。您可以通过取消选中 "Apply Setting to all Profiles" 操作来撤销此操作。

将扩展应用到所有配置文件

您可以通过在扩展视图中点击 "Apply Extension to all Profiles" 操作将扩展应用到所有配置文件。

这将使该扩展在所有配置文件中可用。您可以通过取消选中 "Apply Extension to all Profiles" 操作来撤销此操作。

共享配置文件

导出

您可以导出配置文件以保存或与他人共享。 "Export Profile" 命令会显示配置文件视图,其中显示活动配置文件的内容和一个 "Export" 按钮。您可以在导出配置文件之前取消选择配置文件的各个元素,例如扩展或配置文件。

选择 "Export" 后,您将被提示输入配置文件名称,以及您希望导出到 GitHub Gist 还是本地文件系统。

保存为 GitHub Gist

在将配置文件保存到 GitHub 后(将提示您登录到 GitHub),对话框会显示 "Copy Link" 选项,以便您可以将配置文件的 Gist URL 共享给其他人。 URL 包含自动生成的 GUID,并具有格式 https://vscode.dev/profile/github/{GUID} 。 GitHub Gist 被标记为 "Secret" ,所以只有具有链接的人可以看到 Gist。

如果您打开配置文件 URL,它会在 VS Code for the Web (vscode.dev) 中打开,同时打开配置文件视图并显示导入的配置文件内容。如果需要,您可以取消选择配置文件的元素,并且如果要继续在 vscode.dev 中使用该配置文件,您需要手动 "安装扩展" (通过下载云按钮)。

您还可以选择 "在 Visual Studio Code 中导入配置文件" ,这将在 Visual Studio Code Desktop 中打开,并显示配置文件的内容以及一个 "Import Profile" 按钮。

您可以在 https://gist.github.com/{username} 上查看自己的 Gist。从您的 GitHub Gist 页面上,您可以重命名、删除或复制某个 Gist 的 GUID。

保存为本地文件

如果选择将配置文件保存为本地文件,将会显示一个 "Save Profile" 对话框,让您将文件保存到本地计算机上。配置文件以 .code-profile 扩展名的文件中进行持久化。

导入

要导入现有配置文件,请运行 "Import Profiles" 命令。您将被提示输入 GitHub Gist 的 URL 或配置文件的文件位置,通过一个 "Import Profile" 对话框。选择配置文件后,配置文件视图将打开并显示要导入的配置文件。如果您不想导入某些配置文件元素,可以取消选择它们。然后选择 "Import Profile" 按钮,您现在将使用已导入的配置文件。

配置文件的用途

配置文件是自定义 VS Code 以更好地适应您的需求的绝佳方式。在本节中,我们将介绍一些常见的配置文件用例。

由于配置文件是根据工作区记忆的,它们是为特定编程语言定制 VS Code 的绝佳方式。例如,您可以创建一个 JavaScript 前端配置文件,在一个工作区中包含您用于 JavaScript 开发的扩展、设置和自定义,还可以创建一个 Python 后端配置文件,在另一个工作区中包含您用于 Python 开发的扩展、设置和自定义。使用这种方法,您可以轻松切换工作区,并始终以正确的方式配置 VS Code。

用于演示

在复现 Demo 或演示样例时,您可以使用配置文件来设置特定的 Demo 配置。例如,您可以创建一个具有特定扩展和设置(如缩放级别、字体大小和颜色主题)的配置文件。这样做,此 Demo 不会破坏您正常的 VS Code 设置,并且您可以自定义 VS Code 以获得更好的演示效果。

用于教育

配置文件可用于定制学生使用的 VS Code,以便在教室环境中更轻松地使用。配置文件允许教育工作者快速与学生共享定制的 VS Code 配置。例如,教育工作者可以创建一个具有特定扩展和设置的配置文件,以满足计算机科学课程的需求,然后与学生共享该配置文件。

报告 VS Code 问题

使用空配置文件的一种用途是在报告 VS Code 问题时重置您的编辑器。空配置文件禁用所有扩展和修改的设置,因此您可以快速查看问题是否由扩展、设置或 VS Code 核心引起。

配置文件模板

VS Code 附带了一组预定义的配置文件模板,您可以使用这些模板根据自己的工作流程定制VS Code。要基于模板创建一个新配置文件,在 "创建配置文件" 过程中选择一个配置文件模板。

Python 配置文件模板

Python 配置文件是 Python 开发的良好起点。它带有专为 Python 设计的代码片段,并具有以下扩展:

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

json 复制代码
    "python.analysis.autoImportCompletions": true,
    "python.analysis.fixAll": ["source.unusedImports"],
    "workbench.colorTheme": "Default Dark+ Experimental",
    "editor.defaultFormatter": "ms-python.black-formatter"

数据科学配置文件模板

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

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

json 复制代码
    "[python]": {
        "editor.defaultFormatter": "ms-python.black-formatter",
        "editor.formatOnType": true,
        "editor.formatOnSave": true
    },
    "editor.inlineSuggest.enabled": true,
    "editor.lineHeight": 17,
    "breadcrumbs.enabled": false,
    "files.autoSave": "afterDelay",
    "jupyter.themeMatplotlibPlots": true,
    "jupyter.widgetScriptSources": [
        "unpkg.com",
        "jsdelivr.com"
    ],
    "notebook.experimental.outputScrolling": true,
    // "notebook.outline.showCodeCells": true,
    "workbench.colorTheme": "Default Dark+ Experimental",
    "files.exclude": {
        "**/.csv": true,
        "**/.parquet": true,
        "**/.pkl": true,
        "**/.xls": true
    }

文档编写者(Doc Writer)模板

文档编写者模板是一个适用于编写文档的轻量级设置。它包含以下扩展:

此档案还设置了以下设置:

json 复制代码
    "workbench.colorTheme": "Default Light+ Experimental",
    "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 工作的良好起点。它包含以下扩展:

此模板附带以下设置:

json 复制代码
    "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.colorTheme": "Default Dark+ Experimental"

Angular Profile Template

Angular 配置文件是所有 Angular 项目的好起点。它包含以下扩展:

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

json 复制代码
    "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",
    "workbench.colorTheme": "Default Dark+ Experimental",

Java General Profile Template

Java 通用配置文件是所有 Java 项目的好起点。它自定义了布局以改善 Java 开发体验,并配备了来自Extension Pack for Java的以下扩展:

Java Spring 配置文件模板

Java Spring 配置文件是所有 Java 和 Spring 开发者的良好起点。它基于 Java 通用配置文件,并添加了来自Spring Boot 扩展包的以下扩展:

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

json 复制代码
    "[java]": {
        "editor.defaultFormatter": "redhat.java"
    },
    "boot-java.rewrite.reconcile": true,
    "workbench.colorTheme": "Default Dark+ Experimental"

命令行

您可以通过 --profile 命令行选项以特定的配置文件启动 VS Code。您在 --profile 参数后面传递配置文件的名称,并使用该配置文件打开一个文件夹或工作区。下面的命令行会使用 "Web Development" 配置文件打开 web-sample 文件夹:

bash 复制代码
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 。

UI 状态 globalState.json 文件在哪里?

如果展开 Profiles 视图中的 UI State 节点,可以看到一个 globalState.json 条目。这是您配置文件的 UI 状态的内存中 JSON 表示,描述了各种 VS Code 界面元素的可见性和布局。该文件实际上不存在于磁盘上,只是底层全局状态存储的 JSON 视图。

什么是临时配置文件?

临时配置文件是一种在 VS Code 会话之间未保存的配置文件。您可以通过命令面板中的Profiles: Create a Temporary Profile 命令创建临时配置文件。临时配置文件起始为空配置文件,并具有自动生成的名称(例如Temp 1)。您可以修改配置文件的设置和扩展,在 VS Code 会话的生命周期内使用该配置文件,但一旦关闭VS Code,该配置文件将被删除。

临时配置文件在您想要尝试新配置或测试扩展而又不修改默认或现有配置文件时非常有用。重新启动 VS Code 会为您的工作区重新启用当前配置文件。

如何从项目中移除配置文件?

您可以将项目恢复为默认配置文件。如果您想要删除所有配置文件的工作区关联,可以使用Developer: Reset Workspace Profiles Associations 命令,该命令会将当前分配了配置文件的所有本地文件夹设置为默认配置文件。Reset Workspace Profiles Associations不会删除任何现有的配置文件。

配置文件是否在各台设备之间同步(通过设置同步)?

是的,您可以使用设置同步将配置文件移动到不同的设备上。启用Setting Sync,并且在Settings Sync: Configure 下拉菜单中选中Profiles,您创建的所有配置文件都可用。

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

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

相关推荐
羊小猪~~5 天前
C/C++语言基础--从C到C++的不同(上)
linux·c语言·c++·后端·qt·visualstudio·visual studio code
就是蠢啊9 天前
VScode 的简单使用
visual studio code
豆包MarsCode10 天前
使用豆包MarsCode 编写 Node.js 全栈应用开发实践
ide·人工智能·vscode·node.js·visual studio code·推荐算法
豆包MarsCode10 天前
「豆包 Marscode 体验官」AI 加持的云端 IDE——三种方法高效开发前后端聊天交互功能
java·ide·人工智能·python·visual studio code
nice6666011 天前
CSS的基本语法
java·前端·css·visual studio code
Hush_NUIST12 天前
TinyWebSever源码逐行注释(一)_webserver.cpp
服务器·开发语言·c++·websocket·php·web·visual studio code
Eiceblue14 天前
使用Python通过字节串或字节数组加载和保存PDF文档
开发语言·python·pycharm·pdf·visual studio code
爱编程的小赵17 天前
C ++初阶:类和对象(中)
c语言·开发语言·c++·算法·c#·visual studio code
羊小猪~~25 天前
C/C++语言基础--字符串(包括字符串与字符数组、字符串与指针、字符串处理函数等),代码均可运行
c语言·开发语言·c++·后端·青少年编程·visualstudio·visual studio code
羊小猪~~1 个月前
C/C++语言基础--结构体知识详解(包括:结构体数组、字节对齐、位段等内容)
java·c语言·开发语言·c++·visual studio code·visual studio