5 分钟
VSCode 1.74 (2022-11) 更新日志
本次更新看点速览
- 资源浏览器自动跳转,支持通过
explorer.autoRevealExclude
配置项,细粒度的配置哪些文件不自动跳转,这对于node_modules
之类的文件特别有用,之前一不小心跳转过去,大量的node_modules
会被展开导致的体验问题。 - 新增
editor.indentSize
配置项,支持配置缩进的数目,这在使用了 tab 且使用空格进行缩进且 tab 的展示长度和缩进空格不一致的场景。 Remote Tunnels 已作为一个预览特性添加 VSCode 稳定版中。
- 具体操作为:在个人电脑中,下载安装 VSCode 桌面版。点击左下角账户图标,点击打开远程隧道访问,按照提示操作即可。
- 命令行方式:
- 运行
code tunnel --accept-server-license-terms
,或者通过。 - 打开 https://github.com/login/device,输入命令行输出的 8 位设备码,进行授权。
- 授权后,在浏览器中打开
https://vscode.dev/tunnel/ecstatic-bunting/打开的目录
(终端中会输出)。 - 后面即可通过任意设备通过浏览器,访问这台个人电脑的 VSCode Server(类似远程多面)。
- 除了通过 VSCode 桌面版的 code 命令外,还支持通过独立 VS Code CLI (打开链接选择CLI)、 code-server CLI。
- 运行
- 除了通过浏览器的 vscode.dev 访问外,还可以通过 Remote - Tunnels 扩展,使用 VSCode 桌面客户端访问。
- 更多参见: blog | doc。
扩展制作
辅助功能 (Accessibility)
- 音频提示
- Notebook 运行完成后,支持成功或失败音频提示。
- diff review 模式下的音频提示,当
Go to Next Difference
被触发时,将播放特定音频,以指示光标是在新增行还是删除行中。 - 通过
Help: List Audio Cues
命令可以查看所有音频提示。
设置编辑器键盘可导航型提升。
工作台 (Workbench)
资源浏览器自动跳转,支持通过
explorer.autoRevealExclude
配置项,细粒度的配置哪些文件不自动跳转,这对于node_modules
之类的文件特别有用,之前一不小心跳转过去,大量的node_modules
会被展开导致的体验问题。默认配置为:{ "explorer.autoRevealExclude": { "**/node_modules": true, "**/bower_components": true } }
支持通过右键活动栏图标,选择上下文菜单的 Hide Badge,隐藏其的数字徽章。
修复合并编辑器的一些 bug,重点参见:原文。
添加
Developer: Install Extension from Location...
命令,支持选择磁盘中的.vsix
文件进行安装。
编辑器 (Editor)
- 自动换行配置
editor.wordBreak
可以配置 CJK 末尾不自动换行。 - 对某些较新的支持调轴的(可变字体,博客) OpenType 字体,添加配置。新增
editor.fontVariations
、editor.fontVariations
配置。具体参见:原文。 新增
editor.indentSize
配置项,支持配置缩进的数目,这在使用了 tab 且使用空格进行缩进且 tab 的展示长度和缩进空格不一致的场景,一个例子如下:"editor.detectIndentation": false, "editor.insertSpaces": true, "editor.tabSize": 8, "editor.indentSize": 2
新增
Accept Next Word Of Inline Suggestion
配置项,参见:原文。
源代码控制 (Source Control)
- 自 git 2.35.2 起,在非当前用户为 owner 的目录下将禁止操作。当 VSCode 打开这类非安全的 git 仓库时,会在源代码管理视图显示 Welcome 视图,并展示错误通知。在 UI 和通知中,可以通过
Manage Unsafe Repositories
来管理这些仓库,这些将存储到 git 中的safe.directory
配置中。 - git UI 乐观更新,某些 git 命令操作,VSCode 的 UI 将立即成功,命令将在后台执行,这在某些大型仓库可能比较有用。可以通过
git.optimisticUpdate
关闭该特性。 - Action 按钮交互提升。按钮的标签展示底层指定命令,并添加进度动画。
终端 (Terminal)
终端快速修复提升,UI 和编辑器保持一致。
终端下拉列表,添加 Run Task 和 Configure Tasks 菜单项。
远程开发 (Remote Development)
Remote Tunnels 已作为一个预览特性添加 VSCode 稳定版中。
- 具体操作为:在个人电脑中,下载安装 VSCode 桌面版。点击左下角账户图标,点击打开远程隧道访问,按照提示操作即可。
- 命令行方式:
- 运行
code tunnel --accept-server-license-terms
,或者通过。 - 打开 https://github.com/login/device,输入命令行输出的 8 位设备码,进行授权。
- 授权后,在浏览器中打开
https://vscode.dev/tunnel/ecstatic-bunting/打开的目录
(终端中会输出)。 - 后面即可通过任意设备通过浏览器,访问这台个人电脑的 VSCode Server(类似远程多面)。
- 除了通过 VSCode 桌面版的 code 命令外,还支持通过独立 VS Code CLI (打开链接选择CLI)、 code-server CLI。
- 运行
- 除了通过浏览器的 vscode.dev 访问外,还可以通过 Remote - Tunnels 扩展,使用 VSCode 桌面客户端访问。
- 更多参见: blog | doc。
调试 (Debugging)
- JavaScript 调试
- 支持 console.profile。
- 支持 嵌套 sourcemaps。
- 调试配置
serverReadyAction
添加killOnServerStop
,参见:原文。
在 Call Stack 视图,有多个不同类型的调试会话。当焦点位于调试会话上时,breakpoints 视图将正确展示 Exception breakpoints 选中情况。
评论 (Comments)
- 通过
comments.visible
可以配置评论的默认可见性。这个配置不影响Comments: Toggle Editor Commenting
命令。 命令视图添加数字 badge,展示未解决的评论数目。
任务 (Tasks)
- Problem matcher ‘search’ file location method,参见:原文。
语言 (Languages)
- 带来 TypeScript 4.9
- JavaScript 和 TypeScript支持通过 return 关键字,按 F12,跳转到函数定义。
笔记本 (Notebooks)
- Kernel picker experiment: most recently used kernels,参见:原文。
VS Code for the Web
贡献到扩展 (Contributions to extensions)
- Jupyter,参见:原文。
- Remote Development extensions。
- Dev Container 支持 GPU。
- Dev Container Cygwin / Git Bash 套接字转发
- 通过 Remote - Tunnels 扩展,可以无需 SSH 即可连接到远程主机。
- 更多参见:原文。
- GitHub Pull Requests and Issues,更多参见:原文。
预览特性
- Profiles,可通过
workbench.experimental.settingsProfiles.enabled
开启,更多参见:原文。 - 扩展签名和验证,参见:原文。
- Python execution in the Web,参见:原文。
扩展制作 (Extension authoring)
- 声明的扩展贡献的隐式激活事件,更多参见:原文。
- Log output channel,支持日志级别,更多参见:原文。
- Consistent origin for all webviews,参见:原文。
- 扩展 README 支持
<video>
,更多参见:原文。 - Comment thread additional actions,参见:原文。
- vsce 被重命名为 @vscode/vsce,更多参见:原文。
调试适配器协议 (Debug Adapter Protocol)
参见:原文。