3 分钟
VSCode 1.81 (2023-07) 更新日志
本次更新看点速览
- 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
选项。这会将设置的值应用于所有Profiles。任何Profiles对此设置的任何更新都会应用于所有Profiles。
可以通过取消选中
Apply Setting to all Profiles
选项来恢复此改动。扩展 UI,设置按钮添加
Apply an extension to all profiles
选项这使得此扩展可在所有Profiles中使用。
可以通过取消选中
Apply an extension to all profiles
选项来恢复此状态。>Preferences: Open User Settings (JSON)
(IDworkbench.action.openSettingsJson
) 命令将打开当前使用的 Profiles 的 json 文件。>Preferences: Open Application Settings (JSON)
(IDworkbench.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
可以折叠未更改区域,可通过点击或拖动图标展示隐藏区域。差异区域算法,更好的处理文本不变仅缩进改变的场景。
之前
之后
新的差异算法已被设为默认,算法说明,参见:之前的发行说明。
diff 降噪,减少干扰。
之前
之后
新增
>Diff Editor: Switch Sides
命令,可以将 diff 编辑器的左右互换。更多参见 v1.80 预览特性中的说明。
终端 (Terminal)
内联终端选项卡中的自定义悬停
源代码版本控制 (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 的能力。
- 测试浏览器支持容错 pytest case 发现,可通过
其他,参见:原文。
扩展制作 (Extension authoring)
workbench.action.openSettingsJson
命令参数,添加revealSetting
,可以定位到指定的配置 Key 的位置。vscode.commands.executeCommand('workbench.action.openSettingsJson', { revealSetting: { key: 'editor.renderWhitespace' } });
新的 TestController.invalidateTestResults 方法,可以向用户展示那些测试结果已经不可用。
添加对使用 Kerberos 认证的网络代理的支持。
QuickPickItem 中图标 API 已确定,通过 iconPath 选项指定。
工程 (Engineering)
- 修改符号名缩小 JavaScript 代码体积,参见博客: Shrinking VS Code with name mangling。
- 更多 pty 主机改进,略,参见:原文。