Skip to content

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

如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连 (点赞评论转发),给我一些支持和鼓励,谢谢。


大家好,我有多重人格,2025年3月5日半夜三更,VSCode v1.98发布了,我的行业观察员 - 前端记者人格马上就上线了。

马上来盘点一下,本次的更新内容吧。

Agent 模式增强(预览版)

用过AI编程软件的都知道,目前主要有3种模式:

  1. Chat(聊天)模式。
  2. Edit(编辑)模式。
  3. Agent(代理)模式。

那么现在Agent模式做了以下增强:

  1. 终端命令现在以内联方式显示,因此您可以跟踪运行的命令。
  2. 您可以在运行聊天响应之前编辑建议的终端命令。
  3. 使用 Ctrl+Enter 快捷键确认终端命令。

不过目前Agent模式仅在VSCode开发版可用,要体验它,需要前往https://code.visualstudio.com/insiders下载安装。

Copilot Edits 中的笔记本支持(预览版)

提示:这里的笔记本,指的是.ipynb文件。

现在,可以使用 Copilot 编辑笔记本文件,获得与编辑代码文件相同的直观体验。从头开始创建新笔记本,修改多个单元格中的内容,插入和删除单元格,以及更改单元格类型。此预览功能在处理数据科学或文档笔记本时提供了无缝的工作流程。

改进的Edit模式集成

  • 应用更改时无需再滚动,视区保持不变,从而更容易专注于更改的内容。
  • 将编辑审核作从Accept重命名为Keep,将Discard重命名为Undo,以更好地反映发生的情况。Copilot 编辑的更改是实时的,这些更- 改会在进行时应用和保存,用户可以保留或撤消这些更改。
  • 保留或撤消文件后,将自动显示下一个文件。

焕然一新的 UI

焕然一新的 UI

为了准备将 Copilot EditCopilot Chat统一起来,我们对 Copilot Edit进行了改头换面。

已附加但尚未发送的文件现在呈现为常规聊天附件,只有使用 AI 修改过的文件才会添加到已更改的文件列表中,该列表位于聊天输入部分的上方。

删除了 Copilot 编辑限制

以前,您只能在 Copilot Edit中将 10 个文件附加到提示符,在此版本中,我们取消了此限制。

此外,我们还取消了每 10 分钟 14 次交互的客户端速率限制。

自定义说明已全面推出

设置:github.copilot.chat.codeGeneration.useInstructionFiles

自定义指令使您能够定制 GitHub Copilot,以根据您和您的团队的工作方式提供聊天响应和代码建议。

在您的工作区中的 .github/copilot-instructions.md 文件中描述您的特定要求 Markdown 格式。

在这个里程碑中,我们正在使用 .github/copilot-instructions.md 制作自定义指令,以供普遍使用。

确保已启用 github.copilot.chat.codeGeneration.useInstructionFiles VS Code 设置,然后 Copilot 将在生成响应时使用这些指令。

聊天中的身份验证流程更顺畅

聊天中的身份验证流程更顺畅

如果您将源代码托管在 GitHub 存储库中,则可以利用多种功能,包括高级代码搜索、@github 聊天参与者等!

但是,对于私有 GitHub 存储库,VS Code 需要具有与 GitHub 上的存储库交互的权限。

有一段时间,这与我们通常的 VS Code 身份验证流程一起呈现,当您调用某些功能时(例如,向 @workspace@github 提问,或使用 #codebase 工具),会出现一个模式对话框。

它不仅不像模态对话框那样令人不快,而且还具有新功能:

  • Grant:您将像以前一样通过常规身份验证流程(通过模态对话框)。
  • Not Now:VS Code 会记住您的选择,直到您下一次 VS Code 窗口会话时才会再次打扰您。唯一的例外是如果该功能需要此额外权限才能运行,例如 @github
  • Never Ask Again:VS Code 会记住您的选择并通过 github.copilot.advanced.authPermissions 设置将其保留。任何需要此额外权限的功能都将失败。

Copilot Chat 中更高级的代码库搜索

设置:github.copilot.chat.codesearch.enabled

当您将 #codebase 添加到 Copilot Chat 查询时,Copilot 会帮助您在工作区中找到与聊天提示相关的代码。

#codebase 现在可以运行文本搜索和文件搜索等工具,以从工作区中提取更多上下文。

设置 github.copilot.chat.codesearch.enabled 以启用此行为。工具的完整列表如下:

  • 基于嵌入的语义搜索
  • 文本搜索
  • 文件搜索
  • Git 修改的文件
  • 项目结构
  • 读取文件
  • 读取目录
  • 工作区符号搜索

将问题附加为聊天上下文

为了帮助修复工作区中的代码或其他问题,您现在可以将问题面板中的问题附加到聊天中作为提示的上下文。

将项目从问题面板拖到聊天视图上,在提示中输入 #problems,或选择回形针 📎 按钮。您可以附加特定问题、文件中的所有问题或代码库中的所有文件.

将文件夹附加为上下文

以前,您可以通过从 Explorer 视图进行拖放来将文件夹附加为上下文。

现在,您还可以通过选择回形针 📎 图标或在聊天提示中输入 #folder, 然后输入文件夹名称来附加文件夹

Next Edit Suggestions (Preview) 的折叠模式

Next Edit Suggestions (Preview) 的折叠模式

设置:

  • github.copilot.nextEditSuggestions.enabled
  • editor.inlineSuggest.edits.showCollapsed

我们为 NES 添加了折叠模式,启用此模式后,编辑器左侧空白处仅显示 NES 建议指示器。

只有按 Tab 键导航到代码建议时才会显示代码建议本身,连续的建议会立即显示,直到建议未被接受。

折叠模式默认处于禁用状态,可以通过配置editor.inlineSuggest.edits.showCollapsed,或者您可以在 NES 间距指示器菜单中启用或禁用它。

更改完成模型

您已经可以更改 Copilot ChatCopilot Edits 的语言模型,现在您还可以更改内联建议的模型。

或者,您可以通过命令面板中的更改完成模型命令或标题栏中 Copilot 菜单中的配置代码完成项来更改用于代码完成的模型。

型号可用性

此版本中,我们在使用 Copilot 时添加了更多模型供选择。

Visual Studio Code 和 github.com 聊天中的模型选择器现在提供以下模型:

  • GPT 4.5(预览):OpenAI 的最新模型 GPT-4.5 现已在 GitHub Copilot Chat 中向 Copilot Enterprise 用户提供。GPT-4.5 是一种大型语言模型,具有直觉、写作风格和广泛知识方面的高级功能。

  • Claude 3.7 Sonnet(预览):Claude 3.7 Sonnet 现已向所有付费 Copilot 计划的客户开放。这个新的 Sonnet 模型支持 Copilot 中的思考模式和非思考模式。在初步测试中,我们看到了代理场景中特别强大的改进。

Copilot Vision(预览版)

我们正在此版本的 Copilot Chat 中快速推出端到端视觉支持。

这样您就可以在聊天提示中附加图片并与图片交互。

例如,如果您在调试时遇到错误,请附加 VS Code 的屏幕截图,并让 Copilot 帮助您解决问题。

您还可以使用它来附加一些 UI 模型,并让 Copilot 提供一些 HTML 和 CSS 来实现模型。

如果所选型号目前无法处理该文件类型,则会显示警告。

目前唯一支持的型号是 GPT 4o,但 Claude 3.5 SonnetGemini 2.0 Flash 对图像附件的支持也将很快推出。

目前,支持的图像类型为 JPEG/JPGPNGGIFWEBP

Copilot 状态概述(实验性)

Copilot 状态概述(实验性)

设置:chat.experimental.statusIndicator.enabled

我们正在试验一种新的集中式 Copilot 状态概览,可快速概览您的 Copilot 状态和关键编辑器设置:

  • 如果您是 Copilot Free 用户,则需要了解配额信息。
  • 编辑器相关设置,例如代码完成。
  • 使用其他 Copilot 功能的有用键盘快捷键。

可以通过状态栏中的副驾驶图标访问副驾驶状态概览。

内联补全的 TypeScript 上下文(实验性)

我们正在试验针对 TypeScript 文件的内联补全和 /fix 命令的增强上下文。

该实验目前仅限于 Insider 版本,可通过 chat.languageContext.typescript.enabled 设置启用

拉取请求标题和描述的自定义说明

您可以使用设置 github.copilot.chat.pullRequestDescriptionGeneration.instructions 提供生成拉取请求标题和说明的自定义说明。

您可以将设置指向工作区中的文件,也可以在设置中提供内联说明。获取有关在 VS Code 中使用自定义 Copilot 的更多详细信息。

以下示例展示了如何在设置中提供内联自定义说明。

json
{
    "github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
        {
            "text": "Prefix every PR title with an emoji."
        }
    ]
}

生成标题和描述需要安装 GitHub Pull Requests 扩展。

Copilot 编辑辅助功能

我们使 Copilot 编辑更易于访问。

  • 现在,对于经过修改的文件和已更改的区域(插入、修改和删除),都有音频信号。
  • 可访问的差异查看器现在可用于修改后的文件,就像在 diff 编辑器中一样,选择 F7 来启用它。

activeEditorState 窗口标题变量

我们有一个新的 window.title 变量 activeEditorState,用于向屏幕阅读器用户指示编辑器信息,例如修改状态、问题数量以及文件何时有待处理的 Copilot Edits。

在屏幕阅读器优化模式下,默认情况下会附加此变量,可以使用 accessibility.windowTitleOptimized 禁用。

Linux 上的自定义标题栏

Linux 上现在默认启用自定义标题栏。自定义标题栏可让您访问布局控件、Copilot 菜单等。

Linux 上的自定义标题栏

您可以随时恢复到原生标题装饰,可以通过自定义标题上下文菜单或将 window.titleBarStyle 配置为原生。

Linux 上的自定义标题栏

对侧栏视图使用标签

我们决定将辅助侧边栏中视图的外观改为显示标签而不是图标,类似于面板区域中的显示方式。

这样可以更轻松地区分不同的视图,例如 Copilot Edits 和 Copilot Chat 视图。

您可以随时通过配置 workbench.secondarySideBar.showLabels 切换回显示图标

对侧栏视图使用标签

新的 Settings 编辑器键匹配算法(预览版)

设置:workbench.settings.useWeightedKeySearch

我们添加了新的设置编辑器搜索算法,该算法优先考虑更相关的关键匹配。

搜索算法尝试以比以前更多的方式匹配设置 ID 和标签,但它也会进一步过滤结果,以便仅显示最佳匹配类型。

您可以通过启用 workbench.settings.useWeightedKeySearch 设置来试用预览功能。

在简单文件选择器中隐藏点文件的选项

在简单文件选择器中隐藏点文件的选项

使用简单文件选择器时(连接到远程或使用 files.simpleDialog.enable 时),您现在可以使用显示/隐藏点文件按钮来隐藏点文件

速览引用拖放支持

现在,查看视图支持拖放功能。调用查看引用、查看实现或任何其他查看命令,然后从其树中拖动条目以将其作为单独的编辑器打开。

发生次数高亮显示延迟

编辑器中事件突出显示的延迟现在默认设置为 0,这会让编辑器的整体响应速度更快。

您仍然可以使用 editor.occurrencesHighlightDelay 设置来控制延迟

更新的视图标题

当我们将源代码控制图视图添加到源代码控制视图时,它强调了源代码控制视图中部分标题的重复:“源代码控制存储库”、“源代码控制”和“源代码控制图”。

在这个里程碑中,我们重新审视了视图的标题,使它们更短,不再重复视图标题:“存储库”、“更改”和“图”.

放弃未跟踪的更改改进

放弃未跟踪的更改改进

设置:git.discardUntrackedChangesToTrash

多年来,我们收到了多起有关数据丢失的报告,因为丢弃未跟踪的文件会永久删除该文件,尽管 VS Code 会显示一个模态对话框,明确表示该文件将被永久删除。

从这个里程碑开始,丢弃未跟踪的文件会在可能的情况下将文件移至回收站/垃圾箱,以便轻松恢复文件。

您可以使用 git.discardUntrackedChangesToTrash 设置禁用此功能.

诊断提交钩子(实验性)

设置:

  • git.diagnosticsCommitHook.Enabled
  • git.diagnosticsCommitHook.Sources

在此里程碑中,我们引入了一个新的提交钩子,它会提示您更改的文件是否存在任何未解决的诊断。

目前,这是一项实验性功能,可以使用 git.diagnosticsCommitHook.Enabled 设置启用。

默认情况下,提交钩子会提示任何错误级别的诊断,但可以使用 git.diagnosticsCommitHook.Sources 设置自定义诊断源和级别.

终端 IntelliSense(预览版)

设置:terminal.integrated.suggest.enabled

我们通过添加完成规范(例如 git)、优化命令行解析以获得更好的建议以及增强文件和文件夹完成功能,显著改进了 bashzshfishPowerShell 中的终端 shell 完成功能。

使用 terminal.integrated.suggest.enabled 启用此功能

增强的 Fig 补全支持

我们利用 Fig 完成规范为特定 CLI 提供智能完成功能。

之前我们只有少数 CLI,但这次迭代我们将以下 CLI 添加到了随 VS Code 一起提供的列表中:

  • 基本工具:catchmodchowncpcurldfduechofindgrepheadlesslsmkdirmoremvpwdrmrmdirtailtoptouchuname.
  • 进程工具:killkillallps.
  • 包管理器:aptbrew
  • Node.js 生态系统:nodenpmnpxnvmpnpmyarn
  • SCM、语言、编辑器:gitnanopythonpython3vim
  • 网络:scpsshwget

除了新规范之外,我们现在还支持生成器,它通过在请求时运行命令来动态生成完成。

一个实际示例是呈现 git checkout 的所有分支:

增强的 Fig 补全支持

在后台,这将运行 git --no-optional-locks branch -a --no-color --sort=-committerdate 以获取分支列表,然后再将它们处理为完成,类似的方法也用于获取标签.

可配置的快速建议

设置:terminal.integrated.suggest.quickSuggestions

与编辑器类似,快速建议是在输入任何内容时自动显示 IntelliSense,而不是触发字符,后者在使用某些字符(如 \ 或 -)时显示。

新的 terminal.integrated.suggest.quickSuggestions 设置允许精确控制何时显示快速建议。

默认值启用命令和参数的快速建议,现在默认禁用,返回到我们听说可能变得嘈杂和令人沮丧的路径,因为它们通常不适用。

这是默认值:

json
{
    "terminal.integrated.suggest.quickSuggestions": {
        "commands": "on",
        "arguments": "on",
        "unknown": "off"
    }
}

TypeScript 5.8 版本

VS Code 现在包括 TypeScript 5.8.2,此重大更新带来了新的语言改进,包括改进了对条件表达式中的类型的检查,并支持编写确认 Node 新 --experimental-strip-types 选项的代码。它还包括许多工具改进和错误修复。

Electron 34 更新

在这个里程碑中,我们在稳定版本上向用户推广 Electron 34 更新。

此更新附带 Chromium 132.0.6834.196Node.js 20.18.2

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