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

本次更新看点速览

  • markdown 编辑器 markdown.editor.pasteUrlAsFormattedLink.enabled 配置添加 smart 可以更好的处理 url 粘贴。
  • 更好的 diff 编辑器体验,使用 "diffEditor.experimental.useVersion2": true 配置项开启。
  • Python,测试编辑器启用支持容错的 pytest case 发现,提高 pytest 测试 case 扫描的成功率。
  • 更多的 pty 性能提升。
  • 扩展制作:
    • workbench.action.openSettingsJson 可定位到指定配置。
    • QuickPickItem 添加对图标的支持。

无障碍 (Accessibility)

Profiles

  • 支持创建仅包含部分内容的Profiles,那么这个Profiles使用后,该Profiles不包含的配置将使用 VSCode 的默认值。
  • 设置编辑器 UI 配置项设置按钮添加 Apply Setting to all Profiles 选项。

    image

    这会将设置的值应用于所有Profiles。任何Profiles对此设置的任何更新都会应用于所有Profiles。

    可以通过取消选中 Apply Setting to all Profiles 选项来恢复此改动。

  • 扩展 UI,设置按钮添加 Apply an extension to all profiles 选项

    image

    这使得此扩展可在所有Profiles中使用。

    可以通过取消选中 Apply an extension to all profiles 选项来恢复此状态。

  • >Preferences: Open User Settings (JSON) (ID workbench.action.openSettingsJson) 命令将打开当前使用的 Profiles 的 json 文件。>Preferences: Open Application Settings (JSON) (ID workbench.action.openApplicationSettingsJson) 命令将打开应用程序粒度的配置文件(即默认 profiles)。

工作台 (Workbench)

  • 在 VSCode 存在月度更新时,可通过左下角齿轮图标 Show Update Release Notes 菜单项,在更新之前预览发行说明。

编辑器 (Editor)

  • markdown.editor.pasteUrlAsFormattedLink.enabled 配置项添加一个 smart 选项,该选项可以根据上下文只能判断是否生成一个 [](),比如一个连接粘贴在一个形如 [abc]() 的小括号里面,则不会再生成一个 []()
  • 异步文档标记化,修复了一些 bug,可以通过 editor.experimental.asyncTokenization 配置项尝鲜启用。未来将会逐步设为默认。

diff 编辑器 (Diff editor)

  • diff 编辑器 v2 版本可通过 "diffEditor.experimental.useVersion2": true 尝鲜使用。
  • 折叠未更改的区域,通过 diffEditor.experimental.collapseUnchangedRegions 可以折叠未更改区域,可通过点击或拖动图标展示隐藏区域。

    image

  • 差异区域算法,更好的处理文本不变仅缩进改变的场景。

    之前

    image

    之后

    image

  • 新的差异算法已被设为默认,算法说明,参见:之前的发行说明

  • diff 降噪,减少干扰。

    之前

    image

    之后

    image

  • 新增 >Diff Editor: Switch Sides 命令,可以将 diff 编辑器的左右互换。

  • 更多参见 v1.80 预览特性中的说明。

终端 (Terminal)

  • 内联终端选项卡中的自定​​义悬停

    image

源代码版本控制 (Source Control)

  • 支持位于符号链接路径中的 git 库,更多参见:原文

调试 (Debug)

  • JavaScript 调试器支持使用 fnm 来切换 NodeJS 版本(通过 runtimeVersion 配置的)。

笔记本 (Notebooks)

  • 支持对关闭的 Notebook 的富文本进行搜索。
  • 改进了大型流输出的性能。
  • 粘性滚动的支持。
  • 更多参见:原文

VS Code for the Web

  • vscode.dev 现在始终加载最新版本的内置扩展。这意味着当您打开 vscode.dev 时,您将不再看到 “需要重新加载” 通知以将内置扩展更新到最新版本。

远程开发 (Remote Development)

略,参见:原文

贡献到扩展 (Contributions to extensions)

  • GitHub Copilot,略,参见:原文
  • Python

    • 测试浏览器支持容错 pytest case 发现,可通过 pythonTestAdapter 配置项启用或退回。
    • 调试器配置,args 参数可以配置 ${command:pickArgs},以实现在启动调试时动态填写命令行参数的能力。

    • 调试器提供了 NodeJS 扩展 API 包,@vscode/python-extension,第三方开发者可以扩展 Python 的能力。

  • 其他,参见:原文

扩展制作 (Extension authoring)

  • workbench.action.openSettingsJson 命令参数,添加 revealSetting,可以定位到指定的配置 Key 的位置。

    vscode.commands.executeCommand('workbench.action.openSettingsJson', {
        revealSetting: { key: 'editor.renderWhitespace' }
    });
    
  • 新的 TestController.invalidateTestResults 方法,可以向用户展示那些测试结果已经不可用。

  • 添加对使用 Kerberos 认证的网络代理的支持。

  • QuickPickItem 中图标 API 已确定,通过 iconPath 选项指定。

    image

工程 (Engineering)