Skip to content

大家好,我是农村程序员,独立开发者,前端之虎陈随易。

欢迎关注,广交朋友,共创未来。

请注意:转载需保留以上内容。


北京时间 2024年12月12日凌晨3点13分,VSCode v1.96 终于千呼万唤始出来。

按照以往发布时间来说,一般是每个月初的3号发布新版本。由于国外感恩节的原因,本次将发布时间推迟到了10号。

笔者追更已经习惯了,10号晚上就一直盯着本次的版本发布,一直到11号晚上,也没有好消息传来。

临睡前,看了下发版进度,有不少平台的版本已经打包了,心想这下稳了,今天早上一起来,果然新版已经发布。

粗略看了一遍更新内容,好家伙,这次的好东西不少。

随着 cursor 和 windsurf 的强势出世,VSCode 迎来了前所未有的冲击。

它俩基于 VSCode 的开源版本,在 AI 编程方面,甩了 VSCode 几条街。

可谓是以子之矛攻子之盾的典范,眼看着用户流失巨大,VSCode 不慌是不可能的。

于是呢,在11月份,VSCode 举全团队之力,全力推进自己的 Copilot,这也是为什么 v1.95 版本,大部分更新都是 Copilot 的原因了。

那么这次的 v1.96 版本,也是 Copilot 为主,不过比起上一个版本,增加了不少其他的亮点内容。

还等什么呢,马上来看看,本次的更新内容吧!

提示:以下仅挑选部分亮点分享,更新详情请前往官网查看。


本次更新,Copilot 依旧是重中之中。

安装Copilot

进度和编辑器控制 ​

进度和编辑器控制

Cursor 的自动生成文件,自动写代码功能,现在 VSCode 也有了。

而且跟编辑器结合更加紧密,可以更直观地看到代码的生成过程,也可以自由控制是否接受还是放弃更改。

将聊天会话移至 Copilot Edits ​

可以使用聊天视图来探索一些更改代码的想法。

现在,可以将聊天会话移至 Copilot Edits 以应用会话中的所有代码建议,而不必应用单个代码块。

将聊天会话移至 Copilot Edits

快速添加文件 ​

快速添加文件

在 Copilot Edits 中,工作集决定了 Copilot Edits 可以建议更改的文件。

为了帮助将相关文件添加到工作集,对于 Git 存储库,Copilot Edits 现在可以根据已添加的文件建议其他文件。

例如,Copilot Edits 将建议经常与已添加的文件一起更改的文件。

Copilot 在工作集中的 “添加文件” 按钮旁边显示建议的文件。

还可以选择 “添加文件”,然后选择 “相关文件”,从建议的文件列表中进行选择。

重启后恢复编辑会话 ​

重启 VS Code 后,编辑会话现在可完全恢复。

这包括工作集、接受状态以及所有过去编辑步骤的文件状态。

从资源管理器、搜索和编辑器添加到工作集 ​

可以使用新的 “将文件添加到 Copilot Edits” 上下文菜单操作,将文件添加到 Copilot Edits 工作集中,该操作适用于搜索视图中的搜索结果和资源管理器视图中的文件。

此外,您还可以从编辑器上下文菜单中将文本选择附加到 Copilot Edits。

添加到工作集

使用 Copilot 进行调试 ​

使用 Copilot 进行调试

当调试一个不熟悉的编程语言时,我们可能会无从下手。

本次更新,提供了一个 copilot-debug 命令,可以自动开启调试,并检测和推荐你要安装的插件。

任务支持 ​

Copilot 的调试功能 (包括 copilot-debug 和 /startDebugging 意图) 现在可以根据需要在调试前进行编译步骤的代码生成 preLaunchTasks。

对于编译语言 (例如 Rust 和 C++) 来说,情况通常如此。

拖动符号和文件到 Copilot ​

拖动符号

将符号拖动到 Copilot Chat 和 Copilot Edits 中。

拖动文件

将文件拖动到 Copilot Chat 和 Copilot Edits 中。

Copilot 使用情况图表 ​

VS Code 扩展程序可以使用 VS Code API 来构建 Copilot 的功能。

您现在可以在运行时状态视图中看到扩展程序的 Copilot 使用情况图表。

此图表显示了扩展程序在过去 30 天内发出的聊天请求数量。

Copilot 使用情况图表

提交消息生成的自定义指令 ​

Copilot 可以根据所做的更改生成提交消息。

在本次更新中,在生成提交消息时添加了对自定义指令的支持。

例如,如果提交消息需要遵循特定格式,可以在自定义指令中对此进行描述。

可以使用 github.copilot.chat.commitMessageGeneration.instructions 设置来指定自定义指令,或者从工作区中指定包含自定义指令的文件,这些指令将附加到用于生成提交消息的提示中。

内联聊天 ​

内联聊天

在本次更新中,进一步改善了内联聊天的用户体验:使进度报告更加细致,同时流式传输更改波浪线被禁用,并且检测到的命令呈现得更加美观。

当一行内容主要是自然语言时,会显示提示继续进行在线聊天。

此功能允许在编辑器中输入伪代码,然后将其用作在线聊天的提示。

也可以通过按 Ctrl+I 来触发此流程。

此外,还有一项新的实验性设置,可使内联聊天提示出现在空行上。

此设置可通过 inlineChat.lineEmptyHint 启用,默认情况下,此设置处于禁用状态。

终端 Chat ​

终端内联聊天有了全新的面貌,使外观和感觉更接近编辑器内联聊天:

终端Chat

  • 小部件的布局和定位得到了改进,总体表现更好。
  • 有一个模型选择器。
  • 底部的按钮现在更加一致。

增强扩展搜索结果 ​

已安装的扩展显示在顶部

现在搜索扩展,已安装的扩展将会显示在顶部。

下载扩展不安装 ​

下载扩展不安装

现在可以直接下载扩展,而不进行安装。

扩展占用磁盘空间 ​

扩展占用磁盘空间

现在可以在扩展的介绍页右侧,查看该扩展的磁盘和缓存占用。

查找文件增强 ​

查找文件增强

上一个版本中,查找文件是没有高亮的,本次更新将会高亮文件名中查找的字符。

同时,如果该目录下存在要查找的文件,则会在右侧显示匹配的文件数量。

在主副面板快速移动 ​

在主副面板快速移动

现在在图标右击,可以选择将面板移动到侧边栏或主侧栏。

隐藏标题栏导航箭头 ​

隐藏标题栏导航箭头

通过 workbench.navigationControl.enabled 配置,或者在标题栏右击,可以选择是否隐藏箭头导航。

新增 Overtype 模式 ​

Overtype 模式

根据大家的普遍要求,本次更新添加了改写模式,以便在编辑器中改写文本,而不是在输入时插入文本。

一个有用的场景是编辑 Markdown 表格时,希望表格单元格边界保持对齐。

可以使用命令 View: Toggle Overtype/Insert Mode 切换此模式。

当处于改写模式时,状态栏会显示 OVR 指示器。

此外,还有一个设置 editor.overtypeOnPaste,它决定在改写模式下粘贴是应该覆盖还是插入,默认行为是插入粘贴的文本。

git blame ​

git blame

就算不依靠第三方插件,也可以显示当前行的修改者了。

使用 git.blame.editorDecoration.enabled 和 git.blame.statusBarItem.enabled 设置启用此功能。

也可以通过 git.blame.editorDecoration.template 自定义展示的格式。

json
{
    "git.blame.editorDecoration.template": "${subject}, ${authorName} (${authorDateAgo})"
}

源码控制增强 ​

git操作

现在,可以直接在源码控制面板,通过按钮拉取和推送代码。

终端支持连字 ​

终端支持连字

通过 terminal.integrated.fontLigatures 配置启用。

不够,也需要连字的字体才行,通过 terminal.integrated.fontFamily 参数设置连字字体。

TypeScript 5.7 ​

现在,VSCode 内置了 TypeScript 5.7 版本,提供更多更强的特性和功能。

预安装扩展 ​

  1. 在 VSCode 的安装目录下,创建 bootstrap\extensions 目录。
  2. 将 vsix 格式的扩展放到此目录下。
  3. VSCode 启动时,将会自动安装此目录下的所有扩展。

这个对于在一个新环境,或者无网环境安装扩展比较有用。

chat 开发工具 ​

可以用 @vscode/chat-extension-utils 工具来开发基于 Copilot 的聊天扩展。

该包还包含一组有用的高质量元素,可与 @vscode/prompt-tsx 一起使用。

可以在 chat-extension-utils 存储库中查看完整文档,并在示例聊天扩展中查看它的实际操作。

GPU 加速 ​

GPU 加速可以提高编辑器整体性和滚动性能,目前这个功能还处于计划中,可以预料,未来的 VSCode 性能和体验将会进一步提升。


感谢阅读,本文由编程记者 前端之虎陈随易 撰稿,转载请保留顶部信息。

何以解忧,唯有代码。不忘初心,方得始终。