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

2024年10月(版本1.95)

安全更新:以下扩展有安全更新:ms-python.pythonms-vscode-remote.remote-ssh

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

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

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

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


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

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

GitHub Copilot

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

  • 实验性 - 查看 实验性功能 (@标签:实验性)

    此设置控制一个正在积极开发的新功能,该功能可能不稳定。此功能可能会有所变动或被移除。

  • 预览 - 查看 预览功能 (@标签:预览)

    此设置控制一个仍在完善的新功能,但已经可以使用。欢迎反馈。

开始使用 Copilot 编辑的代码编辑会话

Copilot编辑目前处于预览阶段

设置

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

借助 Copilot 编辑功能,您可以开始一个由 AI 支持的代码编辑会话,在此会话中,您可以快速迭代代码更改。基于您的提示,Copilot 编辑功能会提出在您工作区中的多个文件中进行的代码更改。这些更改会直接应用到编辑器中,因此您可以快速在原位查看它们,并查看周围代码的完整上下文。

Copilot 编辑非常适合在多个文件中对大规模更改进行迭代。它将 Copilot Chat 的对话流程和 Inline Chat 的快速反馈结合在一起。可以在旁边进行持续的多轮聊天对话,同时受益于代码建议的即时反馈。

只需三个步骤即可开始使用 Copilot 编辑:

  1. 通过选择 打开 Copilot 编辑 从 Chat 菜单开始编辑会话,或者按 输入:.

    截图显示命令中心中的Copilot菜单,突出显示打开编辑会话项目

  2. 将相关文件添加到工作集,以指示 Copilot 您希望处理哪些文件。

  3. 输入提示以告知 Copilot 您希望进行的编辑!例如,在所有页面上添加一个简单的导航栏使用 vitest 代替 jest输入:.

获取更多关于CoPilot编辑的详细信息,请参阅我们的文档。立即试用,并通过我们的问题提供您的反馈!

在右侧栏中聊天

聊天视图的新默认位置是次要侧边栏。通过使用次要侧边栏,您可以在任何时候打开聊天,同时您仍然可以使用其他视图,例如文件资源管理器或源代码控制。这为您提供了一个在 VS Code 中更集成的 AI 体验。您可以使用⌃⌘I(Windows, Linux Ctrl+Alt+I 键盘快捷键快速进入聊天。

聊天视图在新位置移动后。

随着指挥中心旁边新聊天菜单的引入,打开带有聊天的次要侧栏只需点击一下:

聊天菜单为您提供最常用的Copilot Chat任务。如果您希望隐藏此菜单,一个新设置

chat.commandCenter.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
提供。

命令中心的聊天菜单。

注意: 如果您之前安装了 GitHub Copilot,一个视图将在您之前聊天的位置出现,使您可以将聊天视图恢复到旧位置,如果这对您更方便。

聊天视图在旧位置显示,聊天已移至次要侧边栏。

Copilot代码审查

Copilot代码审查目前处于预览阶段

通过 GitHub Copilot 代码审查在 Visual Studio Code 中,现在您可以在编写代码时快速获得 AI 助力的代码反馈,或者在推送之前请求对所有更改的审查。GitHub Copilot 代码审查在 Visual Studio Code 中目前处于预览阶段。尝试并提供反馈通过 我们的问题

在 VS Code 中使用 Copilot 代码审查有两种方法:

  • 代码审查选择:要快速进行代码审查,请在编辑器中选择代码,然后从编辑器上下文菜单中选择Copilot > 审查和评论,或者使用GitHub Copilot: 审查和评论命令从命令面板中。(此功能处于预览阶段。)

  • 查看更改:要对所有未提交的更改进行更深入的查看,请在 Copilot 代码审查 按钮中选择源代码控制视图,你也可以在 GitHub.com 上的拉取请求中执行此操作。(加入等待名单,对所有 Copilot 订阅者开放)

    请求审查未提交的更改

Copilot的反馈会以评论的形式出现在编辑器中,附加在你的代码行上。在可能的情况下,评论包括可执行的代码建议,你可以一次操作应用这些建议。

截图显示对一段代码选择进行评论的评审

要了解更多关于 Copilot 代码审查的信息,请访问 GitHub 代码审查文档

Copilot对代码选择的快速审查可以提供符合您团队或项目特定实践的反馈,前提是您提供了正确的上下文。在使用自定义审查说明进行审查时,您可以定义这些特定要求通过

github.copilot.chat.reviewSelection.instructions
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。类似于 代码生成和测试生成指令,您可以在设置中直接定义这些指令,或者您可以将它们存储在单独的文件中,并在设置中引用该文件。

以下代码片段显示了审查说明的一个示例:

  "github.copilot.chat reviewSelection instructions": [
    {
      "text": "日志记录应使用Log4j."
    },
    {
      "text": "始终使用Polly库进行错误处理。"
    },
    {
      "file": "code-style.md" // 从文件`code-style.md`导入指令
    }
  ],

例如内容的代码风格.md文件:

私有字段应以下划线开头。

一个文件只能包含一个类声明。

自动聊天参与者检测

设置

聊天.实验性.检测参与者.已启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

GitHub Copilot 有多个内置的聊天参与者,例如@工作区,并且您可能安装了其他扩展,这些扩展也会贡献聊天参与者。

为了更容易使用聊天参与者和自然语言,Copilot Chat 将自动将您的问题路由到合适的参与者或聊天命令,如果可能的话。

如果自动选择的参与者不适合您的问题,您仍然可以选择重新运行链接在聊天响应的顶部,将您的问题重新发送给 Copilot。

聊天视图的截图,显示如何自动检测“@workspace”参与者。

本月,我们还增加了一个操作,使您可以在每次请求的基础上跳过此检测行为。进入聊天提示时的默认操作是发送和派遣,其中包括参与者检测。如果您选择发送,请求将直接发送到 Copilot Chat,不会自动派遣给聊天参与者。

聊天视图中可用的“发送”命令列表。

您还可以完全禁用自动参与者检测

聊天.实验性.检测参与者.已启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

控制电流编辑上下文

Copilot Chat 会自动将您当前的选择或当前可见的代码作为聊天请求的上下文。大型语言模型(LLMs)通常能够很好地理解上下文是否相关。但有时,当您问的问题不是关于当前编辑器时,包含这个上下文可能会影响模型对您的问题的解释。

我们现在在聊天输入中显示一个特殊的附件控制,该控制提供有关编辑上下文的提示,并使您能够切换是否包括编辑上下文。

当前在聊天输入中的编辑上下文控制显示上下文不包括在内。

编辑上下文的行为没有变化。当活动编辑器有选择时,只包括选择部分。否则,只包括滚动到视图中的代码。您仍然可以通过使用回形针按钮或按住 来附加其他文件或整个文件。#在聊天提示中。

Copilot Chat 的一个常见用例是询问你工作区中代码的问题,例如使用/测试生成选定代码的新单元测试或询问@工作区要在一个项目中找到某个特定的类或函数。这个里程碑,我们为 Copilot 在聊天响应中提到的任何工作区符号添加了增强链接。这些符号链接可以帮助您更好地理解 Copilot 的响应,并了解更多有关它们所使用符号的信息。

符号链接在响应中显示为小药丸,就像我们上一个里程碑中添加的文件链接一样。要开始学习一个符号,只需选择该符号链接以跳转到该符号的定义:

你也可以将鼠标悬停在符号链接上,查看该符号定义在哪个文件中:

将鼠标悬停在符号链接上以查看其定义的文件。

要更详细地探索一个符号,请右键单击符号链接以弹出上下文菜单,例如 转到实现转到引用

右键点击符号链接,在上下文菜单中了解有关符号的更多信息。

基本的符号链接应该适用于任何支持转到定义的语言。更高级的IntelliSense选项,例如转到实现,也需要该语言的支持。确保安装语言扩展,以获得最佳的符号支持,用于Copilot响应中使用的任何编程语言。

使用问题悬停中的 Copilot 动作进行修复

当您在编辑器中悬停在某个问题上时,现在包括一个使用 Copilot 修复问题的操作。此操作适用于有可用修复选项的问题,并且修复由 Copilot 生成。

问题悬停显示使用 Copilot 动作的修复方法。

工作区索引

@工作区 让你对当前项目中的代码提出问题。这通过 GitHub的代码搜索 或 VS Code 构建的智能本地索引来实现。在这个里程碑,我们添加了一些更多的用户界面元素,使你能够了解这个工作区索引是如何被使用的。

首先,新的GitHub Copilot: 构建本地工作区索引命令允许您明确地开始索引当前工作区。通常,当您第一次询问一个@工作区问题。有了新的命令,您可以在任何时候开始索引。该命令还启用了对较大工作区的索引,目前最多可包含2000个文件(不包括被忽略的文件,例如 节点模块输出目录)。

在索引正在建立期间,我们现在的状态栏中也显示一个进度项:

显示当前工作区索引进度的状态栏项目。

索引包含数百个文件的工作区可能需要一点时间。如果你尝试询问一个@工作区当索引正在构建时出现的问题,而不是等待, Copilot将尝试通过使用可以更快构建的更简单的本地索引来快速响应。当发生这种情况时,我们现在在响应中显示警告:

一个警告显示在响应中,告知用户正在构建 Copilot 指数。

请注意,即使在这种情况下, Copilot 仍然能够回答这个问题,尽管它使用的是更简单的本地索引而不是更先进的索引。这通常是这种情况,尽管更模糊或复杂的问题可能只有在构建了更智能的索引之后才能回答。请记住,如果您的工作区由 GitHub 仓库支持,我们可以改用 GitHub 的代码搜索 来回答问题。这意味着使用代码搜索而不是更简单的本地索引。

聊天跟进改进

设置

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

为了在聊天视图中为聊天对话留出更多空间,我们使后续提示更加简洁,并且默认情况下,它们只显示在第一轮。配置

github.copilot.chat.followUps
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置更改时机:当出现后续提示时

  • firstOnly(默认)- 追踪提示仅在第一回合出现
  • 总是- 追踪提示总是出现
  • 从不- 禁用后续提示

按语义搜索的相关性排序(实验性)

设置

github.copilot.chat.search.semanticTextResults
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

最后一个里程碑,我们引入了使用 Copilot 进行语义搜索的能力,以获取与您的查询语义相关的搜索结果。我们现在通过按相关性排序来改进搜索结果。来自更相关的片段的关键词匹配被认为总体上更相关。

工作台

多个 GitHub 账户

随着上个月默认行为的变更,现在可以在 VS Code 中同时登录多个 GitHub 帐户。

在“账户”菜单中多个 GitHub 账户。

以下是一些可能需要多个账户的情景:

  • 使用 Account1 进行设置同步和 Account2 用于 GitHub 拉取请求扩展
  • 使用 Account1 进行 GitHub 扩展(推送)和 Account2 用于 GitHub Copilot

要使用此功能,只需触发一次登录操作(例如使用内置功能如设置同步或使用扩展),您将有机会登录到其他帐户。此功能也与帐户偏好快速选择很好地配合,如果您稍后需要更改所选帐户。

虽然大多数事情应该可以继续使用您现有的扩展,但某些行为可能还不能完美地适应这个多账户世界。如果您认为有改进的空间,请在这些扩展上打开一个议题。在相对新的vscode.authentication.getAccounts('github')API,扩展具有处理多个账户的强大功能。

更改账户偏好时添加其他账户

上个月,我们推出了账户偏好快速选择,这在您需要更改扩展的首选账户时非常有用。

我们收到的反馈之一是希望有一个方便的方法来添加尚未登录的账户。在这个里程碑中,我们在快速选择中引入了一个新项目,使您能够做到这一点。使用新账户... 项目来启动身份验证流程,并将账户偏好设置设置为此账户。

在帐户偏好设置的快速选择中使用新帐户选项。

实验和预览设置的设置编辑器指示器

之前,从设置编辑器中查看时,并不总是清楚哪些设置是实验性的或预览的。为了突出显示实验性和即将推出的功能,设置编辑器现在会在实验性和预览设置旁边显示指示器。你可以输入@标签:实验性@标签:预览在设置编辑器的搜索框中搜索以相应地过滤设置。

扩展程序作者可以在其设置中添加“实验性”或“预览”标签,以便在设置编辑器中显示相应的指示器。

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

更多用户头像图标

在这个里程碑中,我们为个人资料添加了更多的图标。现在你可以从更广泛的图标中选择来定制你的个人资料。

显示所有可用的个人资料图标,并突出显示新添加的图标。

查看面板中的图标

在工作台面板区域,视图通常显示在标题栏中的标签中(例如,TERMINALOUTPUT)。然而,在较小的屏幕上,这些标签可能会超出可用空间,导致某些视图溢出到下拉菜单。

为了解决这个问题,我们添加了一个新设置:

工作台.面板.显示标签
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
当禁用时,视图将显示为图标而不是标签,从而节省水平空间并减少溢出。

工作台.面板.显示标签: true

面板区域显示每个面板的标签。

工作台.面板.显示标签: false

面板区域显示每个面板的图标,没有标签。

编辑器

出现次数高亮延迟

这个里程碑,我们已经引入了设置

编辑器.出现次数高亮延迟
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
为了让你控制在编辑器中出现的高亮延迟。降低这个延迟值可以在使用语义高亮时获得更响应式的编辑器体验。

VS Code 用于网页

VS Code for the Web 支持本地文件事件

当使用Chrome或Edge(版本129及更高版本)时,打开https://insiders.vscode.dev并使用本地文件夹现在支持文件事件。如果您在浏览器之外对打开的工作区的文件和文件夹进行更改,这些更改将立即在浏览器中反映出来。

此功能利用了新的文件系统观察者接口被提议作为新的网页API。

对扩展的贡献

Copilot扩展展示

这个里程碑,团队致力于构建几个展示Copilot 扩展性在 VS Code 中的应用的扩展。这些扩展展示了以下功能:

尝试这些扩展,并查看如何在自己的扩展中扩展 Copilot。

扩展 链接
GitHub 拉取请求 市场
网络搜索Copilot 市场, 源代码
使用 Copilot 生成 MermAId 图表 市场
Copilot的数据分析 市场, 源代码
VS Code 命令器 市场
Copilot预览版愿景 市场

GitHub 拉取请求

版本 0.100.0GitHub 拉取请求 扩展增加了 Copilot 集成:

  • 使用@githubpr在聊天视图中,聊天参与者可以搜索问题,总结问题/拉取请求,并建议问题的修复。@githubpr使用了多种语言模型工具来实现这一点。
  • 还有一个新的通知视图,显示来自 GitHub 的通知,并可与 Copilot 一起优先处理这些通知。

为了尝试所有功能,您可以设置以下选项:

  • github拉取请求实验性聊天
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
  • github拉取请求的实验性通知视图
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
使用 Copilot 进行问题搜索

新的@githubpr聊天参与者可以在GitHub上搜索问题。

Copilot问题搜索最开放的错误。

显示问题时,@githubpr显示一个Markdown表格,并尝试根据搜索选择最佳列进行显示。

Copilot问题搜索十月已关闭的问题。

总结与修复助手

每个在问题视图中列出的问题现在都有一个新操作,用 Copilot 汇总,该操作打开聊天面板并总结所选问题。我们还添加了另一个操作,用 Copilot 修复,该操作总结所选问题,并使用工作区上下文建议一个解决方案。

使用 Copilot 进行通知优先级排序(实验性)

这个里程碑,我们增加了一个实验性的通知视图,列出你在各个仓库中的未读通知。默认情况下,通知是按最近更新的降序排列,但你可以使用按 Copilot 使用优先级排序操作,从视图标题的请输入具体的网页文本内容,以便我进行翻译。菜单以让 Copilot 优先处理通知。选择每个通知会触发使用 Copilot 总结该通知的操作。该视图还包含易于访问的标记通知为已读或在 GitHub.com 上打开通知的操作。

通知视图

网络搜索Copilot

此扩展展示:

  • 聊天参与者和工具API
  • 提示-tsx
  • 如何利用 GitHub Copilot 提供的语言模型

源代码 可在GitHub上获取.

描述

在 Copilot 中获取来自网络的最新和最相关的信息。

这由两个不同的搜索引擎之一提供支持,由配置

websearch.preferredEngine
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:

作为用户,您需要从这些服务之一获取 API 密钥才能使用此扩展。首次使用时,它会要求您输入该密钥,并使用 VS Code 的内置秘密存储功能进行存储,也可以通过 VS Code 的身份验证堆栈进行管理,就像管理您的 GitHub 账户一样。

聊天参与者

这个扩展贡献了@网页搜索聊天参与者,能够处理可能需要来自互联网的实时信息的问题。 你可以手动使用@websearch Workspace Trust 在 vscode 中是什么时候发布的?

问题 "Workspace Trust 在 vscode 中是什么时候发布的" 和答案展示了引用和详细信息。

聊天工具

这个扩展贡献了#网页搜索聊天语言模型工具也是如此,它类似于参与者,但可以为其他聊天参与者提供来自网络的上下文。例如:

  • @workspace /new #websearch 创建一个新的使用最受欢迎框架用Python编写的网页应用程序

问题 "使用最流行的框架用Python创建一个新的网页应用程序" 使用websearch变量和/new。结果是一个使用Django的项目。

此外,如果您正在开发自己的聊天参与者或工具,您可以通过该聊天工具进行使用。vscode.lm.invokeTool应用程序编程接口。

使用 Copilot 生成 MermAId 图表

vscode-mermAId (vscode:扩展/ms-vscode.copilot-mermaid-diagram) 扩展为 GitHub Copilot 添加了一个新的聊天参与者,通过 Mermaid(一个受 Markdown 启发的绘图和制图工具)来为你的代码构建和修改可视化。

创建和渲染图表

通过聊天对话创建任何类型的Mermaid支持的图表,并使用/迭代斜线命令用于优化图表。对于特定的图表,斜线命令可以为模型提供额外的指导。

某些图表类型(如流程图)添加了链接,用于回溯到用于构建图表的参考文献。

美人鱼视觉概览视图

打开视觉大纲视图,以动态生成来自活动编辑器的图表。您可以切换到聊天以进行更精细的控制。

聊天工具

该扩展提供了一个工具,用于在文件或整个工作区中收集符号信息,并且当此扩展安装时,其他聊天参与者可以使用这些信息。

Copilot的数据分析

Copilot 扩展的数据分析功能赋予数据科学领域的人们更多的能力。从清理数据输入:.csv文件,通过利用不同的统计措施、图表和预测模型来执行更高级别的数据分析@数据聊天参与者通过提供量身定制的见解和数据任务的互动性,帮助做出更高级和明智的决策。

该扩展提供了一个工具,通过使用Pyodide,LLM可以请求执行Python代码,并获取相关Python代码执行的结果。如果出现错误,它还能够智能重试以获得更好的或更合适的执行结果。您还可以将用于进行分析(或生成可视化)的代码导出到Jupyter Notebook或Python文件中。

您可以从市场下载扩展,源代码可在GitHub上获取

数据分析和可视化
  • 给定一个CSV文件,输入一个提示,例如分析文件 #<文件名>或者写一个更具体的提示(见下面的录音)
  • 提供后续提示以请求生成可视化内容,例如图表、图形等。

导出用于进行数据分析的代码
  • 用于执行分析和生成可视化结果的 Python 代码可以查看
  • 代码可以导出为Jupyter notebook或Python文件

CSV文件的编辑器和浏览器集成
  • 右键单击CSV文件以分析它
  • 打开CSV文件并使用Copilot图标分析文件

VS Code Commander 扩展

VS Code Commander 扩展 (vscode:扩展/ms-vscode.vscode-commander) 在 VS Code 中作为您的个人助理。这个强大的工具使您能够通过使用对话式、自由格式的文本来配置您的 VS Code 环境。通过 VS Code Commander,您可以:

  • 发现和探索各种设置和命令
  • 根据您的需求定制您的开发环境

这些操作可以通过一个简单直观的聊天界面完成,使管理 VS Code 配置比以往任何时候都更容易。

Copilot Preview 扩展的愿景

Copilot Preview 扩展的愿景 (vscode:扩展/ms-vscode.vscode-copilot-vision) 使您能够直接将图像作为上下文输入附加,丰富对话并使更具动态、视觉支持的响应成为可能。此扩展最终将被Github Copilot Chat内置的图像流所取代。

聊天中的愿景

目前,您可以通过使用自己的 OpenAI、Azure OpenAI、Anthropic 或 Gemini 密钥来体验 Chat 视图中的图像附件流程。通过轻松将图像从剪贴板附加或直接拖动到聊天中即可开始。

聊天记录截图。一个用户询问HTML和CSS用于一个着陆页。回复提供了一个基本的HTML结构,包含一个标题,导航链接(主页,关于我们,联系我们),以及一个链接到外部CSS文件。

主题: 蓝宝石 (预览于 vscode.dev)

带有快速修复的愿景

此外,您可以通过提供的代码操作生成或优化 markdown、HTML、JSX 或 TSX 文档中的图像 alt 文本,从而简化将描述性文本纳入的过程,以提供更好的上下文和可访问性。Alt 文本快速修复适用于工作区中的图像和图像网址。

一个示例Markdown文档展示了生成替代文本的快速修复功能,结果自动插入了alt标签和一个值。然后用户会收到一个不同的快速修复,通过输入框来完善替代文本。用户输入并提交改进后的描述后,替代文本会相应更新。

此扩展使用聊天参考二进制数据 提议的API。欢迎查看源代码中如何使用的一个示例,在GitHub上这里

Python

本地 REPL 变量视图

原生的 Python REPL 现在为内置的 Variables 视图提供了最新的变量。这使您能够在执行文件中的代码或通过 REPL 输入框输入代码时,深入研究解释器的状态。

使用 Pylance 生成文档字符串

现在,您可以更方便地使用Pylance的文档字符串模板生成功能为您的Python代码生成文档!您可以通过输入' ' ''''',按Ctrl+Space,或选择灯泡以调用生成文档字符串代码操作。生成的文档字符串包括函数描述、参数、参数类型、返回值和返回值类型字段。

此功能目前处于实验性设置之后,但我们希望尽快将其设置为默认体验。您今天可以通过启用 来尝试该功能。

python分析支持文档字符串模板
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

折叠所有文档字符串

文档字符串对于为你的代码提供上下文和解释非常有用,但有时你可能希望折叠它们,以便专注于代码本身。现在,你可以更轻松地通过使用新的Pylance: 折叠所有文档字符串命令来实现这一点,该命令也可以绑定到你选择的快捷键。要展开它们,请使用Pylance: 展开所有文档字符串命令。

改进的进口建议

Pylance 的一个强大功能是能够提供自动导入建议。默认情况下,Pylance 会从符号定义的位置提供导入建议,但您可能希望从符号导入的文件(即别名)中导入它。使用新的

python分析包括用户文件中的别名
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置中,您现在可以控制 Pylance 是否在自动导入建议或快速修复中包含用户文件中的别名符号。

请注意,启用此设置可能会对性能产生负面影响,特别是在大型代码库中,因为 Pylance 可能需要索引更多的符号并监控更多的文件以进行更改,这可能会增加资源使用。

实验性 AI 代码操作:实现抽象类

现在,您可以通过新的实验性代码操作来实现抽象类的AI和静态分析的最佳结合!此功能需要 PylanceGitHub Copilot 扩展。要尝试此功能,当定义一个继承自抽象类的类时,您可以选择 用 Copilot 实现所有继承的抽象类 代码操作。

您可以通过设置禁用此功能"python.analysis.aiCodeActions": { "implementAbstractClasses": false }在您的用户设置中。

扩展编写

语言模型工具

我们已经完成了我们的语言模型工具 API! 该 API 通过将语言模型连接到外部数据源或执行操作,使聊天扩展能够构建更强大的体验。该 API 包含两个主要部分:

  1. 扩展能够注册一个工具。工具是供语言模型使用的一段功能。例如,读取文件的Git历史记录。当使用lm注册工具方法,它对其他扩展也是可访问的,在lm工具列表。这将使聊天扩展能够通过共享工具的生态系统与其他扩展无缝集成。

  2. 语言模型支持工具的机制,例如在请求时扩展工具传递工具,语言模型请求工具调用,以及扩展工具将工具调用的结果传达回来。

语言模型工具的使用是复杂的,此 API 并不隐藏这种复杂性。如果您想注册一个工具或在聊天参与者中使用工具,我们建议从扩展示例开始。

聊天参与者检测

我们已经完成了用于聊天参与者检测的API,这使得GitHub Copilot可以自动选择您的聊天参与者或参与者命令来处理用户的问题。请查看我们的文档以获取详细的教程和建议。

VS Code 语音

VS Code Speech 扩展已更新至 Azure Speech SDK 的 8 月版本,并附带了更新的语音转文字识别模型。此更新应能提高 VS Code 中语音转文字集成 的结果,例如 Copilot Chat。

评论区可折叠状态

一个的展开/折叠状态评论线程可以使用新的进行更改评论区.可折叠状态即使在评论线已经显示之后,该属性仍然有效。以前,这个属性只会在评论线第一次显示时被尊重。

欢迎视图中的Codicons

欢迎观看现在支持渲染 codicons 的内容。你可以使用通常的方法做到这一点。$(图标名称)在您的欢迎视图中。

一个示例欢迎视图,展示了文本、链接、按钮和 codicons 的使用。

聊天参与者对模型选择器的访问

您可能已经注意到聊天视图中的模型选择器,它允许您选择用于聊天请求的模型。

在聊天视图中,Copilot模型选择器控制可以切换到另一个语言模型。

您的聊天参与者扩展需要采用新的 API 才能使用此模型选择器。我们刚刚完成了新的模型物业在聊天请求对象,将被设置为语言模型聊天选择器中模型的实例。你可以用这个代替lm.selectChatModels方法。如果你的扩展希望使用选定模型之外的特定模型,你仍然可以使用lm.selectChatModels相反。

预览功能

TypeScript 5.7

我们继续改进对即将发布的TypeScript 5.7的支持。请查看TypeScript 5.7测试版博客文章TypeScript 5.7计划了解详情。

要开始使用TypeScript 5.7的预览版本,请安装TypeScript Nightly扩展

更新粘贴的JavaScript和TypeScript的导入项

厌倦了在移动代码之间不得不添加导入吗?试试我们实验性的粘贴时更新导入的支持功能吧!当你在编辑器之间复制和粘贴代码时,VS Code 会在粘贴代码时自动添加导入:

请注意,它不仅添加了导入,甚至为过去粘贴的代码中使用的局部变量添加了一个新的导出!

要尝试这个功能,请确保您使用的是TypeScript 5.7+。然后启用javascript.experimental.updateImportsOnPaste输入:/typescript.experimental.updateImportsOnPaste目前,这仅支持在 VS Code Windows中文本编辑器之间粘贴。

提议的API

聊天参考图像附件的二进制数据

我们现在允许图片 (输入:png图像文件格式位图动图,和蒂芙) 如果有使用扩展的聊天内容粘贴聊天参考二进制数据提议的API。

导出 ChatReferenceBinaryData {
  /**
   * 二进制数据的MIME类型。
   */
  只读 mimeType: 字符串;

  /**
   * 获取引用的二进制数据。
   * @返回 一个解析为 Uint8Array 的二进制数据的承诺。
   */
  data(): Thenable<Uint8Array>;

  /**
   * @param mimeType 二进制数据的MIME类型。
   * @param data 参考的二进制数据。
   */
  constructor(mimeType: string, data: () => Thenable<Uint8Array>);
}

扩展程序作者可以在通过创建聊天处理程序后访问此功能请求.参考文献,这可以是一个统一资源标识符当图像通过拖放或从快速选择中附加时,或者将会聊天参考二进制数据粘贴图像。

工程

提示构建库用于大语言模型

这个月,我们开源了我们的@vscode/prompt-tsx库,这是我们过去一年在Copilot Chat中开发和使用的,用于构建语言模型提示。该库使开发人员能够使用TSX/JSX语法创建他们的提示,类似于React,并包括各种工具,以充分利用提示的令牌预算。

AMD 代码移除及更多网络中的 ESM 使用

我们从源代码中移除了最后的 AMD (异步模块定义) 痕迹,主要是从我们仍保留的用于在需要时支持 AMD 的构建脚本中移除的。

此外,https://vscode.dev现在也完全使用ESM(ECMAScript 模块)运行。

迁移到ESLint 9

我们已经更新了主 VS Code 仓库和我们所有的扩展示例,使其使用 ESLint 9。这包括将我们所有的 ESLint 配置迁移到使用现代扁平配置

Electron 32 更新

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

重要修复

  • 177046在扩展面板搜索后将崩溃

谢谢

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

问题跟踪

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

拉取请求

贡献于Visual Studio Code输入:

贡献于vscode-文档输入:

贡献于vscode-js调试输入:

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

贡献于vscode-mypy输入:

贡献于vscode-vsce输入:

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

贡献于ls协议输入:

贡献于宽容的PHP解析器输入: