本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

2025年2月(版本1.98)

更新 1.98.1:此更新解决了这些问题

更新 1.98.2:此更新解决了这些问题

下载: Windows: x64 Arm64 | Mac: 通用 Intel | Linux: deb rpm tarball Arm snap


欢迎来到2025年2月发布的Visual Studio Code。这个版本有很多更新,我们希望你会喜欢,主要亮点包括:

如果您想在线阅读这些发行说明,请访问 更新 页面 code.visualstudio.com内部用户: 想尽快尝试新功能吗?您可以下载 内部用户 每夜构建版本,并在最新更新可用时立即尝试。

GitHub Copilot

Copilot功能可能会经历不同的早期访问阶段,这些阶段通常通过设置启用和配置。

舞台 描述
实验性的 该功能仍在开发中,尚未准备好供一般使用。
查看 实验性功能 (@标签:实验性)。
预览 该功能仍在完善中,但已经可以使用。欢迎反馈。
查看 预览功能 (@标签:预览)。
稳定 该功能已准备好供一般使用。

Copilot编辑

代理模式改进(实验性)

上个月,我们在VS Code Insiders中引入了 Copilot 编辑的代理模式

注意:今天在VS Code Insiders中可以使用代理模式,我们刚刚开始在VS Code Stable中逐步推出代理模式。一旦代理模式被启用,您将在Copilot Edits视图中看到一个模式下拉菜单——只需选择Agent

我们本月对工具使用体验进行了多项改进:

  • 终端命令现在会以内联形式显示,这样您可以跟踪已运行的命令。
  • 在运行之前,您可以在聊天响应中编辑建议的终端命令。
  • 使用⌘Enter(Windows, LinuxCtrl+Enter快捷键确认终端命令。

代理模式自主地在你的代码库中搜索相关上下文。展开消息以查看进行了哪些搜索。

显示Copilot Edits中搜索结果可扩展列表的截图。

我们还对代理模式的提示和行为进行了各种改进:

  • 聊天中的撤销和重做操作现在可以撤销或重做聊天响应中的上一次文件编辑。这对于代理模式非常有用,因为现在你可以撤销模型采取的某些步骤,而无需回滚整个聊天响应。
  • 代理模式现在可以自动运行您的构建任务,或在收到指示时运行。通过禁用此功能。
    github.copilot.chat.agent.runTasks
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置,以防您看到模型在不应该运行任务时运行任务。

了解更多关于CoPilot编辑剂模式或阅读剂模式公告博客文章.

注意:如果您是 Copilot Business 或 Enterprise 用户,您的组织管理员必须选择启用 Copilot 的“编辑预览功能”,以便代理模式可用。

Copilot 编辑中的笔记本支持(预览)

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

注意:此功能目前仅在 VS Code Insiders 中提供 GitHub Copilot Chat 的预发布版本。我们将在未来的版本中继续改进此功能,然后在未来的发布中将其引入 VS Code 稳定版。

优化的编辑器集成

我们已经优化了 Copilot 编辑与代码和笔记本编辑器的集成:

  • 在应用更改时不再滚动。视口保持原位,使您可以更专注于更改内容。
  • 将编辑评论的动作从“接受”更改为“保留”,将“拒绝”更改为“撤销”,以更好地反映正在进行的操作。Copilot 编辑的更改已生效,它们会在创建时应用并保存,用户可以保留或撤销它们。
  • 在保留或撤销一个文件后,下一个文件会自动显示。

视频展示了编辑如何实时应用并保存。实时预览更新,用户决定“保留”这些更改。撤销和进一步调整仍然可能。

焕然一新的用户界面

为了统一Copilot编辑和Copilot聊天,我们对Copilot编辑进行了改进。已附加但尚未发送的文件现在将作为常规聊天附件呈现。只有通过AI修改的文件才会添加到更改文件列表中,该列表位于聊天输入部分的上方。

随着

chat渲染相关文件
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在设置中,您可以启用获取相关文件的建议。相关文件建议显示在聊天附件的下方。

显示更新的 Copilot 编辑附件和更改文件用户体验的截图。

移除了Copilot编辑限制

之前,您在Copilot Edits中只能附加10个文件到您的提示中。随着此次发布,我们去除了这个限制。此外,我们还去除了每10分钟14次的客户端速率限制。

请注意,服务端的使用率限制仍然适用。

定制说明通常可用

设置

github.copilot.chat.codeGeneration.useInstructionFiles
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

自定义指令使您能够根据您和您的团队的工作方式定制 GitHub Copilot,以提供聊天响应和代码建议。用Markdown格式在 中描述您的具体需求.github/copilot-instructions.md在你的工作区中文件。

这个里程碑,我们正在制作定制说明与.github/copilot-instructions.md普遍可用。确保

github.copilot.chat.codeGeneration.useInstructionFiles
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
VS Code 设置已启用, Copilot 生成响应时将使用这些说明。

了解更多关于 Copilot 中的自定义指令

在聊天中优化身份验证流程

如果你在 GitHub 代码库中托管你的源代码,你可以利用多个功能,包括高级代码搜索,@github聊天参与者,等等!

然而,对于私有的 GitHub 仓库,VS Code 需要获得权限才能与你在 GitHub 上的仓库进行交互。有一段时间,这通过我们通常的 VS Code 认证流程来实现,当你调用某些功能时(例如,询问@工作区@github一个问题,或者使用#代码库工具)。

为了使这一体验更加顺畅,我们在聊天中引入了这一确认:

截图显示了聊天中的身份验证确认对话框,展示了继续的三个选项。

不仅不像模态对话框那样突兀,它还具有新的功能:

  1. 格兰特: 你将像以前一样通过常规身份验证流程(通过模态框)。
  2. 不是现在: VS Code 记住了您的选择,并且在您下次 VS Code Windows会话之前不会再次打扰您。唯一例外是如果该功能需要此额外权限才能运行,例如 @github输入:.
  3. 不再询问: VS Code 记住您的选择并将其持久化通过
    github.copilot.advanced.authPermissions
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置。任何需要此额外权限的功能将无法工作。

需要指出的是,此确认并不确认或否认 Copilot(服务)对您的仓库的访问。这只是 VS Code Copilot 体验的认证方式。要配置 Copilot 可以访问的内容,请阅读文档 关于内容排除

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

设置

github.copilot.chat.codesearch.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

当你添加#代码库对于你的 Copilot Chat 查询,Copilot 帮助你在你的工作区中找到与你的聊天提示相关的代码。#代码库现在可以运行文本搜索和文件搜索等工具,从您的工作区中提取更多上下文信息。

设置

github.copilot.chat.codesearch.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
启用此行为。完整的工具列表是:

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

将问题作为聊天上下文附加

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

将项目从问题面板拖动到聊天视图,或者输入#问题在你的提示中,或者选择信钉 📎 按钮。你可以附加特定的问题,文件中的所有问题,或代码库中的所有文件。

附加文件夹作为上下文

之前,您可以通过从资源管理器视图中拖动和放置文件夹来将其附加为上下文。现在,您还可以通过选择钉书钉 📎 图标或按来附加文件夹。#文件夹:在你的聊天提示中,紧随其后的是文件夹名称。

折叠模式用于 Next Edit 建议(预览)

设置:

  • github.copilot.nextEditSuggestions.enabled
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
  • 编辑器.内联建议.编辑.显示折叠
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开

我们为 NES 添加了折叠模式。启用此模式时,仅在左侧编辑器边缘显示 NES 建议指示器。只有在按 Tab 时,才会显示代码建议本身。在未接受建议之前,连续建议将立即显示。

默认情况下,崩溃模式是禁用的,可以通过配置启用。

编辑器.内联建议.编辑.显示折叠
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,或者您可以在NES排水指示菜单中启用或禁用它。

截图显示在编辑器左侧边栏中,突出显示“显示折叠”选项的“下一次编辑建议”上下文菜单。

更改完成模型

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

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

注意: 可用模型的列表可能会随时间和需求变化。如果您是Copilot Business或Enterprise用户,您的管理员需要通过选择启用某些模型来为您的组织启用这些模型 编辑器预览功能GitHub.com 上的 Copilot 政策设置

型号可用性

这次发布,我们在使用 Copilot 时增加了更多的模型供选择。以下模型现在可以在 Visual Studio Code 和 github.com chat 的模型选择器中使用:

  • GPT 4.5(预览版):OpenAI的最新模型GPT-4.5现在已通过GitHub Copilot Chat提供给Copilot Enterprise用户。GPT-4.5是一个大型语言模型,具备高级的直觉、写作风格和广泛知识的能力。了解更多关于GPT-4.5模型可用性的信息,请参阅GitHub博客文章

  • Claude 3.7 组诗 (预览):Claude 3.7 组诗现在所有付费 Copilot 计划的客户都可以使用。这个新的 Sonnet 模型支持 Copilot 中的思考和非思考模式。在初步测试中,我们看到在代理型场景中特别显著的改进。了解更多关于 Claude 3.7 Sonnet 模型可用性的信息,请参阅 GitHub 博客文章

Copilot视角(预览)

我们正在迅速推出此版本 Copilot Chat 的端到端视觉支持。这使您能够在聊天提示中附加图像并与其互动。例如,如果您在调试时遇到错误,可以附加 VS Code 的屏幕截图,并让 Copilot 帮助您解决该问题。您还可以用它来附加一些 UI 模型,并让 Copilot 提供 HTML 和 CSS 来实现该模型。

动画展示了在 Copilot Chat 提示中附带的图片。悬停在图片上会显示图片的预览。

您可以通过多种方式附加图片:

  • 从您的操作系统或资源管理器视图中拖放图像
  • 从剪贴板粘贴一张图片
  • 附加VS CodeWindows的截图(选择纸夹 📎 按钮 > 截图Windows

如果所选模型目前没有处理文件类型的 capability,则会显示警告。目前唯一支持的模型将是GPT 4o,但对图像附件的支持克劳德 3.5 十四行诗双子座2.0闪存很快也将推出。目前,支持的图像类型是JPEG/JPG图像文件动图,和网络图像格式输入:.

Copilot状态概览(实验性)

设置

chat.experimental.statusIndicator.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们正在尝试一种新的集中式 Copilot 状态概览,它能快速概述您的 Copilot 状态和主要编辑器设置:

  • 如果您是 免费Copilot 用户,配额信息
  • 编辑器相关设置,例如代码补全
  • 有用的键盘快捷键,用于使用其他 Copilot 功能

此 Copilot 状态概览可通过状态栏中的 Copilot 图标访问。

截图显示状态栏中Copilot状态概览。

启用Copilot状态概览

chat.experimental.statusIndicator.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

TypeScript上下文用于内联完成(实验性)

设置

chat.languageContext.typescript.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们正在尝试增强上下文以实现内联完成,并且/修复TypeScript 文件的命令。目前实验仅限于内部版本,并且可以通过以下方式启用

chat.languageContext.typescript.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

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

您可以使用设置提供自定义指令来生成拉取请求标题和描述

github.copilot.chat.pullRequestDescriptionGeneration.instructions
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
。您可以将设置指向工作区中的一个文件,或者您可以在设置中提供内联说明。获取有关使用在 VS Code 中定制 Copilot的更多详细信息。

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

{
  "github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
    {
      "text": "在每个 PR 标题前加上一个表情符号。"
    }
  ]
}

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

无障碍

Copilot编辑无障碍

我们使Copilot编辑更加易于使用。

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

活动编辑器状态Windows标题变量

我们有一个新的

Windows标题
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
变量活动编辑器状态为了向视障用户指示编辑信息,如修改状态、问题数量,以及当文件有待处理的 Copilot 编辑时,会附加这些信息。当处于屏幕阅读器优化模式时,这是默认附加的,可以通过设置禁用。
无障碍Windows标题优化
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

工作台

在 Linux 上自定义标题栏

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

显示 Linux 上自定义 VS Code 标题栏的截图。

您可以随时恢复到原生标题装饰,无论是从自定义标题上下文菜单中,还是通过配置

Windows标题栏样式
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
本地输入:.

显示在 Linux 上禁用自定义标题栏的内容菜单选项的截图。

我们对持续收到的反馈感到高兴,并且已经在根据现有的反馈改进这一经验,以期在未来的关键时刻能够做得更好。

为次级侧边栏视图使用标签

我们决定将次要侧栏中的视图外观更改为显示标签而不是图标,类似于我们在面板区域中的做法。这使得更容易区分不同的视图,例如 Copilot编辑Copilot聊天 视图。您可以随时通过配置 切换回显示图标。

工作台.次级侧边栏.显示标签
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

截图显示了带有标签而不是图标的次要侧边栏。

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

设置

工作台.设置.使用加权键搜索
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们添加了一个新的设置编辑器搜索算法,该算法优先考虑更相关的键匹配。搜索算法尝试比以前以更多方式匹配设置ID和标签,但它也过滤掉结果,以确保只显示最佳匹配类型。

您可以通过启用来尝试预览功能

工作台.设置.使用加权键搜索
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

主题: 浅粉色 (预览于 vscode.dev)

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

当使用简单文件选择器(无论是连接到远程设备还是使用

files.simpleDialog启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,现在你可以通过使用显示/隐藏点文件按钮来隐藏点文件。

截图显示了简单的文件选择器,突出显示了显示或隐藏隐藏文件的按钮。

编辑器

查看引用拖放支持

现在预览视图支持拖放。调用预览引用预览实现或任何其他预览命令,并将树中的条目拖动到单独的编辑器中打开。

主题: GitHub 轻色色盲 (测试版) (预览于 vscode.dev)

出现次数突出显示延迟

编辑器中发生的高亮显示延迟现在默认设置为0。这使编辑器的整体响应性更高。您仍然可以通过 来控制延迟。

编辑器.出现次数高亮延迟
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

源代码管理

更新视图标题

当我们把源代码控制图视图添加到源代码控制视图时,它强调了源代码控制视图中部分标题的重复:“源代码控制仓库”,“源代码控制”和“源代码控制图”。在这个里程碑,我们重新审视了视图的标题,使它们更短,并且不再重复视图标题:“仓库”,“更改”和“图”。

丢弃未跟踪更改的改进

设置

git.将未跟踪的更改丢弃到回收站
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

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

从这个里程碑开始,丢弃一个未跟踪的文件将会在可能的情况下将文件移动到回收站/垃圾箱,以便文件可以轻松恢复。你可以使用以下命令禁用此功能:

git.将未跟踪的更改丢弃到回收站
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

丢弃未跟踪文件时显示的模态对话框的截图。

诊断提交挂钩(实验性)

设置:

  • git.诊断提交钩子.启用
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
  • git.诊断提交钩子.来源
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开

这个里程碑,我们引入了一个新的提交钩子,如果更改的文件有任何未解决的诊断,它会提示您。目前这是一个实验性功能,可以使用以下方法启用

git.诊断提交钩子.启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

默认情况下,提交钩子会提示任何错误级别的诊断信息,但可以使用以下方法自定义诊断来源和级别

git.诊断提交钩子.来源
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。试一下并告诉我们你的反馈。

显示未解决诊断的模态对话框的截图,适用于更改的文件。

笔记本电脑

内联笔记本差异视图(实验性)

设置

notebook.diff.实验性的.切换内联
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

您现在可以为笔记本启用内联差异视图。此功能使您能够在单个内联视图中查看笔记本单元格中的更改,而不是传统的并排比较。

通过设置启用此功能

notebook.diff.实验性的.切换内联
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
然后,您可以使用右上角编辑器菜单中的选项,将差异视图切换为内联视图。

笔记本内联值悬停

Notebook中的内联值的装饰现在被截断以适应视口的宽度,并且有一个丰富的悬停显示完整的值,同时保持了空白格式。这保持了像数据框这样的变量的形状,使值更易于一目了然。

截图显示光标悬停在数据框对象的内联装饰上。显示了一个丰富的值悬停。

终端 IntelliSense(预览版)

设置

终端.集成.建议.启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们通过添加完成规范,显著改进了bash、zsh、fish和PowerShell的终端外壳完成功能。吉特例如),改进命令行解析以提供更好的建议,并增强文件和文件夹完成功能。使用以下命令启用此功能:

终端.集成.建议.启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

增强的图完成支持

我们利用Fig 完成规范来为特定的 CLIs 提供智能完成。我们之前只有少量这些,但在这一版本中,我们向 VS Code 发布的列表中添加了以下 CLIs:

  • 基本工具:改变权限改变文件所有者输入:cp库尔输入:df回声查找grep更少ls创建目录更多音乐视频输入:pwd删除移除目录尾巴顶部触摸用户名
  • 工艺工具:杀进程输入:ps
  • 包管理器:公寓冲泡
  • Node.js 生态系统:节点npmnpx没关系pnpm纱线
  • SCM, 语言, 编辑器:吉特纳米PythonPython3维姆
  • 网络:SCP安全外壳协议wget

除了新的规范,我们现在还支持生成器,当请求时通过运行命令动态生成完成。一个实际应用的例子是展示所有分支git 检出输入:

截图显示了“git checkout tyriar/xterm”的完成结果,显示了多个结果,包括不完全匹配查询的模糊结果。 主题: 蓝宝石 (预览于 vscode.dev)

幕后,这在运行git --no-optional-locks branch -a --no-color --sort=-committerdate获取分支列表并在处理它们以生成补全结果之前。类似的这种方法还用于获取标签。

可配置的快速建议

设置

终端.集成.建议.快速建议
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

类似于编辑器,快速建议是当输入任何内容时自动显示的IntelliSense,而不是触发字符,当输入某些字符如输入:输入:-被使用。新的

终端.集成.建议.快速建议
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置允许精确控制快速建议何时呈现。

默认值启用命令和参数的快速建议,但现在默认禁用,以避免路径变得嘈杂和令人沮丧,因为它们通常不适用。这是默认设置:

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

内联建议检测

设置

终端.集成.建议.内联建议
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

到目前为止,内联建议检测面临的一个问题是由来自不同来源的建议竞争引入的混淆。具体来说,当在 shell 中输入时经常出现的内联建议:

截图显示鱼壳在输入前缀时显示建议,例如以前的git提交命令。

这些建议实际上是一些 shell 级别的功能(fish/zsh 的自动建议,pwsh 的预测等),用户可能不会立即注意到,尤其是在与 IntelliSense 一起呈现时。

IntelliSense 功能需要我们检测此内联建议,以前使用的是一个简单的实现,仅检查文本是否使用了淡色斜体SGR 属性。事实证明,这并不足够,不仅当用户自定义样式时,而且默认情况下 fish shell 也不使用这些样式。我们现在通过分析命令行上下文和光标位置来检测大多数情况。

基于这一新的改进检测,内联建议现在作为顶级选项呈现,并带有星形图标,以更符合编辑器的行为,并使它更清楚地表示什么kstyle(Tab)在这种情况下会做些什么。

截图显示当内联建议出现时,它将被检测并在IntelliSense顶部的星形图标旁边显示。

默认情况下,此建议将始终显示为顶级建议,但可以通过配置

终端.集成.建议.内联建议
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

详细的命令完成

现在,bash 和 zsh 内置命令以及 PowerShell 命令的完成建议更加详细,提供了可用参数的详细信息。这些信息来自 shell 的文档或帮助命令。

对于bash,帮助 <命令>用于获取基本描述:

显示在bash中完成历史记录的截图,显示使用信息和描述。

对于 zsh,man zshbuiltins用于获取详细描述:

显示 zsh 完成的截图,显示来自 manpage 的详细信息。

对于 PowerShell,更多属性的获取命令在完成中显示:

截图显示了Get-ChildItem的完成情况,显示了模块Microsoft.PowerShellManagement及其版本。

显示完成的截图,显示转换为Json命令的签名。

改进的排序

命令补全现在具有改进的排序功能,具体如下:

  • 更详细的完成项通常显示在不那么详细的完成项上方。
  • 内置命令优先于路径$PATH

截图显示在 zsh 中,更常用的别名和自动加载命令显示在其他命令之前。

对于路径,进行了以下改进:

  • 路径以 开始输入:_得到一个惩罚,因为这通常是一个指标,表明它们是特殊的,通常不应该更改太多(例如,__init__.py)。
  • 标点符号在排序时被忽略,因此以...开始的文件输入:.将与其他内容混合。

截图显示init.py将显示在其他文件的下方,而 .build目录将显示在构建文件的上方。

CDPATH 支持

设置

终端.集成.建议.目录路径
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

$CDPATH环境变量是一个常见的 shell 功能,包含以冒号分隔的路径列表,类似于$PATH, 并允许像它们是相对的那样导航到它们,而不受当前工作目录的影响。Fish 实际上在 中显示 CDPATH 条目光盘自动补全:

显示fish中CDPATH条目的标签完成的截图。

我们现在支持显示$CDPATH在使用时将条目作为完成项光盘输入:

截图显示CDPATH条目现在显示在IntelliSense中。

此功能也适用于 Windows (;分隔符) 并且不需要 shell 本地支持该功能,因为默认是使用绝对路径。

截图显示包含两个路径的CDPATH,这些路径由分号分隔,包括所有子目录,即使在不支持CDPATH的PowerShell中也是如此。

配置这个

终端.集成.建议.目录路径
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

绝对路径

绝对路径现在被支持。

截图显示“cd c:\Github\mi”将显示所有匹配该术语的绝对文件夹的结果。

截图显示cd到绝对路径也适用于Unix风格的路径。

别名支持

现在也检测了bash、zsh和fish的命令别名,并且有一个新的独特图标:

截图显示别名 c->code-insiders 现在将被检测并显示带有命令图标和角落的小箭头。

差异化的选项和标志

命令行选项(有值的)和标志(没有值的)现在在用户界面中通过不同的图标进行区分:

截图将显示像 --help 这样的标志会显示一个标志图标,像 --diff 这样的选项会显示不同的图标。

任务

任务重新运行操作

我们有一个新的重新运行终端任务操作,⌃⇧R(Windows, Linux Ctrl+Shift+R。该操作出现在终端标签页的内置工具栏和终端的上下文菜单中。

调试

调试内联值悬停

如果设置

调试内联值
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
启用后,内联值装饰现在具有内联悬停功能,使阅读较长的值更加方便。

截图显示光标悬停在活动调试会话中数据框对象的内联装饰上。显示了丰富的值悬停。

语言

TypeScript 5.8

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

查看 TypeScript 5.8 发布博客 以获取此更新的更多详细信息。

远程开发

这些远程开发扩展允许您通过SSH或远程隧道,或Windows子系统 for Linux(WSL)使用开发容器,作为功能齐全的开发环境。

亮点包括:

  • Linux 旧版服务器的 EOL
  • 扩展代理配置灵活性

您可以在 远程开发发布说明 中了解更多关于这些功能的信息。

企业支持

多行支持允许的扩展

您现在可以在 Windows 的组策略中使用多行字符串来配置允许的扩展名。这允许对允许的扩展名进行更灵活和更广泛的配置。了解更多关于配置允许的扩展名的信息。

对扩展的贡献

Python

自动插入引号以断开长字符串

Pylance 现在支持自动插入引号,以便在拆分长字符串时实现无缝体验。

Pylance 内存消耗改进

对Pylance进行了某些优化,以改善其内存消耗,特别是在处理大型工作区时。此增强 是对驱动Pylance语言服务器功能的静态类型检查器Pyright进行的。

改进了Python shell集成

修改后

python.terminal.shellIntegration.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
, 您将不再需要重新加载才能使更改生效。只需创建一个新的终端,即可在终端中的 Python REPL 上看到所需的更改。

正确的工作区提示符用于 Windows Git Bash

使用 Windows 和 Git Bash 的 Python 用户现在在终端提示符中会看到正确的当前工作目录。这些更改适用于那些选择参与的用户。python终端环境变量激活实验。

新的自动测试发现文件模式设置

您现在可以通过在 中指定 glob 模式来精确控制哪些文件的自动测试发现。

python.testing.autoTestDiscoverOnSavePattern
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。其默认值设置为**/*.py输入:.

从 settings.json 读取测试调试配置作为备用

我们现在在两个地方寻找测试调试配置settings.jsonlaunch.json文件,扩展了这些配置的定义位置。

GitHub 认证

改进的代理支持与Electron获取收养

GitHub 认证扩展现在利用了 Electron 的版本获取为了发出网络请求。这有助于某些代理和防火墙设置的用户。如果你知道你在一个有代理设置的环境中运行,并且在 VS Code 中无法连接到 GitHub,请不要犹豫,创建一个 issue!

扩展编写

认证

重要: 我们将重命名认证强制新会话选项认证获取会话呈现选项并留下一个已弃用的认证强制新会话选项目前。没有功能上的差异,因此这不是运行时的 breaking 变更,但你应该更新你的代码以使用认证获取会话呈现选项而不是认证强制新会话选项因为它将来会被移除。

查看这两个认证调用:

vscode.认证.getSession(提供者, 范围, { 创建如果不存在: 选项 });
vscode.认证.getSession(提供者, 范围, { 强制新会话: 选项 });

创建如果不存在强制创建新会话现在将接受一个布尔或一个认证获取会话呈现选项输入:

/**
 * 可选的选项,当调用 {@link authentication.getSession} 并使用交互选项 `forceNewSession` 和 `createIfNone` 时使用。
 */
export interface AuthenticationGetSessionPresentationOptions {
  /**
   * 当我们要求重新认证时,显示给用户的可选消息。提供额外的上下文
   * 为什么要求用户重新认证,可以帮助提高他们接受的可能性。
   */
  detail?: string;
}

完整类型定义可以在这里找到...

这是一个新增内容创建如果不存在,但这是一个针对强制创建新会话, 以前曾经接受过一个认证强制新会话选项具有与新签名相同的签名认证获取会话呈现选项输入:.

如果你明确地在使用认证强制新会话选项, 你将看到它被标记为已弃用,你应该用它来替换认证获取会话呈现选项,作为认证强制新会话选项将在未来的版本中移除。

需要指出的是,这里唯一改变的是类型。没有运行时的改变,因此从这个角度来看这不是一个破坏性改变。

此外,了解更多 提议的API 已经从 认证强制新会话选项认证获取会话呈现选项输入:.

这是一个利用……的例子细节了解更多提议:

截图显示了认证模式对话框,其中包含一条消息:“为了获得更相关的 Copilot Chat 结果,我们需要权限来读取您在 GitHub 上的仓库内容。” 并且有一个按钮以了解更多信息。

优化的片段 API

您现在可以控制插入片段时的空白字符规范。这适用于插入片段- API 并且到片段文本编辑- API 和控制是否调整片段附加行的缩进。

常量 摘录 = ‘这是一个缩进的
    摘录’;

// keepWhitespace: false, undefined
函数 缩进函数带片段() {
  返回 `这是一个缩进的
        片段`; // 调整缩进
}

// keepWhitespace: true
函数 缩进函数带片段() {
  返回 `这是一个缩进的
    片段`; // 原始缩进
}

提议的API

文本编码

我们添加了新的提议 API 以在 VS Code 中处理 文本编码

具体来说,这个新的API可以实现:

  • 获取当前编码文本文档
  • 打开一个文本文档具有特定编码
  • 编码一个字符串到一个Uint8数组具有特定编码
  • 解码一个Uint8数组到一个字符串使用特定编码

试一试并告诉我们你的想法在这个 GitHub 问题中.

壳环境

扩展程序能够访问用户在 VS Code 集成终端中打开的 pwsh、zsh、bash 和 fish shell 的当前活动 shell 环境信息。这仅在以下情况下可用

终端.集成.外壳集成.启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
已启用。

用户可以选择是否报告其外壳环境信息

终端.集成.外壳集成.环境报告
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

试着用一下并告诉我们你的想法在这个 GitHub 问题中.

工程

Electron 34 更新

在这个里程碑中,我们正在向使用我们稳定版本的用户推广 Electron 34 更新。此更新包含 Chromium 132.0.6834.196 和 Node.js 20.18.2。我们感谢所有在 Insiders 版本上自托管并提供早期反馈的每个人。

macOS 10.15 的支持已经结束

VS Code1.97 是最后一个支持 macOS 10.15 (macOS Catalina) 的版本。请参阅我们的 常见问题 以获取更多信息。

开发时间追踪泄露的一次性用品

VS Code 使用一次性模式进行明确的资源管理,例如关闭文件、清理 DOM 元素或移除事件监听器。不处理资源会导致内存浪费,并且内存使用量会随着时间的推移不断积累。

我们一直在寻找这样的泄漏,并增加了一个检测此问题的工具。我们利用最终化注册表API 告诉我们何时对象被垃圾回收。如果这样的对象代表了一个一次性,还没有处理,这意味着我们有泄漏。这些被收集并展示给VS Code的开发者,这样我们就可以在进行时清理这些事情。

重要修复

谢谢

最后但同样重要的,向VS Code的贡献者们致以深深的谢意

问题跟踪

对我们的问题跟踪的贡献:

拉取请求

贡献于Visual Studio Code输入:

贡献于vscode-css-languageservice输入:

贡献于vscode-eslint输入:

贡献于vscode-十六进制编辑器输入:

贡献于vscode-jupyter输入:

贡献于vscode语言服务器节点输入:

贡献于vscode-mypy输入:

贡献于vscode-拉取请求-GitHub输入:

贡献于vscode- Python调试器输入:

贡献于vscode-vsce输入:

贡献于调试适配器协议输入:

贡献于语言服务器协议输入:

贡献于Python 环境工具输入: