2023 年 1 月(1.75 版本)

更新 1.75.1:此更新修复了以下 问题

下载:Windows:x64 Arm64 | Mac:Universal Intel silicon | Linux:deb rpm tarball Arm snap


欢迎阅读 2023 年 1 月版的 Visual Studio Code 发布说明。此版本包含许多我们希望您会喜欢的更新,以下是部分主要亮点:

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

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

内务管理

在之前的发布说明中,团队报告了我们的清理工作,我们也希望在此进行同样的说明。

正如我们 2022 年 11 月所宣布的,我们将 12 月用于清理 GitHub 问题和拉取请求(请参阅我们的 问题清理指南)。在我们所有的仓库中,我们共减少了 3637 个开启的问题和拉取请求。不出所料,大部分清理工作发生在我们的前 5 个仓库中:microsoft/vscode (2520)、microsoft/vscode-jupyter (374)、microsoft/vscode-remote-release (278)、microsoft/vscode-python (220) 和 microsoft/vscode-pull-request-github (160)。

辅助功能

差异导航改进

转到下一个/上一个更改 现在具有音频提示,以指示某行是已插入、删除还是修改。此外,更改行会被选中,以便屏幕阅读器可以读取它。

终端无障碍模式

Terminal: Focus Accessible Buffer (⌥F2 (Windows Alt+F2, Linux Shift+Alt+F2)) 命令允许屏幕阅读器通过键盘导航终端缓冲区。

终端无障碍帮助

与编辑器中的 Show Accessibility Help 命令类似,Terminal: Show Terminal Accessibility Help () 命令为屏幕阅读器用户提供重要信息。

Terminal accessibility help is presented on top of the terminal

工作区信任编辑器快捷键

为了提高 工作区信任 编辑器的键盘可访问性(可通过 Workspaces: Manage Workspace Trust 打开),您现在可以使用 Ctrl/Cmd+Enter 通过键盘切换当前工作区的信任状态,或使用 Ctrl/Cmd+Shift+Enter 切换父文件夹的信任状态。

Workspace Trust Editor showing the trust buttons with their keyboard shortcuts

改进了设置编辑器指示器的键盘导航

对于具有多个指示器的设置(例如“在其他位置修改”指示器和“默认值已更改”指示器),现在使用左右箭头键在指示器之间导航。此更改允许用户通过单次按 Tab 键跳出指示器。

配置文件

我们很高兴地宣布,配置文件 (Profiles) 功能现已在 VS Code 中正式可用。配置文件可以包含扩展、设置、键盘快捷键、UI 状态、任务和用户代码片段。您可以针对不同的开发场景自定义 VS Code,例如数据科学、文档编写,或针对多种编程语言(如 Python 或 Java)。如果您根据工作流程有不同的 VS Code 设置,例如“工作”或“演示”,也可以将其保存为不同的配置文件。您可以同时打开具有不同配置文件的多个工作区(文件夹)。

下图演示了一个打开的文件夹,其中应用了为工作设置定制的 Work 配置文件。

Folder opened in Work profile

您还可以导出和导入配置文件,以便与同事、朋友或学生分享,帮助他们快速上手 VS Code。

以下视频演示了如何使用 GitHub Gist 导出配置文件以与他人共享。收到配置文件链接的用户可以在 VS Code for the Web 中预览共享配置文件并将其导入到本地 VS Code 实例中。

Export and share profile

注意:配置文件目前在远程场景(如 GitHub Codespaces)中尚无法工作,但我们正在努力启用此功能。您可以在 issue #165247 中跟踪进度。

工作台

改进的多视图调整大小支持

您现在可以通过拖动视图的边角同时调整多个视图的大小。

改进的网格布局

如果编辑器已最小化,在调整整个工作台或侧边栏大小时,网格现在将保持该状态。在下面的短视频中,右侧最小化编辑器的宽度在整个编辑器区域展开时保持不变。

从“自定义布局”命令恢复默认值

使用自定义的 Customize Layout 命令(通过触发命令或使用自定义标题栏中的布局控件)时,您可以使用布局控件右上角的还原箭头按钮 Restore Defaults

Customize layout control showing the new Restore Defaults button

从面板管理面板对齐方式

您现在可以直接从面板上下文菜单调整面板对齐方式,就像调整面板位置一样。

Panel context menu showing the panel alignment submenu

简化了首选项菜单

我们简化了全局设置的 Preferences 菜单,并按更合乎逻辑的顺序和分组整理了选项。

Global settings menu showing expanded Themes flyout

树视图查找历史记录

树视图中的查找控件现在支持历史记录导航。您可以使用上下箭头键浏览之前的搜索历史。

树视图查找连续匹配

树视图查找控件现在除现有的“模糊”匹配外,还支持连续匹配。在下面的视频中,最初搜索 "src" 会匹配到 "resource"。当通过 Fuzzy Match 切换按钮禁用“模糊”匹配时,只有包含连续文本 "src" 的内容会被高亮显示。

列表按页滚动

一个新的设置 workbench.list.scrollByPage,允许您配置在直接点击滚动条时列表是否应按页滚动。

列表类型导航模式

新的 workbench.list.typeNavigationMode 设置允许您配置列表的类型导航模式。默认情况下(设置值为 automatic),输入时会在列表和树中进行导航。如果您希望仅在特定时间启用导航,可以将 typeNavigationMode 设置为 trigger,列表仅在运行 list.triggerTypeNavigation 命令后才会进入类型导航模式。

命令 list.triggerTypeNavigation 默认没有绑定快捷键,但您可以添加自己的。例如,如果您想在按下 / 键后进入类型导航模式,可以添加如下绑定:

{
  "key": "/",
  "command": "list.toggleKeyboardNavigation",
  "when": "listFocus"
}

打开大文件的新确认提示

为了防止意外打开超大文件,特别是在可能因网络传输而产生实际成本的远程环境中,打开文件前会显示确认提示。该限制可通过新的 workbench.editorLargeFileConfirmation 设置进行修改,并根据打开本地文件与远程文件有不同的默认值。

Large file confirmation shown for a 2GB package.json file

文件监视器支持 files.watcherExclude glob 模式

files.watcherExclude 设置支持 glob 模式,用于文件监视器的强大排除规则。然而,文件监视使用的库此前并未原生支持 glob 模式。在本里程碑中,我们 贡献 了对排除项 glob 模式的支持,以实现更高效的资源使用,特别是在 Linux 上。

对于 Linux,如果您看到文件监视问题,请参考此 FAQ 条目 以获取更多信息。

键盘快捷键编辑器改进

显示贡献快捷键的扩展

键盘快捷键编辑器现在在 Source 列中显示贡献快捷键的扩展。您可以选择扩展名以打开该扩展的详细信息页面。

Source column shows extensions contributing keybindings

您还可以使用扩展上下文菜单中提供的 Extension Keyboard Shortcuts 操作搜索任何由扩展贡献的快捷键。

Extension keyboard shortcuts action

显示 when 子句属性的上下文键建议

键盘快捷键编辑器现在为 when 属性显示上下文键建议。您可以使用 Ctrl+Space 快捷键来触发建议。

Context key suggestions for when clause property

搜索带有和弦 (chords) 的快捷键

键盘快捷键编辑器现在支持搜索带有和弦的快捷键。例如,"Ctrl+K" 也将显示所有以 Ctrl+K 为第一个和弦的快捷键。

配置 shell 环境解析超时的设置

一个新的设置 application.shellEnvironmentResolutionTimeout(仅限 macOS 和 Linux)允许您在需要时增加解析 shell 环境的超时时间。默认情况下,VS Code 最多等待 10 秒来解析环境,但在某些具有更复杂 shell 设置的情况下,这可能不够。

请参阅此 FAQ 条目 以获取有关 VS Code 如何解析 shell 环境的更多信息。

新的 VSCODE_RESOLVING_ENVIRONMENT 环境变量

当 VS Code 正在解析用户 shell 环境时,它现在会将一个新的环境变量 VSCODE_RESOLVING_ENVIRONMENT 设置为 1。这对于需要知道它们是否在解析 shell 环境的上下文中运行的用户脚本(例如在 .bashrc 中)非常有用。

更新后更容易关闭发布说明

您现在可以直接从发布说明编辑器中选择在每次更新后不再阅读发布说明。这将反映并更新 update.showReleaseNotes 设置。

There's a checkbox inside the release notes editor that allows the user to opt out reading release notes after every update

编辑器

建议选择模式

有一个新的设置 (editor.suggest.selectionMode),允许您配置建议是在键入时自动选择,还是通过触发字符进行选择。

默认是始终选择最佳建议,以便按下 EnterTab 键即可插入。如果您不想预选建议,请将值设置为 neverwhenQuickSuggestionwhenTriggerCharacter。使用这些设置值时,建议仍会显示但不会自动选中,您可以使用箭头键选择一个。

注意,此设置仅适用于自动建议,不适用于通过 Ctrl+Space 显式触发时显示的建议。

代码操作 (Code Action) 列表现在可滚动

一些扩展会生成长代码操作列表。如果空间不足以渲染所有代码操作,您现在可以滚动浏览列表。

颜色装饰限制

编辑器中显示的颜色装饰数量限制为 500 个。这是为了防止打开包含大量颜色的文件时出现性能问题。此限制现在可以通过 editor.colorDecoratorsLimit 设置进行配置。

CSS decorators shown in the editor

编辑器查找跳转到匹配

新的 Go To Match... 命令允许您在查找控件打开时,根据计数跳转到文件中的特定匹配项。当您有大量匹配项并想跳转到特定一个时,这很有用。

Go To Match... command

重新设计的内联建议工具栏

在本里程碑中,我们重新设计了内联建议工具栏,使其更加紧凑且易于使用。它具有用于快速循环切换备选建议以及逐字或完全接受建议的按钮。

在下面的视频中,用户审查了由 GitHub Copilot 提供的建议(在注释提示时触发),然后递增接受了第一个 console 以及下一个单词 console.log

The toolbar features buttons to quickly cycle through alternative suggestions and to accept a suggestion fully or word by word.

设置 "editor.inlineSuggest.showToolbar": "always" 可用于在内联建议可用时始终显示工具栏。

我们还添加了用于逐字接受/撤消建议的默认键盘快捷键 (Ctrl+Arrow Left/Arrow Right)。

终端

新的默认快捷键

添加了以下默认快捷键,以提高高级终端功能的可发现性:

转到最近的目录 - Ctrl/Cmd+G

Go to Recent Directory (⌘G (Windows, Linux Ctrl+G)) 会打开一个 Quick Pick,其中包含通过 shell 集成 获取的最近目录。它支持固定和模糊匹配。

Directories are presented in a Quick Pick, split up by the current and previous sessions.

选择此快捷键是因为 Ctrl+G 是一个使用率相对较低的 shell 快捷键。

向 shell 发送 Ctrl+G - Ctrl+Alt+G

由于 Ctrl+G 现在用于 Go to Recent Directory,使用 Ctrl+Alt+G 是向 shell 直接发送 Ctrl+G 的新方式。

运行最近的命令 - Ctrl+Alt+R

Run Recent Command (⌃⌥R (Windows, Linux Ctrl+Alt+R)) 会打开一个包含最近运行命令的 Quick Pick,其模型基于大多数 shell 的反向搜索 (Ctrl+R),但在更易于访问且功能更强的包中。它支持固定和模糊匹配。

Commands previously run are split up by current and previous sessions and also pulled in from the shell's history file

选择 ⌃⌥R (Windows, Linux Ctrl+Alt+R) 快捷键是因为它是 Ctrl+R 的替代行为,但该快捷键太重要,不能覆盖其默认行为。

无障碍模式覆盖

由于反向搜索对屏幕阅读器来说不太友好,当启用无障碍模式时,Ctrl+R 将触发 Run Recent Command,而 Ctrl+Alt+R 将向 shell 发送 Ctrl+R

© . This site is unofficial and not affiliated with Microsoft.