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

2023 年 10 月 (版本 1.84)

更新 1.84.1:本次更新解决了这些问题

更新 1.84.2:本次更新解决了这些问题

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


欢迎使用 2023 年 10 月发布的 Visual Studio Code。此版本中包含许多我们希望您会喜欢的新增功能,其中一些主要亮点包括:

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

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

辅助功能

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

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

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

Windows 放大镜同步

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

可访问视图改进

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

可访问视图可以使用 accessibility.hideAccessibleView 隐藏,这在与有视觉的用户分享屏幕时很有用。

当用户开始输入时,可访问视图现在会关闭并聚焦到之前的元素,以实现更流畅的工作流程。

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

上次迭代中,我们将 ${focusedView} 变量添加到 window.title。我们现在还会指示何时聚焦了 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 帐户登录到隧道。
  • 现在 Windows 支持通过 SSH 和隧道连接到开发容器。

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

对扩展的贡献

GitHub Copilot

流式内联聊天

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

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

聊天代理

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

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

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

@workspace

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

@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 中排除的文件指定全局模式。这在处理包含许多子项目的大型代码库时非常有用,并且您希望将某些文件夹排除在 linting 之外。这些设置是 "pylint.ignorePatterns""mypy-type-checker.ignorePatterns""flake8.ignorePatterns"

这些扩展还支持 cwd 设置,允许您指定 linter 的工作目录。此设置已更新以支持变量 ${fileDirname},因此工作目录可以动态设置为您在编辑器中打开的文件所在的父文件夹。这在处理 mono 存储库时非常有用,并且您希望 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 等。最近添加了在 VS Code 中使用 Ruff 作为格式化程序的G支持("[python]": { "editor.defaultFormatter": "charliermarsh.ruff" })。

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

创建环境通知

虚拟环境是处理需要安装依赖项的 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 语音

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

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

VS Code Speech activated by the microphone icon

GitHub 拉取请求和议题

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

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

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

预览功能

浮动编辑器窗口

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

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

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

感谢您的测试!

对 Language Servers 的 WASM-WASI 支持

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

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

扩展创作

改进的测试运行器

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

TestMessage.contextValue API 最终确定

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

Failed test result with Update Snapshot action displayed

问题 #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;
}

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

问题 #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

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

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

Gradle for Java pre-release extension

FastAPI 教程

FastAPI 是一个用于构建 Python API 的现代化、快速的 Web 框架,由于其简洁性和性能而变得越来越流行。

您现在可以通过我们的新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 的贡献