参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

2023 年 10 月 (版本 1.84)

更新 1.84.1:此更新解决了这些 问题

更新 1.84.2:此更新解决了这些 问题

下载:Windows:x64 Arm64 | Mac:通用 Intel Apple 芯片 | Linux:deb rpm tarball Arm snap


欢迎使用 Visual Studio Code 2023 年 10 月版本。此版本中有许多更新,希望您会喜欢,其中包括一些主要亮点:

如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新页面。

内测版:想尽快尝试新功能?您可以下载每晚的内测版构建,并尽快尝试最新的更新。

辅助功能

清除、格式化和保存可选音频提示

audioCues.clear 启用时,会发出声音,指示终端、通知或聊天响应已清除。

在文件和笔记本中,audioCues.saveaudioCues.format 可以设置为在用户手势时播放或在每个事件中始终播放。禁用时,将改用 ARIA 警报,并且可以使用 accessibility.alert.formataccessibility.alert.save 进行自定义。

Windows 放大镜同步

Windows 放大镜现在在 VS Code 中正确地跟随光标。

辅助功能视图改进

默认情况下,用户的光标位于终端辅助功能视图的底部;要保留位置,您可以将 terminal.integrated.accessibleViewPreserveCursorPosition 设置为 true

可以使用 accessibility.hideAccessibleView 隐藏辅助功能视图,这在与有视力用户共享屏幕时很有用。

当用户开始输入并聚焦到上一个元素时,辅助功能视图现在会关闭,以实现更流畅的工作流程。

窗口标题焦点视图中的文本编辑器

上一次迭代,我们在 window.title 中添加了一个 ${focusedView} 变量。我们现在还会在 Text Editor 获得焦点时进行指示。

工作台

自定义活动栏位置

您现在可以将活动栏移至侧边栏顶部,如以下视频所示。

Move Activity bar position

当活动栏置于顶部时,“帐户”和“管理”按钮会移至标题栏的最右侧。

注意:这仅在自定义标题栏启用时受支持 ("window.titleBarStyle": "custom")。

隐藏编辑器选项卡

用户现在可以通过将 workbench.editor.showTabs 设置为 none 来隐藏编辑器选项卡。其他 showTabs 选项包括 multiple(默认)和 single,用于为活动编辑器显示单个编辑器选项卡。

Hide editor tab bar

最大化编辑器组

新增命令视图:切换最大化编辑器组⌘K ⌘M (Windows, Linux Ctrl+K Ctrl+M))以最大化编辑器组。这将隐藏所有其他组,并在选项卡栏中添加一个按钮,允许用户恢复之前的布局。如果将设置 workbench.editor.doubleClickTabToToggleEditorGroupSizes 设置为 maximize,用户可以双击编辑器选项卡以最大化和取消最大化编辑器组。

Maximize editor group showing button to restore to original layout

设置编辑器中类似设置搜索

与命令面板类似,设置编辑器现在运行类似设置搜索,以为给定查询收集更相关的结果。

该实现目前处于早期阶段,您可以期待在接下来的几次迭代中获得改进。

The query "automatically save files" in the Settings editor showing some auto save settings

当文件或工作区的协议链接在 VS Code 中打开时,现在会弹出一个对话框要求确认。

Confirm protocol links dialog display for a local file

协议链接可以指向本地文件(例如 vscode://file/path/to/file)或远程文件(例如 vscode://vscode-remote/ssh-remote+[USER@]HOST[:PORT]/path/to/file)。对于每种情况,都有新的设置来禁用此行为。

  • security.promptForLocalFileProtocolHandling - 用于本地协议链接
  • security.promptForRemoteFileProtocolHandling - 用于远程协议链接

编辑器

最近的快速修复键盘快捷键

新增设置以激活行中距离光标最近的快速修复,通过 ⌘. (Windows, Linux Ctrl+.) (命令 ID editor.action.quickFix),无论光标在该行的哪个位置。以前是一个预览功能,代码操作小部件:包含附近的快速修复 (editor.codeActionWidget.includeNearbyQuickFixes) 现在默认启用。

该命令会突出显示将通过快速修复进行重构或修复的源代码。普通代码操作和非修复重构仍可在光标位置激活。

Example of new Quick Fix behavior, showing activation on nearest errors, and how all Code Actions are still available at the cursor location

多文档突出显示

通过设置编辑器:多文档出现 (editor.multiDocumentOccurrencesHighlight) 添加了对跨多个文档的代码突出显示的初始支持。此初始实现仅提供文本出现,未来将支持语义突出显示。

源代码管理

使用 --force-if-includes 强制推送

本次里程碑现在支持 --force-if-includes 选项,它是 Git 2.30 中添加的 --force-with-lease 的辅助选项。新选项确保强制推送的提交是在检查远程引用顶部的提交后创建的,并在启用自动抓取时减少丢失提交的可能性。您可以通过禁用 git.useForcePushIfIncludes 设置来禁用使用 --force-if-includes

Notebook

“执行时滚动”改进

在使用 Shift+Enter 运行笔记本时,下一个单元格的显示方式得到了改进,以帮助专注于输出。这还减少了重新运行已具有输出的单元格时单元格的移动量。

IPython 堆栈跟踪渲染

来自 IPython 的异常堆栈跟踪现在会呈现可点击的链接,以帮助导航到错误。这仅适用于 Jupyter 扩展不会首先更改堆栈跟踪的情况:"jupyter.formatStackTraces": false

调试

JavaScript 调试器

改进的事件侦听器断点视图

事件侦听器断点视图更加友好,现在以带有复选框的树状结构呈现。

Event Listener Breakpoints view shown as a tree with the Canvas WebGL Error Fired event checked

更好地处理源映射重命名

当代码与捆绑器一起编译时,变量可以重命名。这在所有捆绑器中的导入以及 esbuild 中的某些本地标识符中尤其常见。调试器现在了解每个重命名所适用的作用域,这解决了用户历史上遇到的许多问题。

这需要调试器解析已编译模块的语法树。这是在后台线程中完成的,并且仅在检测到重命名时才执行,但可以通过在 launch.json 中将 "sourceMapRenames": false 设置为 false 来禁用此行为,以避免任何性能影响。

远程开发

远程开发扩展允许您通过 SSH 或远程隧道使用开发容器、远程机器或适用于 Linux 的 Windows 子系统 (WSL) 作为功能齐全的开发环境。

亮点包括:

  • 您现在可以使用 Microsoft 帐户登录到 Tunnels。
  • Windows 上现在支持通过 SSH 和 Tunnels 连接到开发容器。

您可以在 远程开发发行说明 中了解有关这些功能的更多信息。

对扩展的贡献

GitHub Copilot

流式内联聊天

GitHub Copilot Chat 扩展的内联聊天现在可以进行渐进式文本编辑,并以接收响应的速度“打字”。这比以前等待接收整个聊天响应再将其应用于编辑器的行为更自然。

并非所有编辑都是插入,对于替换,Copilot 有时很难弄清楚从哪里开始。在这些情况下,流式传输可能尚未按预期工作。请继续关注该领域的改进。

聊天代理

本次迭代,我们构建了一种与 Copilot Chat 交互的新方式:代理。代理就像是具有专业知识的专家,他们可以帮助您,您可以通过在聊天中使用 @ 符号提及他们来与他们交谈。目前,有两个代理:

  • @workspace 拥有有关工作区中代码的上下文,可以帮助您导航它,查找相关文件或类。
  • @vscode 了解 VS Code 编辑器本身的命令和功能,可以帮助您使用它们。

每个代理还支持一些斜杠命令,您之前可能使用过的斜杠命令现在应该与代理一起使用。例如,/explain 现在是 @workspace /explain。但作为快捷方式,您也可以只输入 / 来获取一个完成列表,该列表将自动扩展为完整的代理和命令。

@workspace

@workspace 代理使用元提示来确定从工作区收集哪些信息以帮助回答您的问题。元提示使用的一种方法是回顾您的对话历史记录,以解决问题中模糊的单词/短语。例如,如果您问 @workspace 它做什么?,元提示现在将考虑历史记录来找出 到底是什么以及收集哪些信息来回答问题。元提示还使用广泛的术语集,包括更多同义词,以生成潜在相关术语列表。

@workspace 响应中的文件路径和符号是可点击的链接。这使得导航到 Copilot 引用的代码变得容易。

@workspace 代理在决定从工作区索引哪些文件时遵守 .gitignore.copilotignore

代理替换斜杠命令

新代理通过添加斜杠修饰符替换了斜杠命令(例如 /createWorkspace/createNotebook)的功能:

  • /createWorkspace --> @workspace /new
  • /createNotebook --> @workspace /newNotebook
  • /explain --> @workspace /explain
  • /fix --> @workspace /fix
  • /test --> @workspace /test
  • /vscode --> @vscode /api

Slash command menu showing agents and slash modifiers

试试新代理,输入 /help 获取更多提示!

提交消息生成

Copilot Chat 现在可以使用源代码管理输入框中的新“闪光”操作,根据待处理更改生成提交消息。

导入分组

生成的导入现在始终放在文件顶部或现有导入块下方。大多数常用编程语言都支持此功能。

改进的 /explain 上下文

您可以通过 @workspace /explain 命令或通过上下文菜单中的使用 Copilot 解释操作,要求 Copilot Chat 解释活动编辑器中的代码选择。Copilot Chat 现在包含引用符号(如函数和类)的实现,从而提供更准确和有用的解释。当您为以下语言之一安装了提供语言服务的扩展时,此功能在跨文件工作时效果最佳:TypeScript/JavaScript、Python、Java、C#、C++、Go 或 Ruby。

持久化聊天视图状态

以前,Copilot Chat 视图最初是隐藏的,然后才显示。现在,Copilot Chat 视图在窗口重新加载后保持活动状态,因此您不必手动重新打开它。此外,聊天视图现在会引导您完成登录 GitHub 和激活 GitHub Copilot 免费试用版的过程。

使用配置的显示语言聊天

默认情况下,Copilot Chat 现在最初使用您在 VS Code 中配置的显示语言进行回复。您可以通过配置 github.copilot.chat.localeOverride 来覆盖此自动行为。

减少欢迎消息冗余

您现在可以通过配置 github.copilot.chat.welcomeMessage 来控制 Copilot Chat 在您首次开始对话时是否以详细的欢迎消息问候您。选项包括 first(默认)、alwaysnever

终端快速修复

当终端中运行的命令失败时,Copilot 现在将提供快速修复来解释发生了什么。

A sparkle icon shows up that offers to explain a command

这可以通过当前终端提示旁边的闪光图标(⌘. (Windows, Linux Ctrl+.))触发。

终端命令建议

当终端获得焦点时,Copilot 现在可以通过 ⌘I (Windows, Linux Ctrl+I) 快捷键提供 CLI 命令建议。这会弹出预填充了 @workspace /terminal 的快速聊天。

Ctrl/Cmd+I now opens up the Quick Chat

这个 /terminal 斜杠命令针对使用当前 shell 建议 shell 命令进行了优化。建议质量和用户体验将在下个版本中得到更多改进。

改进了“在终端中运行”操作的展示方式

当代码块具有 shell 语言类型时,“在终端中运行”操作现在会在代码块悬停时显示。

The code block now shows run in terminal in the top level actions, not hidden in the overflow menu

内联聊天可以回复终端命令

内联聊天现在可以回复要在终端中运行的命令。

Run in terminal from inline chat

Python

在终端中运行行的改进

Python 扩展改进了当未选择要运行的代码时,向 Python REPL 发送行 (Shift+Enter) 的行为。以前,当您将光标放在一行 Python 代码上并按下 Shift+Enter 时,Python 扩展会将确切的行内容发送到 REPL,即使它会失败,例如,因为它是一个多行命令的一部分。

借助新的实验性智能发送功能,Python 扩展将围绕光标位置的最小可运行代码块发送到 REPL 执行。这确保只有完整且可执行的代码段被发送到 REPL。光标也将自动移动到下一个可执行行,以便在迭代执行多个块时提供流畅的体验。

要试用它,您可以添加以下用户设置:"python.experiments.optInto": ["pythonREPLSmartSend"]。虽然此功能目前处于实验阶段,但我们预计它将来会成为默认行为。如果您对此功能有任何反馈或建议,请告诉我们!

主题:Catppuccin Macchiato(在 vscode.dev 上预览)

Python Linting 扩展改进

我们对支持的 linting 扩展进行了一些改进,以便为您喜爱的 Python 工具提供更可配置和灵活的体验。

PylintMypyFlake8 扩展现在提供了允许您为希望从 linting 中排除的文件指定 glob 模式的设置。如果您正在处理具有许多子项目的大型代码库,并希望排除某些文件夹不进行 linting,这将非常有用。这些设置是 "pylint.ignorePatterns""mypy-type-checker.ignorePatterns""flake8.ignorePatterns"

这些扩展还支持 cwd 设置,允许您指定 linter 的工作目录。此设置已更新以支持变量 ${fileDirname},因此工作目录可以动态设置为您在编辑器中打开的文件的父文件夹。如果您正在使用单仓库,并且希望 linter 工作目录在您从不同子项目打开文件时动态更新,这很有用。这些设置是 "pylint.cwd""mypy-type-checker.cwd""flake8.cwd"

"mypy-type-checker.preferDaemon" 设置的默认值已更改(仅适用于 Mypy 扩展)。以前,它设置为 true,这意味着默认情况下将使用 Mypy 守护程序。在收到反馈后,我们将默认值更改为 false。如果您想知道哪个值最适合您,我们建议您在出于性能原因将 Mypy 报告范围设置为整个工作区("mypy-type-checker.reportingScope": "workspace")时使用 Mypy 守护程序。否则,如果报告范围设置为当前文件,我们建议您使用随扩展程序提供的 Mypy 可执行文件。

已弃用的内置 linting 和格式化功能

随着 VS Code 中 linting 和格式化扩展的所有工作和改进,我们已经弃用了 Python 扩展中内置的 linting 和格式化功能。这包括所有 linting 和格式化命令以及设置 (python.linting.*python.formatting.*)。我们建议您如果仍在使用这些已弃用的设置,请将其删除,并改用受支持的 linting 和格式化扩展。

如果您在使用没有受支持扩展的 linter,请查看社区贡献的 Ruff 扩展Ruff 是一个用 Rust 编写的 Python linter,支持各种 linter,例如 pyflakes、pycodestyle、pydocstyle 等。最近添加了将 Ruff 用作 VS Code 中格式化程序的¹支持 ("[python]": { "editor.defaultFormatter": "charliermarsh.ruff" })。

您还可以为您喜爱的 Python 工具创建自己的 linter 或 formatter VS Code 扩展。请查看我们的 Python Tools 扩展模板以快速入门。

创建环境通知

虚拟环境是使用需要安装依赖项的 Python 项目的推荐方式。它们提供隔离和可重现性,在 Python 项目中非常流行。

因此,当您尝试运行或调试具有列出依赖项的 Python 文件或项目,而您的工作区中没有选择虚拟环境时,Python 扩展现在会显示通知。此通知提供了一种通过Python:创建环境命令快速创建新虚拟环境的方法。

如果您的工作区中已经有虚拟环境,您可以选择它,或者删除并重新创建它。

可以通过将 python.python.createEnvironment.trigger 设置为 off 来禁用此通知。

Notification stating that a virtual environment is not currently selected with an option to Create the environment or disable the notification

虚拟环境停用助手

几个月前,我们宣布了一项新的实验性功能,用于使用环境变量激活终端,以通过在终端中自动激活选定的环境而无需显式激活命令来增强您的开发工作流。然而,由于没有显式激活脚本,当此实验启用时,deactivate 命令不再起作用。

Python 扩展现在将在您尝试运行 deactivate 命令时检测到,并显示一个帮助通知,指导您如何为 shell 添加脚本,以便当环境通过环境变量激活时,该命令将再次起作用。它还提供了一个按钮,可打开您的 shell 配置文件以供您添加必要的脚本。

Notification stating that the deactivate command is not working and offering a button to open the shell profile file

您可以在 vscode-python wiki 上找到有关如何为 shell 添加必要脚本的完整文档。

如果您不在实验中,但想尝试此功能,您可以添加以下用户设置:"python.experiments.optInto": ["pythonTerminalEnvVarActivation"]

测试输出改进

pythonTestAdapter 实验启用时,我们对您在 Python 扩展中查看和与测试输出交互的方式进行了重大改进,这在几个月前已宣布。以前,测试发现和执行的输出不一致地分散在Python 测试日志输出通道和测试结果面板中,并且一些信息在两者中重复。为了整合体验,与测试执行相关的输出显示在测试结果面板中,而测试发现显示在Python输出通道中。要了解更多信息,请阅读我们相关的 vscode-python wiki

如果您正在使用 Pytest 并在 settings.json 中设置 "python.testing.pytestArgs": ["--color=yes"],这种新方法还支持输出中的颜色化。颜色化仅适用于测试结果面板中的测试执行,而不适用于发现或Python 测试日志面板中的输出。

Test execution output displayed in Test Results panel with colors, while test discovery output is displayed in the Python output channel

还有一个新按钮显示输出,可以在测试发现出现错误时轻松从测试资源管理器视图打开测试日志。

"Show output" button to open the Test Logs in the Test Explorer view

Python 调试器扩展的平台特定版本

Python 调试器扩展现在提供平台特定版本,因此每次更新时只安装必要的平台特定文件。这减少了扩展的大小并有助于缩短启动时间。

Tensorboard 扩展

Tensorboard 功能已从 Python 扩展移至独立的 Tensorboard 扩展。

如果您对此新扩展有任何问题或希望提供反馈,您可以在 Tensorboard 扩展 GitHub 仓库 中提交问题。

Jupyter

使用前置/依赖单元格执行

通过 Jupyter 扩展,您现在可以从“单元格运行”按钮旁边的下拉菜单中运行目标单元格的所有前置或依赖单元格。这仍是一个预览功能,可以通过 jupyter.executionAnalysis.enabled 设置和 notebook.consolidatedRunButton 设置启用。

此功能目前由 Pylance 扩展提供支持,因此您需要安装最新版的 Pylance 预发布版本才能使用此功能。

VS Code Speech

我们正在推出一个新扩展,为 VS Code 带来语音支持!新的 VS Code Speech 扩展集成到 GitHub Copilot Chat 中,为聊天输入启用语音转文本转录服务。

安装后,将显示一个麦克风图标,选择后,它会根据您的语音转录结果开始填充聊天输入文本。转录在您的机器本地进行计算,不需要互联网连接。

VS Code Speech activated by the microphone icon

GitHub 拉取请求和议题

GitHub Pull Requests and Issues 扩展取得了更多进展,该扩展允许您处理、创建和管理拉取请求和问题。

  • 项目显示在拉取请求描述 Web 视图中,并可从其中添加。
  • 与 GitHub Copilot 集成,从 PR 创建视图生成 PR 标题和描述。
  • 使用 GitHub CLI (gh pr checkout) 检出的 PR 会被扩展识别。

查看扩展 0.76.0 版本的 更新日志 以了解其他亮点。

预览功能

浮动编辑器窗口

我们继续探索如何将编辑器从工作台窗口中拉出到自己的窗口中,现在希望邀请 VS Code Insiders 社区体验这一激动人心的新功能并提供反馈。

请务必安装 VS Code Insiders,并在编辑器上运行新的视图:将活动编辑器移至新窗口命令,以在浮动窗口中打开它们。

我们仍需解决许多问题并提供缺失的功能,但我们乐观地认为我们可以在不久的将来在稳定版中启用此功能。

感谢您的测试!

WASM-WASI 对语言服务器的支持

对 WASM/WASI 中语言服务器的支持已添加到实验性的 wasm-wasi-core 扩展中。

vscode-wasm 仓库 中还有一个扩展,展示了一个用 Rust 编写并编译为 WASM 的简单语言服务器。该扩展依赖于 Rust 分析器团队维护的 语言服务器 crate

扩展创作

改进的测试运行器

现在有一个命令行运行器和 VS Code 扩展,使运行扩展测试更加容易。使用新方法的扩展可以在 VS Code 的测试 UI 中运行。虽然需要一些迁移,但这通常只需要几分钟。阅读 VS Code 测试扩展 文档以获取更多信息。

已定稿的 TestMessage.contextValue API

您可以在 TestMessage 上提供 contextValue,以便在用户对这些消息执行操作时显示。此外,还提供了两个新的菜单贡献点:testing/message/contexttesting/message/content。前者显示在测试结果树视图中的消息上,后者显示在编辑器中的消息上方。例如,这可能用于在快照测试中提供更新夹具的操作。

Failed test result with Update Snapshot action displayed

issue #190277 中阅读更多关于 contextValue 的信息。

更新的 codicons

以下新图标已添加到我们的 codicon 库中:

New codicons

  • copilot
  • git-fetch
  • mic
  • mic-filled
  • thumbsup-filled
  • thumbsdown-filled
  • coffee
  • game
  • snake
  • vr
  • chip
  • music
  • piano

新主题颜色

  • textPreformat.background:预格式化文本片段的背景颜色

按名称区分的根文件夹图标

文件图标主题作者现在可以使用新的属性 rootFolderNamesrootFolderNamesExpanded 为根文件夹定义名称特定的图标。您可以查阅 文件图标主题指南 以获取更多信息。

提议的 API

每个里程碑都会带来新的提议 API,扩展作者可以尝试这些 API。一如既往,我们希望得到您的反馈。以下是尝试提议 API 的步骤

  1. 查找您要尝试的提议并将其名称添加到 package.json#enabledApiProposals
  2. 使用最新的 @vscode/dts 并运行 npx @vscode/dts dev。它会将相应的 d.ts 文件下载到您的工作区。
  3. 您现在可以根据该提议进行编程。

您不能发布使用提议 API 的扩展。下个版本中可能会有破坏性更改,我们绝不希望破坏现有扩展。

支持通过“问题报告器”配置发送到扩展的数据

一项新的拟议 API 允许扩展作者通过问题报告器发送额外数据。

export interface IssueUriRequestHandler {
  // Handle the request by the issue reporter for the Uri you want to direct the user to.
  handleIssueUrlRequest(): ProviderResult<Uri>;
}

export interface IssueDataProvider {
  // Provide the data to be used in the issue reporter.
  provideIssueData(token: CancellationToken): ProviderResult<string>;

  // Provide the template to be used in the description of issue reporter.
  provideIssueTemplate(token: CancellationToken): ProviderResult<string>;
}

export namespace env {
  export function registerIssueUriRequestHandler(
    handler: IssueUriRequestHandler
  ): Disposable;
  export function registerIssueDataProvider(provider: IssueDataProvider): Disposable;
}

您可以提供一个 URI 通过 handleIssueUrlRequest 让扩展问题在 GitHub 上外部提交,或者为 provideIssueDataprovideIssueTemplate 提供一个模板 string 和扩展数据 string,以便通过问题报告器将额外的扩展数据发送到 GitHub。

issue #196863 中阅读有关此提案的更多信息。

具有自定义排除规则的文件监视器

本次里程碑,我们添加了一个用于创建具有完全排除规则控制的文件系统监视器的提案 API。

export interface FileSystemWatcherOptions {
  /**
   * An optional set of glob patterns to exclude from watching.
   * Glob patterns are always matched relative to the watched folder.
   */
  readonly excludes?: string[];
}

export function createFileSystemWatcher(
  pattern: RelativePattern,
  options?: FileSystemWatcherOptions
): FileSystemWatcher;

这个新的 API 让您的扩展完全控制文件监视器,无论是递归还是非递归监视器,以及它是否希望在工作区内部或外部监视。用户或默认配置的文件监视排除规则将不适用,因此您可以确保只接收您订阅的事件。

工程

Windows 32 位支持结束

不再支持 Windows 32 位 VS Code。如果您仍在使用 32 位版本的 VS Code,您应该更新到 64 位版本。

扩展和文档

适用于 Java 的 Gradle

使用改进的 Gradle for Java 扩展,VS Code 中的 Java 开发变得更加容易。由于采用了 构建服务器协议 (BSP),预发布版本对构建 Gradle 项目提供了更好的支持。与 VS Code 中使用的其他协议(例如 语言服务器协议 (LSP))类似,BSP 在开发环境和 Gradle 等构建工具之间提供了一个抽象层。

要试用新的 Gradle 支持,请同时安装 Java 扩展包Gradle for Java 扩展的预发布版本。您可以在 Java 扩展团队的这篇最新博客文章中了解有关 Gradle 和 BSP 的更多信息。

Gradle for Java pre-release extension

FastAPI 教程

FastAPI 是一个现代化、快速的 Web 框架,用于构建 Python API,因其简洁性和性能而越来越受欢迎。

现在,您可以通过我们的新 FastAPI 教程 了解如何充分利用 VS Code 和 Python 扩展来创建和调试 FastAPI 应用程序!

自定义布局用户指南

新增了 自定义布局 文章,介绍了工作台和编辑器的布局自定义。在那里,您将学习如何修改 VS Code 的主要 UI 元素,如视图、面板和编辑器,以适应您偏好的工作流程。

Customize Layout dropdown

主题包括

  • 主要和次要侧边栏
  • 面板位置和对齐方式
  • 固定编辑器选项卡
  • 编辑器组布局
  • 以及更多

值得注意的修复

  • 194812workbench.settings.settingsSearchTocBehavior 设置为 hide 时,ToC 在搜索时显示
  • 195722 遇到网络问题时设置编辑器为空白

感谢

最后但同样重要的是,向 VS Code 的贡献者们致以衷心的感谢

问题跟踪

对我们问题跟踪的贡献

拉取请求

vscode 的贡献

vscode-js-debug 的贡献

language-server-protocol 的贡献