大家好,我是农村程序员,独立开发者,行业观察员,前端之虎陈随易。
- 本文不含 AI,纯古法手打,请诸君放心食用。
- 关注公众号:
陈随易
,获取最新文章。 - 个人网站 1️⃣:https://chensuiyi.me
- 个人网站 2️⃣:https://me.yicode.tech
如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连 (点赞
、评论
、转发
),给我一些支持和鼓励,谢谢。
大家好,我有多重人格,2025年3月5日半夜三更,VSCode v1.98
发布了,我的行业观察员 - 前端记者
人格马上就上线了。
马上来盘点一下,本次的更新内容吧。
Agent 模式增强(预览版)
用过AI编程软件的都知道,目前主要有3种模式:
- Chat(聊天)模式。
- Edit(编辑)模式。
- Agent(代理)模式。
那么现在Agent模式做了以下增强:
- 终端命令现在以内联方式显示,因此您可以跟踪运行的命令。
- 您可以在运行聊天响应之前编辑建议的终端命令。
- 使用 Ctrl+Enter 快捷键确认终端命令。
不过目前Agent模式仅在VSCode开发版可用,要体验它,需要前往https://code.visualstudio.com/insiders
下载安装。
Copilot Edits 中的笔记本支持(预览版)
提示:这里的笔记本,指的是
.ipynb
文件。
现在,可以使用 Copilot 编辑笔记本文件,获得与编辑代码文件相同的直观体验。从头开始创建新笔记本,修改多个单元格中的内容,插入和删除单元格,以及更改单元格类型。此预览功能在处理数据科学或文档笔记本时提供了无缝的工作流程。
改进的Edit模式集成
- 应用更改时无需再滚动,视区保持不变,从而更容易专注于更改的内容。
- 将编辑审核作从
Accept
重命名为Keep
,将Discard
重命名为Undo
,以更好地反映发生的情况。Copilot 编辑的更改是实时的,这些更- 改会在进行时应用和保存,用户可以保留或撤消这些更改。 - 保留或撤消文件后,将自动显示下一个文件。
焕然一新的 UI
为了准备将 Copilot Edit
与 Copilot 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) 的折叠模式
设置:
github.copilot.nextEditSuggestions.enabled
editor.inlineSuggest.edits.showCollapsed
我们为 NES 添加了折叠模式,启用此模式后,编辑器左侧空白处仅显示 NES 建议指示器。
只有按 Tab 键导航到代码建议时才会显示代码建议本身,连续的建议会立即显示,直到建议未被接受。
折叠模式默认处于禁用状态,可以通过配置editor.inlineSuggest.edits.showCollapsed
,或者您可以在 NES 间距指示器菜单中启用或禁用它。
更改完成模型
您已经可以更改 Copilot Chat
和 Copilot 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 Sonnet
和 Gemini 2.0 Flash
对图像附件的支持也将很快推出。
目前,支持的图像类型为 JPEG/JPG
、PNG
、GIF
和 WEBP
。
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 的更多详细信息。
以下示例展示了如何在设置中提供内联自定义说明。
{
"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 菜单等。
您可以随时恢复到原生标题装饰,可以通过自定义标题上下文菜单或将 window.titleBarStyle 配置为原生。
对侧栏视图使用标签
我们决定将辅助侧边栏中视图的外观改为显示标签而不是图标,类似于面板区域中的显示方式。
这样可以更轻松地区分不同的视图,例如 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)、优化命令行解析以获得更好的建议以及增强文件和文件夹完成功能,显著改进了 bash
、zsh
、fish
和 PowerShell
中的终端 shell
完成功能。
使用 terminal.integrated.suggest.enabled
启用此功能
增强的 Fig 补全支持
我们利用 Fig 完成规范为特定 CLI 提供智能完成功能。
之前我们只有少数 CLI,但这次迭代我们将以下 CLI 添加到了随 VS Code 一起提供的列表中:
- 基本工具:
cat
、chmod
、chown
、cp
、curl
、df
、du
、echo
、find
、grep
、head
、less
、ls
、mkdir
、more
、mv
、pwd
、rm
、rmdir
、tail
、top
、touch
、uname
. - 进程工具:
kill
、killall
、ps
. - 包管理器:
apt
、brew
- Node.js 生态系统:
node
、npm
、npx
、nvm
、pnpm
、yarn
- SCM、语言、编辑器:
git
、nano
、python
、python3
、vim
- 网络:
scp
、ssh
、wget
除了新规范之外,我们现在还支持生成器,它通过在请求时运行命令来动态生成完成。
一个实际示例是呈现 git checkout 的所有分支:
在后台,这将运行 git --no-optional-locks branch -a --no-color --sort=-committerdate
以获取分支列表,然后再将它们处理为完成,类似的方法也用于获取标签.
可配置的快速建议
设置:terminal.integrated.suggest.quickSuggestions
与编辑器类似,快速建议是在输入任何内容时自动显示 IntelliSense,而不是触发字符,后者在使用某些字符(如 \ 或 -)时显示。
新的 terminal.integrated.suggest.quickSuggestions
设置允许精确控制何时显示快速建议。
默认值启用命令和参数的快速建议,现在默认禁用,返回到我们听说可能变得嘈杂和令人沮丧的路径,因为它们通常不适用。
这是默认值:
{
"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.196
和 Node.js 20.18.2
。