https://code.visualstudio.com/updates/v1_88

本次更新看点速览

  • 通过设置 workbench.activityBar.locationbottom,可以将活动栏移动到侧边栏底部。

    image

  • 快速选择列表中,按住 cmd + 上下,可以快速跳转到下一个分隔符。

  • 更新扩展后,现在可以重新启动扩展,而不必重新加载窗口(连接到 WSL 或 SSH 或 Dev Container 等远程服务器时,您仍然需要重新加载窗口来更新扩展)。

    image

  • 按 F2 进行符号重命名时,可以按 cmd + enter 可以进行预览。鼠标 hover 或聚焦到重构选项上时,按 cmd + enter 可以进行预览。

  • 文件浏览器,新增传入更改装饰,以更早的避免冲突。

    image

  • 测试覆盖率支持。

    • 测试浏览器添加 run-with-coverage 按钮。

      image

    • 测试浏览器添加测试覆盖率视图,通过 >Toggle Inline Coverage 命令,可以将覆盖信息展示到代码上。

      image

  • cmd + p, 键入 issue,选择一个扩展,即可通过填写一个表单,快速给指定插件的 github 提交一个 issue。

无障碍 (Accessibility)

  • 语音输入触发时的提示音(语音输入功能可通过按住 cmd+option+v 触发,或 >Voice: Start Dictation in Editor 命令触发,上个版本引入)。
    • accessibility.signals.voiceRecordingStarted 配置项可以配置,当打开语音输入的时候是否播放提示音。
    • accessibility.signals.voiceRecordingStopped 配置项可以配置,当关闭语音输入的时候是否播放提示音。
  • 改进了 diff 编辑器的可访问性,略,详见原文
  • 可访问的查看聊天代码块命令,略,详见原文
  • 笔记本单元 aria 标签更新,略,详见原文

工作台 (Workbench)

  • 浮动窗口支持自定义编辑器(如 markdown 预览等),对于基于技术原因,窗口拖拽出来后状态可能会重置。

  • 编辑器的标题支持通过 blob 模式匹配重新,并通过 ${filename}, ${extname}, ${dirname}, ${dirname(N)} 重新自定义,相关配置项为 workbench.editor.customLabels.patternsworkbench.editor.customLabels.enabled

  • 通过 >View: Toggle Locked Scrolling Across Editors 命令,可以设置所有跨编辑器滚动锁定(可以通过状态栏按钮取消)。

  • 通过设置 workbench.activityBar.locationbottom,可以将活动栏移动到侧边栏底部。

    image

  • 通过 search.searchEditor.singleClickBehaviour 可以配置搜索编辑器的鼠标单击行为为 Peek Definition (使用内联编辑器打开文件的当前行)。

  • 快速搜索提升。

    • 文件路径分割符粘性滚动。

    • 鼠标悬浮或聚焦到到文件路径分割符上,会展示打开文件按钮,点击后会打开该路径。

  • 快速选择列表中,按住 cmd + 上下,可以快速跳转到下一个分隔符。

  • 多选类型的快速选择的选项,支持配置为禁用操作(用于表达,用户无法操作的默认选中或默认不选中)。

    image

  • 扩展更新改进

    • 更新扩展后,现在可以重新启动扩展,而不必重新加载窗口(连接到 WSL 或 SSH 或 Dev Container 等远程服务器时,您仍然需要重新加载窗口来更新扩展)。

      image

    • 当启用扩展自动更新时,VSCode 现在会更新与可更新的 VSCode 较新版本兼容的扩展。如果新版本的扩展与当前版本的 VS Code 不兼容,则只有在更新 VS Code 后才会启用新版本的扩展。

  • 当评论允许回复时,评论视图中评论线程的上下文菜单现在包含恢复操作。这使您能够快速跳转到回复输入框并开始输入回复。

    image

编辑器 (Editor)

  • 小地图区域标题,以 TypeScript 为例,通过 //#region xxx 标记的区域,会在小地图区域显示出来,以方便浏览文件时快速定位

    image

  • 按 F2 进行符号重命名时,可以按 cmd + enter 可以进行预览。鼠标 hover 或聚焦到重构选项上时,按 cmd + enter 可以进行预览。

  • 差异编辑器现在有一个单独的用于 Stage 和 Revert 控件的装订线。这些操作能够暂存或恢复更改的代码块。

    image

  • 重命名可以提供建议。

    image

源代码版本控制 (Source Control)

  • 文件浏览器,新增传入更改装饰,以更早的避免冲突。

    image

终端 (Terminal)

  • 调试终端 Shell 集成已自动启用,更多参见 Shell 集成
  • 运行最近的命令改进。shell 集成支持的运行最近命令 (⌃⌥R) 现在会滚动到并显示上次运行该命令的时间(如果可能)。运行命令或取消快速选择会将终端返回到之前的状态。

  • 打开检测到的链接改进。打开检测到的链接命令 (⇧⌘G) 现在可以在编辑器中预览链接结果,并在终端中突出显示链接源。

    此外,重复的链接现在已从列表中过滤掉,并且所有链接都以一致的格式呈现。

    image

  • 单词链接的附加上下文。

    image

  • 新的链接格式, FILE path:line:column

  • 终端粘性滚动支持透明度颜色主题配置项 terminalStickyScroll.background

测试 (Testing)

  • 测试覆盖率支持。

    • 测试浏览器添加 run-with-coverage 按钮。

      image

    • 测试浏览器添加测试覆盖率视图,通过 >Toggle Inline Coverage 命令,可以将覆盖信息展示到代码上。

      image

    • 关于测试覆盖率 API 参见:Testing API 文档 - 测试覆盖率章节

  • 测试消息中的颜色代码支持。

  • Color code support in test messages,详见:原文

语言 (Languages)

  • 集成 TypeScript 5.4 版本,详见:原文
  • 在 Markdown 中更智能地插入图像和链接。

笔记本 (Notebooks)

略,详见原文

远程开发 (Remote Development)

略,详见原文

贡献到扩展 (Contributions to extensions)

  • VS Code Speech
    • 延迟激活,仅在 VSCode 中请求语音转文本服务时激活。
    • 使用显示语言作为默认语音语言。
  • GitHub Copilot,略,详见原文
  • Python
    • 创建调试配置时,改进了对 Flask 和 DJANGO 项目的识别。
    • 支持 HATCH 类型环境识别。
    • PIPENV、PYENV 和 POETRY 项目的自动环境选择,对于 pyenv,扩展会查看 .python-version 文件以自动为工作区选择适当的解释器。
    • 报告问题命令的改进,略,详见原文
  • GitHub Pull Requests,略,详见:原文
  • Jupyter,略,详见:原文

扩展制作 (Extension authoring)

  • cmd + p, 键入 issue,选择一个扩展,即可通过填写一个表单,快速给指定插件的 github 提交一个 issue。

预览特性 (Preview Features)

  • Rescaling overlapping glyph in the terminal,参见:原文
  • 本地工作区扩展,支持将扩展安装到 .vscode/extensions 目录中,更多详见:原文

API 提案 (Proposed APIs)

略,详见:原文

工程 (Engineering)

  • Electron 更新至 28。此更新附带 Chromium 120.0.6099.291 和 Node.js 18.18.2。