5 分钟
VSCode 1.86 (2024-01) 更新日志
本次更新看点速览
- WARNING: Linux 最低要求更新:从此版本开始,VSCode 桌面仅与基于 glibc 2.28 或更高版本以及 glibcxx 3.4.25 或更高版本的 Linux 发行版兼容,例如 Debian 10、RHEL 8 或 Ubuntu 20.04 以上版本。这将导致 VSCode 远程开发(Remote SSH)无法连接到遗留的 Linux 平台 😞,临时非降级解决办法参见: https://github.com/rectcircle/patch-vscode-1-86-for-old-linux。
command + +
/command + -
窗口缩放的默认生效范围限制在当前窗口。自动保存行为优化:
可以为某个语言单独配置自动保存选项,例如:
{ "[markdown]": { "files.autoSave": "afterDelay" } }
新增
files.autoSaveWhenNoErrors
配置项,可在错误时禁用自动保存。新增
files.autoSaveWorkspaceFilesOnly
配置项,仅自动保存工作区文件。
允许仅禁用某个扩展的通知消息。
支持一键切换差异编辑器的左右。
输出面板
- 可通过
View: Toggle Word Wrap
(或option + z
) 切换自动换行。 - 在输出面板右上角溢出菜单 (三个点) 新增
Open Output in New Window
可以将会输出面板在新窗口中打开。
- 可通过
在 diff 编辑器中 review 多个文件:
源代码管理视图,右键上下文菜单可以关闭其他存储库。
新增
触发断点
(Triggered breakpoints) 类型,该类型断点可以配置在某个断点命中后,这个断点才会命中。按住 alt (option) 单击编辑器左侧运行测试的按钮,将以 debug 模式运行测试。
Accessibility
新增
accessibility.voice.keywordActivation
配置项。也可以通过Hey Code"
快速唤起 GitHub Copilot Chat (需安装 GitHub Copilot Chat 和 VS Code Speech 扩展)。
工作台 (Workbench)
编辑器拖拽出来作为独立的窗口后,重启 VSCode 将以关闭之前的位置和大小恢复这些窗口。
树视图中的粘性滚动特性默认开启。可通过
"workbench.tree.enableStickyScroll": false
配置项关闭,可通过workbench.tree.stickyScrollMaxItemCount
最大粘性行数。之前,按
command + +
/command + -
时,会缩放所有的窗口,现在这个快捷建的行为只会对当前窗口有效。如果仍想改变全局窗口的缩放,则可以通过修改window.zoomLevel
配置项实现。如果想将command + +
快捷键切换为旧的行为,可以修改window.zoomPerWindow
配置项。此外,当进行缩放后当前后,可通过状态栏图标修改。
自动保存行为优化:
可以为某个语言单独配置自动保存选项,例如:
{ "[markdown]": { "files.autoSave": "afterDelay" } }
新增
files.autoSaveWhenNoErrors
配置项,可在错误时禁用自动保存。新增
files.autoSaveWorkspaceFilesOnly
配置项,仅自动保存工作区文件。
允许仅禁用某个扩展的通知消息。
支持一键切换差异编辑器的左右。
使用 code 命令编辑标准输出时,默认会命令会自动退出,除非添加
--wait
命令,例如echo Hello World | code -
。新增
window.customTitleBarVisibility
配置项,可配置自定义标题栏可见性,详见:原文。新增
window.systemColorTheme
配置项,可以配置上下文菜单是 dark 还是 light 的行为。新增
window.confirmSaveUntitledWorkspace
配置项,控制切换到新的工作空间时,当前工作空间是未保存的时,是否弹窗保存。输出面板
- 可通过
View: Toggle Word Wrap
(或option + z
) 切换自动换行。 - 在输出面板右上角溢出菜单 (三个点) 新增
Open Output in New Window
可以将会输出面板在新窗口中打开。
- 可通过
code 命令,新增
--update-extensions
命令来更新已安装的扩展。Quick Pick 视图的 Hover 视图切换为自定义渲染,以提升展示速度。
在 diff 编辑器中 review 多个文件 (Review multiple files in diff editor)
- GitHub Pull Requests and Issues 扩展可通过
"githubPullRequests.focusedMode": "multiDiff"
配置项来使用 multiple files in diff editor 打开 PR。 - 在 github.dev 可以使用 multi-file diff editor 来 review 代码。
编辑器 (Editor)
新增
>Paste As...
命令可以将复制内容粘贴为 HTML 格式。
源代码版本控制 (Source Control)
Commit 消息输入框:
- 新增
scm.inputMinLineCount
配置项,可配置输入框的最小行数。 scm.inputMaxLines
配置项被重命名为scm.inputMaxLineCount
。可以使用语言特殊编辑器配置,配置Commit 消息输入框的行为,如:
"[scminput]": { "editor.rulers": [ 50, 72 ], "editor.wordWrap": "off" }
- 新增
源代码管理视图,右键上下文菜单可以关闭其他存储库。
Incoming/Outgoing changes improvements 略,详见:原文。
Ability to merge tags 略,详见:原文。
可通过
>Git: View Stash...
查看 stash 的 diff。Commit signing using SSH keys,略,详见:原文。
笔记本 (Notebooks)
- 支持拖拽到独立窗口。
- Built-in variable view。
- 粘性滚动。
详见:原文。
终端 (Terminal)
- 背景色显示在选中色的后面。
- 新增配置项
"terminal.integrated.mouseWheelZoom"
,支持通过滚轮缩放终端。 - 改进粘贴多行的警告,略,详见:原文。
- 文件定位输出支持
file://
协议,支持#<line>
格式定位到具体行。 - 新增终端语音指令,略,详见:原文。
任务 (Tasks)
- 新的
${/}
变量可以用来代替之前的${pathSeparator}
(用来拼比 unix 和 windows 的文件路径分隔符的差异)。
调试 (Debug)
新增
触发断点
(Triggered breakpoints) 类型,该类型断点可以配置在某个断点命中后,这个断点才会命中。新增
debug.closeReadonlyTabsOnEnd
配置项,在调试会话结束时关闭只读文件。
测试 (Testing)
- 按住 alt (option) 单击编辑器左侧运行测试的按钮,将以 debug 模式运行测试。
- Finalized TestRunProfile.isDefault/onDidChangeDefault APIs for extension authors,略,详见:原文。
语言 (Languages)
Markdown
markdown.editor.pasteUrlAsFormattedLink.enabled
新增默认值smartWithSelection
,仅在选中文本时并粘贴链接时触发自动生成 markdown 连接。- 新增
markdown.editor.filePaste.audioSnippet
配置项,可配置智能粘贴音频或视频文件的 URL 时生成代码的片段。
使用 Better-Less 作为默认的 Less 语法高亮。
使用 Go Syntax 作为默认的 Go 语法高亮。
远程开发 (Remote Development)
需要特别注意的是,由于 VSCode 的 Linux minimum requirements 更新,在旧版本的 (不满足 glibc 2.28 or later, and glibcxx 3.4.25 or later, such as Debian 10, RHEL 8, or Ubuntu 20.04.) 的 Linux 将无法进行远程开发。
临时非降级的解决办法参见: https://github.com/rectcircle/patch-vscode-1-86-for-old-linux 。
其他,略,详见:原文。
贡献到扩展 (Contributions to extensions)
- GitHub Copilot,详见:原文。
- Python:
- 扩展的 Debug 能力被抽离到 Python Debugger 扩展,该扩展将随 Python 扩展的安装自动安装,在 launch.json 中使用
"type": "debugpy"
使用新的调试器。 - 其他略,详见:原文。
- 扩展的 Debug 能力被抽离到 Python Debugger 扩展,该扩展将随 Python 扩展的安装自动安装,在 launch.json 中使用
- Jupyter,略,详见:原文。
- GitHub Pull Requests and Issues,略,详见:原文。
预览特性 (Preview Features)
- TypeScript 5.4 beta support,详见:原文。
快速搜索提升,
cmd+p
,% 关键字
,可点击右侧图标,在搜索视图查看。
API 提案 (Proposed APIs)
略,详见:原文。
已完成的 API (Finalized APIs)
略,详见:原文。