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

自定义布局

Visual Studio Code 拥有简洁的用户界面和便捷的默认布局。同时,VS Code 提供了选项和设置,让你可以根据自己的偏好和工作风格来自定义 UI 布局。在本主题中,我们将重点介绍各种 UI 自定义功能,以便你可以用最高效的方式显示视图、编辑器和面板。

本文首先讨论工作台的自定义,以重新排列 UI 元素,如侧边栏、视图和面板。在本文的后面部分,我们将介绍通过编辑器组、拆分编辑器和编辑器选项卡来自定义编辑器区域。

注意

如果你是 VS Code 的新手,可能需要先阅读用户界面概述或查看提示与技巧文章。

工作台

主侧边栏

默认情况下,主侧边栏位于工作台的左侧,显示诸如资源管理器、搜索和源代码管理等视图。你可以通过选择活动栏中的图标来快速切换视图。

Explorer view opened in the Primary Side Bar, located on the left of the screen.

要更改主侧边栏的位置,你可以:

  • 右键单击活动栏并选择向右移动主侧边栏
  • 运行视图: 切换主侧边栏位置命令,在左右两侧切换主侧边栏
  • 使用视图 > 外观 > 向右移动主侧边栏菜单项
  • 设置编辑器中,将 Workbench > Side Bar: Location (workbench.sideBar.location) 设置为 right

辅助侧边栏

默认情况下,VS Code 在位于编辑器区域左侧的主侧边栏中显示视图。同时看到两个视图可能会很有用。为此,你可以使用辅助侧边栏在主侧边栏的对面显示视图。无论你是否切换了主侧边栏的位置,辅助侧边栏始终位于主侧边栏的对面。

下图显示了主侧边栏中的资源管理器视图和辅助侧边栏中的 Copilot 聊天视图

Explorer view in the Primary Side Bar and Copilot Chat view in the Secondary Side Bar.

要显示辅助侧边栏,你可以使用 VS Code 标题栏中的布局控件。如果布局控件不可见,请右键单击 VS Code 标题栏并选择布局控件

Title bar buttons to toggle main UI elements, with hover on Toggle Secondary Side Bar.

或者,你也可以通过以下方式打开辅助侧边栏:

  • 运行视图: 切换辅助侧边栏可见性命令(或按 ⌥⌘B (Windows, Linux Ctrl+Alt+B)
  • 使用视图 > 外观 > 辅助侧边栏菜单项

如果你想在打开新窗口或工作区时自动显示辅助侧边栏,可以通过workbench.secondarySideBar.defaultVisibility设置进行配置。

你可以随时将视图和面板拖放到主侧边栏或辅助侧边栏中。VS Code 会在你的会话之间记住视图和面板的布局。

Drag and drop views and panels between the Primary and Secondary Side Bar

注意

你可以使用视图: 重置视图位置命令将视图和面板重置回其默认位置。

命令面板位置

你可以通过用鼠标光标抓住命令面板的顶部边缘并将其拖到其他地方来移动它。你也可以选择标题栏中的自定义布局控件,然后选择一个预配置的快速输入位置

Screenshot that shows the Command Palette in a different location, highlighting the Customize Layout control in the title bar and the preconfigured position options.

活动栏位置

默认情况下,活动栏会随主侧边栏移动,并保持在工作台的外边缘。你也可以选择隐藏活动栏,或将其移动到主侧边栏的顶部或底部。

活动栏位置菜单可从活动栏上下文菜单中获得,或在视图 > 外观 > 活动栏位置下找到,选项有默认顶部底部隐藏

当活动栏处于顶部或底部位置时,通常位于活动栏底部的帐户管理按钮会移动到标题栏的右侧。

Activity Bar in top position with Account and Manage buttons on the right of the title bar

自定义布局控件

VS Code 标题栏上还有用于切换主 UI 元素(侧边栏和面板区域)可见性的按钮。

Title bar buttons to toggle main UI elements, with hover on Toggle Panel

最右侧的按钮会弹出自定义布局下拉菜单,你可以在其中进一步更改各种 UI 元素的可见性和布局,并包括几种布局模式:

Customize Layout dropdown shown via the Customize Layout button in the title bar

布局模式有:

  • 全屏 - 将编辑器设置为填满整个显示屏幕。视图: 切换全屏 (⌃⌘F (Windows, Linux F11))。
  • 禅定模式 - 隐藏除编辑器区域外的所有 UI。视图: 切换禅定模式 (⌘K Z (Windows, Linux Ctrl+K Z))。
  • 居中布局 - 将编辑器居中于编辑器区域内。视图: 切换居中布局

窗口和菜单样式

你可以使用以下设置自定义 VS Code 窗口和菜单栏的外观:

  • window.titleBarStyle: 调整 VS Code 窗口标题栏的外观,可以是操作系统原生样式或自定义样式。更改需要完全重启才能生效。

  • window.title: 根据当前上下文(如打开的工作区或活动编辑器)配置 VS Code 窗口标题。变量会根据上下文进行替换。例如,${activeEditorShort} 将显示当前活动编辑器的文件名。你可以组合多个变量,例如 ${dirty}${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}${appName}

  • window.titleSeparator: 在 window.title 设置中使用的分隔符字符。

  • window.menuStyle: 调整菜单样式,可以是操作系统原生样式、自定义样式,或从标题栏样式继承(在 window.titleBarStyle 中定义)。这也会影响上下文菜单的外观。更改需要完全重启才能生效。

  • window.menuBarVisibility: 配置菜单栏的可见性。

    • classic: 菜单栏显示在窗口顶部,仅在窗口全屏模式下隐藏。
    • visible: 菜单栏始终可见,即使在窗口全屏模式下也是如此。
    • toggle: 菜单栏被隐藏,按一下 Alt 键使其可见。
    • compact: 菜单被移动到侧边栏中。
    • hidden: 菜单栏始终被隐藏。

面板

面板区域显示诸如问题、终端和输出面板等 UI 元素,默认位于编辑器区域下方。

面板位置

你可以将该区域移动到编辑器的左侧、右侧、底部或顶部。你可以在视图 > 外观 > 面板位置菜单中或通过面板标题栏上下文菜单配置这些选项。

Panel title bar context menu with Panel Position options

你也可以在命令面板中使用移动面板命令:

  • 视图: 向左移动面板 (workbench.action.positionPanelLeft)
  • 视图: 向右移动面板 (workbench.action.positionPanelRight)
  • 视图: 将面板移动到底部 (workbench.action.positionPanelBottom)
  • 视图: 将面板移动到顶部 (workbench.action.positionPanelTop)

面板对齐方式

此选项让你配置底部面板在窗口中横跨的范围。有四个选项:

  • 居中 - 这是默认行为。面板仅横跨编辑器区域的宽度。
  • 两端对齐 - 面板横跨整个窗口的宽度。
  • 左对齐 - 面板从窗口的左边缘横跨到编辑器区域的右边缘。
  • 右对齐 - 面板从窗口的右边缘横跨到编辑器区域的左边缘。

对于所有面板对齐选项,活动栏都被视为窗口的边缘。

你可以在视图 > 外观 > 对齐面板菜单、面板标题上下文菜单中配置这些选项,或使用新的设置面板对齐方式为...命令。

Align Panel options from Panel title context menu

最大化面板尺寸

当面板对齐方式为居中时,你可以通过面板区域右上角的最大化面板尺寸 V 形按钮,快速切换面板区域以填充整个编辑器区域。最大化后的面板上,该 V 形按钮会指向下方,以将面板恢复到原始尺寸。

Maximize Panel Size button in the upper right of the Panel region

你也可以通过视图: 切换最大化面板命令来最大化面板区域。

注意:除了自定义整个面板区域的显示外,单个面板也可能有自己的布局自定义。例如,终端允许你拥有多个打开的选项卡拆分现有的终端

拖放视图和面板

VS Code 在主侧边栏和面板区域中有视图和面板的默认布局,但你可以将视图和面板在这些区域之间拖放。例如,你可以将源代码管理视图拖放到面板区域,或将问题面板放入主侧边栏。

The Source Control view in the Panel region and Problem panel in the Primary Side bar

注意:请记住,你可以使用重置位置上下文菜单项将视图和面板重置回其默认位置,或使用通用的视图: 重置视图位置命令重置所有视图和面板。

你还可以将视图和面板添加到现有的视图或面板中以创建组。例如,你可以通过拖动资源管理器活动栏项目,然后将其放入视图中,来将输出面板移动到资源管理器视图组中。

Output panel moved to the Explorer view group

移动视图和面板不限于使用鼠标。你还可以通过键盘使用视图: 移动视图视图: 移动聚焦的视图命令来自定义布局,下拉菜单让你选择要移动的 UI 元素和目标位置,可以是侧边栏或面板区域等位置,也可以是现有的视图或面板以创建组。

工具栏

大多数 VS Code 视图和面板的 UI 右上角都有工具栏。例如,搜索视图有一个工具栏,其中包含刷新清除搜索结果等操作。

Search view tool bar with hover over Clear Search Results action

隐藏工具栏中的项目

如果你觉得工具栏过于拥挤,并希望隐藏不常用的操作,可以右键单击任何操作并选择其隐藏命令(例如隐藏“清除搜索结果”),或从下拉菜单中取消选中任何操作。隐藏的操作将被移动到 ... 更多操作菜单中,并可以从那里调用。

要将操作恢复到工具栏,请右键单击工具栏按钮区域并选择重置菜单命令或重新选中隐藏的操作。要恢复 VS Code 中的所有菜单,请从命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 运行视图: 重置所有菜单

Search tool bar context menu with Reset menu command

编辑器

你可以独立于工作台用户界面来自定义 VS Code 编辑器区域的布局。默认情况下,编辑器区域会显示一些有用的功能,如缩略图、面包屑导航、编辑器选项卡,以及可选的 UI,如粘性滚动。你还可以调整编辑器本身的布局或将它们移动到浮动窗口中。

缩略图和面包屑

视图 > 外观菜单有一个用于自定义编辑器区域的部分。在那里你会找到以下功能的切换开关:

编辑器组

默认情况下,每个打开的编辑器都进入同一个编辑器组,并在右侧添加一个新的编辑器选项卡。你可以创建新的编辑器组,以便将相似或相关的文件分组,或允许对同一文件进行并排编辑

通过将编辑器拖动到一侧,或使用编辑器选项卡上下文菜单中的拆分命令,将当前编辑器复制到左侧、右侧、上方或下方的新编辑器组中,来创建一个新的编辑器组。

Split editor commands in the editor tab context menu

拆分编辑器命令也可从视图 > 编辑器布局菜单和命令面板中获得。

如果你想在垂直和水平编辑器组布局之间快速切换,可以使用切换垂直/水平编辑器布局命令 (⌥⌘0 (Windows, Linux Shift+Alt+0))。

在组内拆分

你还可以在同一组内拆分一个编辑器以进行并排编辑,使用视图: 在组内拆分编辑器命令 (⌘K ⇧⌘\ (Windows, Linux Ctrl+K Ctrl+Shift+\))。

使用组内拆分功能时,有特定的命令用于切换此模式和在两个拆分编辑器之间导航:

  • 视图: 在组内拆分编辑器 - 拆分当前编辑器。
  • 视图: 切换组内拆分编辑器 - 为活动编辑器切换拆分模式。
  • 视图: 合并组内编辑器 - 返回到活动文件的单个编辑器。
  • 视图: 切换组内拆分编辑器的布局 - 在水平和垂直布局之间切换。

要在两侧之间导航:

  • 视图: 聚焦活动编辑器中的第一侧 - 将焦点移动到拆分编辑器的第一侧(左侧或顶部)。
  • 视图: 聚焦活动编辑器中的第二侧 - 将焦点移动到第二侧(右侧或底部)。
  • 视图: 聚焦活动编辑器中的另一侧 - 在拆分编辑器两侧之间切换。

Workbench > Editor: Split in Group Layout (workbench.editor.splitInGroupLayout) 设置允许你将首选的拆分编辑器布局设置为水平(默认)或垂直。

网格布局

如果你想对编辑器组布局有更多的控制,可以使用网格布局,在这里你可以有多行多列的编辑器组可见。视图 > 编辑器布局菜单列出了各种编辑器布局选项(例如,两列三列网格 (2x2)),你可以通过拖动它们之间的分隔条来调整组的大小。

Editor Grid 2x2 layout with the sash highlighted

浮动窗口

你可以在浮动窗口中打开编辑器、终端或特定视图。这在多显示器设置中很有用,你可以将编辑器移动到另一个显示器,甚至移动到同一显示器上的不同位置。

要将编辑器在浮动窗口中打开,请将其从主窗口中拖出,并放置在当前 VS Code 窗口外的任何位置。

浮动窗口能够以网格布局打开任意数量的编辑器。窗口会在重启后恢复其位置,并重新打开其中的所有编辑器。

另一种分离编辑器的方法是右键单击编辑器选项卡,然后选择移动到新窗口 (workbench.action.moveEditorToNewWindow) 或复制到新窗口 (⌘K O (Windows, Linux Ctrl+K O)) 选项。

Floating windows from editor tab menu

要移动整个编辑器组,请使用将编辑器组移动到新窗口 () 或将编辑器组复制到新窗口 () 命令。

紧凑模式

要从浮动窗口中移除不必要的 UI 元素,为内容腾出更多空间,请在浮动窗口标题栏中选择设置紧凑模式选项。再次选择它可将浮动窗口恢复到其原始模式。

Floating window title bar with Compact Mode option highlighted

置顶

你可以通过在浮动窗口标题栏中选择设置总在最前选项,将浮动窗口固定在屏幕顶部。这对于在主 VS Code 窗口中工作时,保持终端或预览窗口始终可见非常有用。再次选择它以取消浮动窗口的置顶。

Floating window title bar with Always on Top option highlighted

固定的选项卡

如果你希望某个编辑器选项卡始终可见,可以将其固定到编辑器选项卡栏。你可以通过上下文菜单或使用视图: 固定编辑器命令 (⌘K ⇧Enter (Windows, Linux Ctrl+K Shift+Enter)) 来固定编辑器选项卡。

Pinned editor tab with pin button highlighted

固定的选项卡有助于访问对你重要的文件,因为:

  • 固定的选项卡总是显示在未固定的选项卡之前。
  • 如果你打开了许多选项卡,它们也不会滚动出视图。
  • 在使用诸如关闭其他全部关闭等编辑器选项卡命令时,它们不会关闭。
  • 即使你超过了设置的已打开编辑器数量限制,它们也不会关闭。

通过单击固定图标、使用取消固定编辑器选项卡上下文菜单项或视图: 取消固定编辑器命令来取消固定编辑器。

你可以通过 Workbench > Editor: Pinned Tab Sizing (workbench.editor.pinnedTabSizing) 设置来选择你希望如何显示固定的编辑器。选项有:

  • normal: 固定的选项卡继承其他选项卡的外观(默认)
  • shrink: 固定的选项卡缩小为固定大小,显示部分编辑器标签。
  • compact: 固定的选项卡将只显示为图标或编辑器标签的第一个字母。

你还可以通过设置 Workbench > Editor: Pinned Tabs On Separate Row,将固定的编辑器选项卡显示在常规编辑器选项卡栏上方的一个单独行中。你可以通过在两行之间拖放选项卡来固定和取消固定编辑器。

锁定编辑器组

当使用多个编辑器时,通常会有一个或多个你希望始终保持可见的编辑器。锁定的编辑器组功能,即整个编辑器组被锁定并可见,提供了稳定的显示,任何打开新编辑器的请求都会在另一个组中创建它。你可以通过编辑器组工具栏中的锁定图标来判断一个编辑器组是否被锁定。

Locked editor group with lock icon highlighted

你可以通过从编辑器工具栏的更多操作 ... 下拉菜单中选择锁定组,或运行视图: 锁定编辑器组命令来锁定编辑器组。

Lock Group command in the editor tool bar More Actions dropdown

你可以通过点击锁定图标或运行视图: 解锁编辑器组命令来解锁编辑器组。

锁定的组与未锁定的组行为不同:

  • 新编辑器不会在锁定的组中打开,除非明确地移动到那里(例如,通过拖放)。
  • 如果一个新编辑器跳过了一个锁定的组,它要么在最近使用的未锁定组中打开,要么在锁定的组旁边创建一个新组。
  • 编辑器组的锁定状态在重启后会保持并恢复。
  • 你也可以锁定空组,从而实现更稳定的编辑器布局。

主要用例是编辑器区域中的终端。例如,你可能希望在左侧编辑文本,右侧有一个始终可见的终端。当终端编辑器被创建并移动到一侧时,它会自动锁定。这意味着即使右侧的终端被聚焦,打开文件也会在左侧打开,而无需手动先切换焦点。

可以使用 workbench.editor.autoLockGroups 设置来配置自动锁定组,该设置默认为仅终端编辑器,但可以添加任何编辑器类型以获得相同的行为。

Auto Lock Groups setting with Terminal checked in the Settings editor

与编辑器组锁定相关的命令:

  • 视图: 锁定编辑器组 - 锁定活动的编辑器组。
  • 视图: 解锁编辑器组 - 解锁活动的已锁定编辑器组。
  • 视图: 切换编辑器组锁定 - 锁定或解锁活动的编辑器组。

你必须有多个编辑器组才能使用这些命令。

后续步骤

继续阅读以了解: