自定义布局
Visual Studio Code 带有简洁的用户界面和方便的默认布局。同时,VS Code 也提供了丰富的选项和设置,让您可以根据自己的偏好和工作风格来自定义 UI 布局。在本主题中,我们将重点介绍各种 UI 自定义方式,以便您能以最高效的方式显示视图、编辑器和面板。
本文首先讨论工作台的自定义,以重新排列侧边栏、视图和面板等 UI 元素。在文章的后半部分,我们将介绍如何通过编辑器组、拆分编辑器和编辑器选项卡来自定义编辑器区域。
工作台
主侧边栏
默认情况下,主侧边栏位于工作台的左侧,显示诸如资源管理器、搜索和源代码管理等视图。您可以通过选择活动栏中的图标来快速切换视图。
要更改主侧边栏的位置,您可以:
- 右键单击活动栏并选择将主侧边栏移到右侧
- 运行视图:切换主侧边栏位置命令,在左右两侧切换主侧边栏
- 使用视图 > 外观 > 将主侧边栏移到右侧菜单项
- 在设置编辑器中将 Workbench > Side Bar: Location (workbench.sideBar.location) 设置为
right
副侧边栏
默认情况下,VS Code 在位于编辑器区域左侧的主侧边栏中显示视图。有时同时打开两个视图会很有用。为此,您可以使用副侧边栏在主侧边栏的对面显示视图。无论您是否切换了主侧边栏的位置,副侧边栏总是位于主侧边栏的对面。
下图显示了主侧边栏中的资源管理器视图和副侧边栏中的 Copilot 聊天视图
要显示副侧边栏,您可以使用 VS Code 标题栏中的布局控件。如果布局控件不可见,请右键单击 VS Code 标题栏并选择布局控件。
或者,您也可以通过以下方式打开副侧边栏:
- 运行视图:切换副侧边栏可见性命令(或按 ⌥⌘B (Windows, Linux Ctrl+Alt+B))
- 使用视图 > 外观 > 副侧边栏菜单项
如果您希望在打开新窗口或工作区时自动显示副侧边栏,您可以使用 workbench.secondarySideBar.defaultVisibility 设置进行配置。
您可以随时将视图和面板拖放到主侧边栏或副侧边栏中。VS Code 会在您的会话之间记住视图和面板的布局。
您可以使用视图:重置视图位置命令将视图和面板重置回其默认位置。
命令面板位置
您可以通过用鼠标光标抓住命令面板的上边缘并将其拖到其他地方来移动它。您还可以选择标题栏中的自定义布局控件,然后选择一个预配置的快速输入位置。
活动栏位置
默认情况下,活动栏会随主侧边栏移动,并保持在工作台的外边缘。您也可以选择隐藏活动栏,或将其移动到主侧边栏的顶部或底部。
活动栏位置菜单可从活动栏上下文菜单或视图 > 外观 > 活动栏位置下找到,选项有默认、顶部、底部或隐藏。
当活动栏位于顶部或底部位置时,通常位于活动栏底部的帐户和管理按钮会移动到标题栏的右侧。
自定义布局控件
VS Code 标题栏中也有用于切换主要 UI 元素(侧边栏和面板区域)可见性的按钮。
最右边的按钮会调出自定义布局下拉菜单,您可以在其中进一步更改各种 UI 元素的可见性和布局,并包括几种布局模式:
布局模式有:
- 全屏 - 将编辑器设置为填满整个显示屏。视图:切换全屏 (⌃⌘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 元素,默认位于编辑器区域下方。
面板位置
您可以将该区域移动到编辑器的左侧、右侧、底部或顶部。您可以在视图 > 外观 > 面板位置下的菜单中,或通过面板标题栏上下文菜单配置这些选项。
您也可以在命令面板中使用移动面板命令:
- 视图:将面板移到左侧 (
workbench.action.positionPanelLeft
) - 视图:将面板移到右侧 (
workbench.action.positionPanelRight
) - 视图:将面板移到底部 (
workbench.action.positionPanelBottom
) - 视图:将面板移到顶部 (
workbench.action.positionPanelTop
)
面板对齐
此选项允许您配置底部面板在窗口中的跨度。有四个选项:
- 居中 - 这是默认行为。面板仅跨越编辑器区域的宽度。
- 两端对齐 - 面板跨越窗口的整个宽度。
- 左对齐 - 面板从窗口的左边缘跨越到编辑器区域的右边缘。
- 右对齐 - 面板从窗口的右边缘跨越到编辑器区域的左边缘。
对于所有面板对齐选项,活动栏都被视为窗口的边缘。
您可以在视图 > 外观 > 对齐面板菜单、面板标题上下文菜单中配置这些选项,或使用新的设置面板对齐方式为...命令。
最大化面板大小
当面板对齐方式为居中时,您可以使用面板区域右上角的最大化面板大小 V 形按钮快速切换面板区域以填充整个编辑器区域。在最大化面板中,V 形按钮会指向下方,以将面板恢复到原始大小。
您也可以通过视图:切换最大化面板命令来最大化面板区域。
注意:除了自定义整个面板区域的显示外,单个面板也可能有自己的布局自定义。例如,终端允许您拥有多个打开的选项卡和拆分现有的终端。
拖放视图和面板
VS Code 在主侧边栏和面板区域中有视图和面板的默认布局,但您可以在这些区域之间拖放视图和面板。例如,您可以将源代码管理视图拖放到面板区域,或将问题面板放入主侧边栏。
注意:请记住,您可以使用重置位置上下文菜单项将视图和面板重置回其默认位置,或使用通用的视图:重置视图位置命令重置所有视图和面板。
您还可以将视图和面板添加到现有的视图或面板中以创建组。例如,您可以通过拖动到资源管理器活动栏项上然后放入视图中,将输出面板移动到资源管理器视图组。
您不限于使用鼠标来移动视图和面板。您还可以通过键盘使用视图:移动视图和视图:移动焦点视图命令自定义布局,其中下拉菜单让您选择要移动的 UI 元素和目标位置,目标可以是侧边栏或面板区域等位置,也可以是现有的视图或面板以创建组。
工具栏
大多数 VS Code 视图和面板在其 UI 的右上角都显示有工具栏。例如,搜索视图有一个工具栏,其中包含刷新、清除搜索结果等操作。
隐藏工具栏中的项目
如果您觉得工具栏太拥挤,想要隐藏不常用的操作,可以右键单击任何操作并选择其隐藏命令(例如隐藏'清除搜索结果')或从下拉菜单中取消选中任何操作。隐藏的操作会被移到 ...
更多操作菜单中,并可以从那里调用。
要将操作恢复到工具栏,请右键单击工具栏按钮区域并选择重置菜单命令或重新勾选隐藏的操作。要恢复 VS Code 中的所有菜单,请从命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))运行视图:重置所有菜单。
编辑器
您可以独立于工作台用户界面来自定义 VS Code 编辑器区域的布局。默认情况下,编辑器区域会显示一些有用的功能,如缩略图、面包屑导航、编辑器选项卡,并有可选的 UI,如粘性滚动。您还可以调整编辑器本身的布局或将它们移动到浮动窗口中。
缩略图和面包屑导航
视图 > 外观菜单中有一个用于自定义编辑器区域的部分。在那里您可以找到以下功能的开关:
- 缩略图 - 您当前文件的可视化概览。视图:切换缩略图。
- 面包屑导航 - 显示活动文件的文件夹、文件和当前符号信息。视图:切换面包屑导航。
- 粘性滚动 - 在活动文件中显示嵌套的符号范围。视图:切换粘性滚动。
编辑器组
默认情况下,每个打开的编辑器都会进入同一个编辑器组,并在右侧添加一个新的编辑器选项卡。您可以创建新的编辑器组来对相似或相关的文件进行分组,或者允许对同一个文件进行并排编辑。
通过将编辑器拖到一侧,或使用编辑器选项卡上下文菜单中的拆分命令之一,可以将当前编辑器复制到左侧、右侧、上方或下方的新编辑器组中,从而创建一个新的编辑器组。
拆分编辑器命令也可从视图 > 编辑器布局菜单和命令面板中获得。
如果您想在垂直和水平编辑器组布局之间快速切换,可以使用切换垂直/水平编辑器布局命令 (⌥⌘0 (Windows, Linux Shift+Alt+0))。
在组内拆分
您还可以在同一个组内拆分一个编辑器以进行并排编辑,使用视图:在组内拆分编辑器命令 (⌘K ⇧⌘\ (Windows, Linux Ctrl+K Ctrl+Shift+\))。
使用组内拆分功能时,有特定的命令用于切换此模式以及在两个拆分编辑器之间导航:
- 视图:在组内拆分编辑器 - 拆分当前编辑器。
- 视图:切换组内拆分编辑器 - 为活动编辑器切换拆分模式。
- 视图:合并组内编辑器 - 返回到活动文件的单个编辑器视图。
- 视图:切换组内拆分编辑器的布局 - 在水平和垂直布局之间切换。
要在两侧之间导航:
- 视图:聚焦活动编辑器的第一侧 - 将焦点移动到拆分编辑器的第一侧(左侧或顶部)。
- 视图:聚焦活动编辑器的第二侧 - 将焦点移动到第二侧(右侧或底部)。
- 视图:聚焦活动编辑器的另一侧 - 在拆分编辑器的两侧之间切换焦点。
Workbench > Editor: Split in Group Layout (workbench.editor.splitInGroupLayout) 设置允许您将首选的拆分编辑器布局设置为水平(默认)或垂直。
网格布局
如果您想更好地控制编辑器组布局,可以使用网格布局,其中可以显示多行多列的编辑器组。视图 > 编辑器布局菜单列出了各种编辑器布局选项(例如,两列、三列、网格 (2x2)),您可以通过拖动它们之间的分隔条来调整组的大小。
浮动窗口
您可以在一个浮动窗口中打开编辑器、终端或特定视图。这在多显示器设置中很有用,您可以将编辑器移动到另一个显示器,甚至移动到同一显示器上的不同位置。
要在一个浮动窗口中打开编辑器,请将其从主窗口中拖出,并放到当前 VS Code 窗口外的任何位置。
浮动窗口能够以网格布局打开任意数量的编辑器。这些窗口将在重启后恢复其位置,并重新打开其中的所有编辑器。
分离编辑器的另一种方法是右键单击编辑器选项卡,然后选择移动到新窗口 (workbench.action.moveEditorToNewWindow
) 或复制到新窗口 (⌘K O (Windows, Linux Ctrl+K O)) 选项。
要移动整个编辑器组,请使用将编辑器组移动到新窗口 () 或将编辑器组复制到新窗口 () 命令。
紧凑模式
要从浮动窗口中移除不必要的 UI 元素,为内容腾出更多空间,请选择浮动窗口标题栏中的设置紧凑模式选项。再次选择它可将浮动窗口恢复到原始模式。
置顶
您可以通过选择浮动窗口标题栏中的设置总在最前选项将浮动窗口固定在屏幕顶部。这对于在主 VS Code 窗口中工作时,保持终端或预览窗口始终可见非常有用。再次选择它可取消浮动窗口的置顶。
固定的选项卡
如果您希望某个编辑器选项卡始终可见,可以将其固定到编辑器选项卡栏。您可以从上下文菜单或使用命令视图:固定编辑器 (⌘K ⇧Enter (Windows, Linux Ctrl+K Shift+Enter)) 来固定编辑器选项卡。
固定的选项卡有助于访问对您重要的文件,因为:
- 固定的选项卡总是显示在未固定的选项卡之前。
- 如果您打开了许多选项卡,它们也不会滚动出视图。
- 在使用关闭其他或全部关闭等编辑器选项卡命令时,它们不会被关闭。
- 即使您超出了设置的已打开编辑器数量限制,它们也不会被关闭。
通过单击固定图标、使用取消固定编辑器选项卡上下文菜单项或视图:取消固定编辑器命令来取消固定编辑器。
您可以通过 Workbench > Editor: Pinned Tab Sizing (workbench.editor.pinnedTabSizing) 设置来选择您希望如何显示固定的编辑器。选项有:
normal
:固定的选项卡继承其他选项卡的外观(默认)shrink
:固定的选项卡会缩小到一个固定大小,显示部分编辑器标签。compact
:固定的选项卡将只显示为图标或编辑器标签的第一个字母。
您还可以通过设置 Workbench > Editor: Pinned Tabs On Separate Row,在常规编辑器选项卡栏上方的单独一行中显示固定的编辑器选项卡。您可以通过在两行之间拖放选项卡来固定和取消固定编辑器。
锁定编辑器组
在使用多个编辑器时,通常会有一个或多个您希望始终保持可见的编辑器。锁定的编辑器组功能,即整个编辑器组被锁定并保持可见,提供了一个稳定的显示,任何打开新编辑器的请求都将在另一个组中创建它。您可以通过编辑器组工具栏中的锁形图标来判断一个编辑器组是否被锁定。
您可以通过从编辑器工具栏的更多操作 ...
下拉菜单中选择锁定组或运行视图:锁定编辑器组命令来锁定一个编辑器组。
您可以通过单击锁形图标或运行视图:解锁编辑器组命令来解锁一个编辑器组。
锁定的组与未锁定的组行为不同:
- 新编辑器不会在锁定的组中打开,除非明确移动到那里(例如,通过拖放)。
- 如果一个新编辑器跳过了一个锁定的组,它将在最近使用的未锁定组中打开,或者在锁定组的旁边创建一个新组。
- 编辑器组的锁定状态在重启后会保持和恢复。
- 您也可以锁定空组,从而实现更稳定的编辑器布局。
主要用例是针对编辑器区域中的终端。例如,您可能希望在左侧编辑文本,并在右侧有一个始终可见的终端。当一个终端编辑器被创建并移动到一侧时,它会自动锁定。这意味着即使右侧的终端处于焦点状态,打开一个文件也将在左侧打开,而无需先手动更改焦点。
可以使用 workbench.editor.autoLockGroups 设置来配置自动锁定组,该设置默认为仅终端编辑器,但可以添加任何编辑器类型以获得相同的行为。
与编辑器组锁定相关的命令:
- 视图:锁定编辑器组 - 锁定活动的编辑器组。
- 视图:解锁编辑器组 - 解锁活动的已锁定编辑器组。
- 视图:切换编辑器组锁定 - 锁定或解锁活动的编辑器组。
您必须拥有多个编辑器组,这些命令才可用。
后续步骤
继续阅读以了解:
- Visual Studio Code 用户界面 - VS Code 的快速上手指南。
- 基本编辑 - 了解功能强大的 VS Code 编辑器。
- 代码导航 - 快速浏览您的源代码。