在 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.sideBar.location) 设置为right

次侧边栏

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

下图显示了主侧边栏中的资源管理器视图和次侧边栏中的 Copilot Chat 视图

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

最大化面板大小

当面板对齐方式为居中时,您可以使用面板区域右上角的最大化面板大小人字形按钮快速切换面板区域以填充整个编辑器区域。最大化面板中的人字形按钮指向下方,以将面板恢复到原始大小。

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.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.pinnedTabSizing) 设置选择如何显示固定编辑器。选项包括:

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

您还可以通过设置工作台 > 编辑器:固定选项卡在单独一行显示,将固定编辑器选项卡显示在常规编辑器选项卡栏上方的一行。您可以通过在两行之间拖放选项卡来固定和取消固定编辑器。

锁定编辑器组

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

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

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

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

您必须拥有一个以上的编辑器组才能使用这些命令。

后续步骤

继续阅读以了解: