5 分钟
VSCode 1.97 (2025-01) 更新日志
本次更新看点速览
GitHub Copilot 预览下一个编辑建议 (Copilot NES) 特性(使用
github.copilot.nextEditSuggestions.enabled
配置项开启)。Copilot Edits 在已正式发布。
命令面板和快速输入窗口可拖拽。
输出面板支持过滤和聚合。
对于 GitHub 仓库,在 Git blame 悬停窗口中,添加在 GitHub 中打开的按钮。
终端默认支持连字字体。
关闭最后一个终端后,是否自动关闭面板,可通过
terminal.integrated.hideOnLastClosed
配置项配置。通过
⌥⌘F
在调试变量视图过滤和搜索变量名和值。VSCode Remote 对 Linux Legacy 服务器(GLIBC < 2.28 或 LIBSTDC++ < 3.4.25)的支持即将结束,到 v1.99 版本后,将不再支持。
GitHub Copilot
Copilot 下一个编辑建议(预览)(Copilot NES),使用
github.copilot.nextEditSuggestions.enabled
配置项开启,可以通过 tab 快速接受,并触发下一个建议。详见:文档。Copilot Edits 在已正式发布。
改进编辑器控制控件,切换到并排视图时,编辑器控件的编辑控制仍然可见。
新增
chat.editing.autoAcceptDelay
配置项,可配置自动接受建议的延迟时间,编辑器控制将展示自动接收的进度。
在编辑器中应用改进:
悬停显示了文件块的生成文件路径。
如果代码块是针对不存在的文件,则会提示在哪里创建文件。这可以处于 Copilot,无标题编辑器中建议的文件路径,也可以是在当前活动的编辑中。
计算和应用更改时,使用和 Copilot Edits 相同的 UI。
时间上下文在编辑或生成代码时会有所帮助,通过告知语言模型有关您最近与之交互的文件。正在实验和衡量其有效性,可以通过
github.copilot.chat.editor.temporalContext.enabled
和github.copilot.chat.edits.temporalContext.enabled
开启。工作区索引状态 UI。
构建远程工作区索引。
工作区搜索改进,详见:原文。
git 更改上下文变量,在编写聊天或编辑查询时,您现在可以使用
#changes
上下文变量在GIT源控制中修改的文件。例如:总结我工作区中的 #changes
。可用模型新增:
OpenAI’s o3-mini
和Gemini 2.0 Flash
。
无障碍 (Accessibility)
略,详见:原文。
工作台 (Workbench)
命令面板和快速输入窗口可拖拽。
信任扩展发布者,当第一次从发布者中安装扩展名时,您现在将看到一个对话框,以帮助您评估扩展发布者的可信度。此功能有助于确保您只能从受信任来源安装扩展,从而增强开发环境的安全性。
也可以通过
>Extensions: Manage Trusted Extensions Publishers
管理扩展信任情况。输出面板过滤。
日志聚合查看。日志分布在多个日志中,现在,可以在单个复合日志视图中查看多个日志。
输出面板移除菜单添加:导出和导入日志功能。
设置编辑器搜索问题修复,详见:原文。
扩展过滤能力增强增强,新增
@outdated
和@recentlyUpdated
。支持 SVG 图像预览。
vscode cli 添加
--remove
参数,支持从 multi-root 工作区中移除文件夹。code --remove /path/to/rootfolder
编辑器 (Editor)
替换空间,输入历史持久化,可通过
editor.find.replaceHistory
配置项关闭。评论。
- 关闭未提交的评论时二次确认,可通过
comments.thread.confirmOnCollapse
配置项关闭。 - 评论编辑器中的快速操作。
- 关闭未提交的评论时二次确认,可通过
源代码版本管理 (Source Control)
Git blame 信息。在状态栏中显示正在编辑的 git blame 信息,并改进了悬停在编辑器装饰或状态栏项目上时所显示的信息。可通过
git.blame.statusBarItem.enabled
配置项启用。可通过 git.blame.editorDecoration.enabled 配置项启用。对于 GitHub 仓库,在 Git blame 悬停窗口中,添加在 GitHub 中打开的按钮。
在悬停窗口中,展示作者头像,可通过
github.showAvatar
配置项关闭。在源代码管理图视图上下文菜单添加 Checkout、删除分支、删除标签。
笔记本 (Notebooks)
内联显示 Cell 执行值。
Markdown Cell 支持自定义字体,可通过
notebook.markup.markdown.fontFamily
配置。
终端 (Terminal)
- 字体连字特性默认启用。
- 通过
terminal.integrated.fontLigatures.enabled
配置项开启字体连字(需通过terminal.integrated.fontFamily
配置支持连字的字体)。 - 光标选中时,连字将会禁用。
- 通过
terminal.integrated.fontLigatures.featureSettings
配置项,透传给 font-feature-settings CSS 属性。 - 在 VSCode 使用的库识别连字不支持时,可以使用 terminal.integrated.fontLigatures.fallbackLigatures 手动设置连字的字符序列。
- 通过
支持 ConEmu 的进度展示控制字符
ESC ] 9 ; 4
,并支持通过${progress}
展示到终端标题(terminal.integrated.tabs.title
)和描述(terminal.integrated.tabs.description
)中。终端开启粘性滚动时(
terminal.integrated.stickyScroll.enabled
配置项),将在结尾显示省略号。
- 关闭最后一个终端后,是否自动关闭面板,可通过
terminal.integrated.hideOnLastClosed
配置项配置。
任务 (Tasks)
${columnNumber}
列表变量可以在 tasks.json 和 launch.json 中使用。全部变量,详见:文档。
调试 (Debug)
通过
⌥⌘F
在调试变量视图过滤和搜索变量名和值。改进调试控制台的选中体验。
JavaScript 调试器。可以使用
>debug: Pretty Print
命令,将正在调试的 JavaScript 文件进行格式化并定位到断点的行。
语言 (Languages)
- 发布 TypeScript 5.7.3,详见: 官方文档。
Markdown
预览页,图片右击可在新窗口打开。
Markdown 链接验证将展示到状态栏。
新的 Ruby 语法高亮语法。
远程开发 (Remote Development)
VSCode 正在快速接近对 Linux Legacy 服务器的支持结束。 VSCode v1.98(2025年2月)将是支持 Linux 遗留服务器的最后一个版本(支持 GLIBC < 2.28 或 LIBSTDC++ < 3.4.25)的版本。到 v1.99,无法再连接到这些服务器。
贡献到扩展 (Contributions to extensions)
- Microsoft Account,略,详见:原文。
Python
从终端一键打开 VSCode 原生 REPL(通过
python.terminal.shellIntegration.enabled
配置开启)。无配置调试,详见:原文。
Test 发现取消。
跳转到实现。
AI Code Action: Generate Symbol (Experimental),详见:原文。
GitHub Pull Requests and Issues,略,详见:原文。
预览特性 (Preview Features)
- Copilot Edits 新增实验性的代理模式。在代理模式,Copilot 会端到端的,自动的,搜索工作区上下文,编辑文件,执行终端命令,检查错误,目前在灰度中,可在 VSCode Insiders 中体验。详见:原文。
- 代理的代码仓库搜索,通过
github.copilot.chat.edits.codesearch.enabled
配置项开启。代理的代码仓库搜索指的是在 Copilot Edits 中添加#codebase
指令时,使用其他工具搜索代码(如:文件、文本、git 状态、目录),而不是仅仅语义搜索。 - 在 VSCode Insiders 中预览, Copilot 视觉,可给 Copilot 发送图片。详见:原文。
- 可重复使用的提示词,详见:原文。
- Linux 平台自定义标题栏,详见:原文。
- TypeScript 5.8 beta 支持,详见:原文。
- 终端完成支持更多 Shell,详见:原文。
- 基于 Tree-Sitter 的语法高亮,通过
editor.experimental.preferTreeSitter
配置开启 TypeScript 的实验性支持。与 TextMate grammars 相比,Tree-Sitter 性能更好,准确性更高(具体可以看 Zed 以及 Tree-Sitter 核心贡献者的文章 Enabling low-latency, syntax-aware editing using Tree-sitter)。
扩展制作 (Extension Authoring)
- 文档粘贴 API,详见:原文。
OpenDialogOptions
的openLabel
属性在简单文件选择器中支持(简单文件选择器可通过files.simpleDialog
配置项启用),详见:原文。- 文件层级评论 API,详见:原文。
API 提案 (Proposed APIs)
工程 (Engineering)
- Housekeeping,年末清理一波 Issue。
- 优化 TypeScript 工作区中 Watch 文件的资源占用。