2024 年 8 月(版本 1.93)
更新 1.93.1:此更新解决了这些问题。
下载:Windows:x64 Arm64 | Mac:通用 Intel Silicon | Linux:deb rpm tarball Arm snap
欢迎使用 Visual Studio Code 的 2024 年 8 月版本。此版本中有很多更新,我们希望您喜欢,其中一些主要亮点包括
- 配置文件编辑器 - 从一个地方切换和管理您的配置文件。
- Django 单元测试支持 - 从 Test Explorer 中发现并运行 Django 单元测试。
- vscode.dev 上的 IntelliSense - 通过 IntelliSense 提升您在 vscode.dev 中的 JS 和 TS 编码效率。
- 笔记本差异查看器 - 通过折叠未更改的单元格来有效地查看笔记本中的更改。
- 通过键盘调整列大小 - 通过键盘更便捷地调整 VS Code 中的表格列大小。
- 源代码管理图 - 轻松隐藏、折叠或移动源代码管理图。
- GitHub Copilot - 在快速聊天中添加上下文,改进测试生成和聊天历史记录。
- 实验:自定义 Copilot 指令 - 为 Copilot 定义特定的代码生成指令。
如果您想在线阅读这些发行说明,请访问更新,网址为code.visualstudio.com。内部人士:您希望尽快尝试新功能吗?您可以下载最新的内部人士版本,并在新功能可用后立即尝试。
辅助功能
通过键盘调整表格列大小
一个新命令,list.resizeColumn
,使您能够使用键盘调整列大小。当您触发此命令时,选择要调整大小的列并提供要设置的宽度的百分比。以下视频展示了如何将其应用于调整键盘快捷键编辑器中的列大小。
用于合成聊天回复的屏幕阅读器支持
我们更新了accessibility.voice.autoSynthesize
设置,使屏幕阅读器用户可以选择通过我们的合成器宣布聊天回复,而不是接收 aria 警报。
调试改进
当您在编辑器中进行调试时,调用调试:添加到监视命令现在会为屏幕阅读器用户宣布变量的值。
此外,调试辅助功能帮助对话框已得到改进,以提高完整性。
工作区
新的配置文件编辑器
新的配置文件编辑器现在已在 Visual Studio Code 中普遍提供给所有用户。新的配置文件编辑器使您能够从一个地方管理配置文件。此体验包括创建新配置文件、编辑和删除现有配置文件,以及导入和导出配置文件以与他人共享。有关更多信息,请参阅配置文件文档。
对窗口控制叠加层的 Linux 支持
一个新的设置window.experimentalControlOverlay
允许原生窗口控件出现,即使通过window.titleBarStyle
设置启用了自定义标题栏。
开箱即用,我们尚未在 Linux 上默认启用自定义标题,但我们计划最终启用。启用自定义标题后,原生窗口控制叠加层会自动出现。我们欢迎您在使用此新功能时发现的任何反馈意见!
注释排序
现在可以按注释在文件中的位置或按日期对注释进行排序。
从设置编辑器中复制设置 URL
您可以从设置编辑器中复制到特定设置的直接 URL。当您导航到设置 URL 时,它会打开 VS Code 并将设置编辑器中的相应设置聚焦。
资源管理器中的反向排序
我们添加了一个额外的排序选项,explorer.sortOrderReverse
,使您能够反转各种资源管理器排序配置,从而提供进一步的排序灵活性。
编辑器
灯泡改进
在之前的里程碑中,我们改进了显示代码操作灯泡图标的位置。我们现在决定将editor.lightbulb.enabled
默认设置为onCode
。这意味着灯泡图标仅在光标位于包含源代码的行上时才会显示,并且出现频率会降低。
操作列表的颜色主题
操作列表控件(例如代码操作菜单)的颜色可以通过主题使用editorActionList.background
、editorActionList.foreground
、editorActionList.focusForeground
和editorActionList.focusBackground
键进行配置。默认情况下,操作列表控件主题与快速选择和命令面板的主题相匹配。获取有关自定义颜色主题的更多信息。
GitHub Copilot
在本里程碑中,我们继续改进 VS Code 中的 GitHub Copilot 体验,涵盖编辑器、聊天视图和内联聊天。我们还添加了一些实验性功能供您尝试,并希望获得您的反馈。
改进的测试生成
使用 GitHub Copilot,您可以为您的代码生成测试,方法是使用编辑器内容菜单中的使用 Copilot 生成测试操作,或在内联聊天中使用/tests
斜杠命令。
我们通过查找现有测试文件并将新测试生成到该文件(附加到末尾)来改进测试生成流程。如果还没有测试文件,Copilot 会为生成的测试创建一个新的测试文件。
为生成测试和文档而重新命名的代码操作
当您将光标放在标识符(例如方法名称)上时,GitHub Copilot 会为您提供用于生成测试或文档的代码操作。为了更好地反映其目的,我们已将这些代码操作重命名为使用 Copilot 生成测试和使用 Copilot 生成文档。以前,它们被称为使用 Copilot 测试和使用 Copilot 文档。
改进的聊天历史记录
您可以使用聊天视图顶部的显示聊天按钮打开以前的聊天会话。这些会话现在具有更人性化的 AI 生成的名称。您还可以通过选择每行上的铅笔图标手动重命名会话。
这些聊天历史记录条目现在也按其上次请求的日期排序,并按日期桶进行标记和分组。
注意:只有新的聊天会话会获得 AI 生成的名称,您已经拥有的任何聊天会话都不会被重命名。
为空窗口保存聊天会话
以前,VS Code 不会为空窗口(没有打开文件夹或工作区)保存聊天会话。现在,这些会话按预期保存,并且可以从空窗口中加载以前的聊天,方法是使用显示聊天按钮。
注意:您应避免在多个空窗口中同时打开和使用同一个聊天会话。
在快速聊天中附加上下文
当使用快速聊天时,您现在可以使用附加上下文
操作将文件和符号等上下文附加到您的 Copilot 请求。
竖起大拇指反馈详情
您是否从 Copilot 聊天中获得了与您的预期不符的回复?通过为聊天回复选择工具栏上的竖起大拇指按钮来帮助我们。现在,它会显示一个下拉菜单,其中包含一些详细选项供您描述问题。您也可以从该菜单中打开问题报告器。
代码生成指令(实验性)
设置:github.copilot.chat.experimental.codeGeneration.instructions
Copilot 可以帮助您生成代码,例如作为重构的一部分、生成单元测试或实现功能。您可能希望使用特定的库,或者希望为 Copilot 生成的代码遵循特定的编码风格。
实验设置 github.copilot.chat.experimental.codeGeneration.instructions
允许您定义一组指令,这些指令将添加到每个生成代码的 Copilot 请求中。
这些指令可以在用户或工作区 设置 中定义,但也可以从文件中导入。
以下代码片段展示了如何从设置和外部文件定义一组指令
"github.copilot.chat.experimental.codeGeneration.instructions": [
{
"text": "Always add a comment: 'Generated by Copilot'."
},
{
"text": "In TypeScript always use underscore for private field names."
},
{
"file": "code-style.md" // import instructions from file `code-style.md`
}
],
myProject/code-style.md
文件内容
Always use React functional components.
Always add comments.
在截图中,您可以从引用部分看到这些指令已被使用
聊天视图中的自动聊天参与者检测(实验性)
设置: chat.experimental.detectParticipant.enabled
GitHub Copilot 有多个内置聊天参与者,例如 @workspace
,它们也会向聊天视图提供命令。以前,您必须在聊天提示中显式指定聊天参与者和命令。
为了更轻松地使用自然语言与聊天参与者进行交互,在接下来的几周内,我们将尝试启用 Copilot 聊天功能,自动将您的问题路由到合适的参与者或聊天命令。
如果自动选择的参与者不适合您的问题,您可以选择聊天回复顶部的 重新运行不包含 链接,将您的问题重新发送给 Copilot。
将最近的编码文件用作内联聊天上下文(实验性)
设置: github.copilot.chat.experimental.temporalContext.enabled
通常,当您提示 Copilot 时,您会问一个与您刚刚处理或查看的代码相关的问题。内联聊天现在可以使用最近查看或编辑的代码作为上下文,以提供更相关的建议。
此功能仍在实验阶段,但也适合所有人测试。
使用当前编辑器行作为内联聊天提示(实验性)
设置: github.copilot.config.experimental.inlineChatCompletionTrigger.enabled
现在,您可以直接在编辑器中开始输入,并使用当前行的内容作为内联聊天的提示,而不是先打开内联聊天,然后再输入聊天提示。为了获得更流畅的聊天体验,Copilot 可以检测到您是提示还是编写代码,然后自动为您启动内联聊天。
使用当前行作为内联聊天提示的不同方法如下
- 从 命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 中输入 内联聊天:使用当前行在编辑器中启动
- 为 inlineChat.startWithCurrentLine 命令配置一个键绑定,将其与
inlineChatExpansion
上下文键结合使用 - 启用
github.copilot.config.experimental.inlineChatCompletionTrigger.enabled
设置,以便 Copilot 检测到当前行主要是文本而不是源代码,然后启动内联聊天。
以下视频展示了 Copilot 如何在检测到当前行主要是文本后建议启动内联聊天。
从聊天开始调试(实验性)
设置: github.copilot.advanced.startDebugging.experimental.enabled
在 @vscode
聊天参与者上可以使用一个新的实验性斜杠命令 /startDebugging
。此命令允许您创建启动配置并开始调试您的应用程序。
您也可以通过 使用 GitHub Copilot 生成调试配置 选项(位于创建 launch.json 快速选择中)访问此命令。
根据测试覆盖率生成测试(实验性)
设置: github.copilot.chat.experimental.generateTests.codeLens
如果测试覆盖率信息可用,GitHub Copilot 可以为尚未被测试覆盖的函数和方法提供一个 CodeLens 使用 Copilot 生成测试。
语言
将“SQL”重命名为“MS SQL”
SQL 文件的语言名称已从“SQL”重命名为“MS SQL”,以更好地反映该语言对 Microsoft SQL Server (T-SQL) 语法的关注。此语言模式的文件扩展名仍然是 .sql
,语法高亮保持不变。
vscode.dev 上的完整项目 IntelliSense 和包类型
在 VS Code for the Web 上使用 JavaScript 和 TypeScript 变得更加容易。首先,我们实现了包 IntelliSense,这样您就可以看到从任何导入的包(例如 react
)中的建议和文档。这与 VS Code 桌面版的工作方式非常相似。
在 TypeScript 文件中,我们为 package.json
中列出的包提供 IntelliSense。JavaScript 文件更灵活,并使用 自动类型获取,为当前文件中导入的任何包提供 IntelliSense,即使它没有列在 package.json
中。
由于包 IntelliSense,我们还为 JavaScript 和 TypeScript 项目启用了完整项目 IntelliSense。这极大地改善了代码导航,让您能够正确地 转到定义 和 查找所有引用 项目中的任何符号。它还支持类型错误报告。现在我们甚至支持在编写代码时自动导入。
包类型和完整项目 IntelliSense 在 Chrome、Microsoft Edge 和 Firefox 中受支持。Safari 尚未支持,因为它没有实现 ReadableByteStreamController
。
源代码管理
源代码管理图表视图
根据用户反馈,我们将上一个里程碑中启用的历史图表从源代码管理视图移到了一个名为 源代码管理图表 的新视图中。这减少了主视图中的信息过载,并允许您根据需要隐藏/折叠/移动新视图。这也为一个功能齐全的历史图表奠定了基础。
源代码管理图表视图目前显示当前分支的远程/基础。在下一个里程碑中,我们将致力于添加过滤图表以显示任何存储库引用以及改善具有多个存储库的工作区体验的功能。
主题:GitHub Sharp(vscode.dev 上的预览)
支持 reftable 格式
Git 2.45 添加了对名为“reftable”的新引用存储后端的初步支持。在本里程碑中,我们更新了内置的 Git 扩展以支持这个新的引用存储后端。
使用 Git 2.45,您可以创建或克隆使用 --ref-format=reftable
标志的新引用存储后端的存储库。Git 2.46 还添加了对使用 git refs migrate
命令将现有存储库迁移到使用新引用存储格式的支持。
请注意,新的引用存储后端仍然被认为是实验性的。
紧凑文件夹设置
感谢社区贡献,我们添加了一个新的设置 scm.compactFolders
,用于控制在将更改作为树视图时是否以紧凑形式呈现源代码管理视图中的文件夹。
终端
Julia 和 NuShell 支持
现在对 Julia 和 NuShell 提供了 shell 集成支持。这将为这些 shell 类型启用诸如 命令装饰 和 运行最近的命令 等功能。
移动多个终端选项卡
现在您可以多选终端选项卡,并将它们作为有序组在终端列表中移动。
命令指南设置和颜色主题
命令指南是一个栏,当您将鼠标悬停在命令及其输出上时,它会显示在命令旁边。现在可以使用 命令指南 设置 terminal.integrated.shellIntegration.showCommandGuide
禁用它,并且可以使用 terminalCommandGuide.foreground
主题键通过主题配置颜色。
笔记本
在 diff 视图中显示或隐藏未更改的单元格
笔记本 diff 视图现在隐藏未更改的单元格,这使您能够专注于已更改的单元格。同时,所有未更改单元格的输入始终处于折叠状态。
在 diff 视图中管理空白
笔记本 diff 视图现在尊重以下设置
diffEditor.ignoreTrimWhitespace
- 在显示差异时忽略前导和尾随(修剪)空白。
笔记本执行计数的粘性滚动
向下滚动代码单元格时,代码单元格的执行计数现在会粘贴在屏幕底部。这使得在长代码单元格中工作时更容易看到执行状态并进行更新。
任务
在进程退出时保持任务终端打开
如果任务的终端进程以非零代码退出,我们现在会保持终端打开,以便更轻松地进行调试。
调试
跳转到变量定义
调试扩展现在可以将变量和表达式链接到代码中的位置。具有此链接的数据可在变量视图、观察视图和调试控制台中 Ctrl-选择(在 macOS 上 Cmd-选择)。
内置的 JavaScript 调试器将链接在代码中定义的函数的位置。其他调试扩展需要采用相应的协议更改才能启用此功能。
查找控件
您现在可以在调试控制台中打开查找控件 (⌥⌘F (Windows, Linux Ctrl+Alt+F)),以在输入中搜索结果。将来会研究对在输出中搜索结果的支持。
您还可以通过出现在调试控制台工具栏中过滤器控件右侧的操作 调试控制台:聚焦查找 访问此控件。
启动配置输入缓存
用于启动配置和任务的 输入变量 现在会保留它们最后输入的值,以简化重新运行依赖于它们的调试会话的过程。只有在输入上没有明确定义 default
时才会执行此操作。
JavaScript 调试器
实验性网络视图
JavaScript 调试器现在包含一个基本的实验性网络视图,该视图在启用 debug.javascript.enableNetworkView
设置时可用。该视图显示有关浏览器会话发出的请求和响应的信息。
主题:Codesong(vscode.dev 上的预览)
网络视图也适用于 Node.js 22.6.0 及更高版本,前提是进程使用 --experimental-network-inspection
在其参数中启动,例如,通过在 node
启动配置中添加 "runtimeArgs": ["--experimental-network-inspection"]
。
注意:Node 的网络实现仍处于早期阶段,大多数关于请求和响应的数据尚未可用。
测试
支持消息上的堆栈跟踪
测试扩展现在可以将堆栈跟踪与测试失败关联起来。当它们这样做时,您将在测试结果视图和错误窥视中看到调用堆栈中每个帧周围的代码。您可以在视图中的代码上 Ctrl-选择(在 macOS 上 Cmd-选择)以转到它们原始的位置,或使用它们标题上的 转到文件 操作。
主题:Codesong(在 vscode.dev 上预览)
安装程序
Debian 包现在会提示您确认是否要添加 packages.microsoft.com 存储库。这使您能够随后使用 apt 更新该包。
远程开发
远程开发扩展 允许您使用 Dev Container、通过 SSH 或 远程隧道 连接到远程机器,或将 适用于 Linux 的 Windows 子系统 (WSL) 用作功能齐全的开发环境。
亮点包括
- Dev Container 模板的可选路径
- 扩展了与通过 SSH 连接的远程操作系统的兼容性
您可以在 远程开发发布说明 中了解更多关于这些功能的信息。
适用于 Web 的 VS Code
git.openDiffOnClick
设置现在在 https://vscode.dev 或在使用 GitHub 存储库扩展 的桌面版上浏览 GitHub 存储库时生效。
对扩展的贡献
Python
Django 单元测试支持
我们很高兴地宣布支持我们最 受欢迎的功能 之一:您现在可以通过测试资源管理器发现并运行 Django 单元测试!有关如何启用此功能的设置说明,请 查看我们的文档。
主题:Catppuccin Macchiato(在 vscode.dev 上预览)
在您探索这个新添加的功能时,请在我们的 vscode-python 仓库 中提供反馈并报告任何问题,或使用 **Python: 报告问题** 命令。
原生 REPL 改进
我们对新的原生 REPL 体验进行了更多改进和错误修复。我们正在将原生 REPL 作为 智能发送 的默认目标进行推广,但如果您有兴趣尝试,可以在您的用户 settings.json
中设置 python.REPL.sendToNativeREPL
并重新加载 VS Code 窗口。
从 Pylance 的内联提示跳转到定义
当使用 Pylance 启用 内联提示 时,您现在可以通过将鼠标悬停在类型上并按住 Ctrl(在 macOS 上按住 Cmd)的同时单击,更方便地导航到该类型的定义。
调试测试时的重启支持
您现在可以通过调试工具栏控件在调试测试时重启调试器。
GitHub 拉取请求和问题
GitHub 拉取请求 扩展取得了更多进展,它使您能够处理、创建和管理拉取请求和问题。查看 扩展的 0.96.0 版的变更日志,以了解亮点。
扩展创作
EcmaScript 模块 (ESM) 加载对 VS Code 的影响
我们正在改变 VS Code 核心代码的加载方式,从 AMD/CommonJS 迁移到 ESM。扩展将继续以 CommonJS 的方式加载,但此更改会带来对 require
方法的更改:具体来说,require.main
从我们的 1.94
版本开始将变为 undefined
。如果您需要访问安装文件,请考虑改用 vscode.env.appRoot
或 联系我们。
终端 shell 集成 API
终端 shell 集成 API 现已可用。这个强大的 API 使扩展能够监听在终端中运行的命令,读取它们的原始输出、退出代码和命令行。
window.onDidEndTerminalShellExecution(event => {
if (event.execution.commandLine.value.startsWith('git')) {
if (event.exitCode === 0) {
// React to a successful git command
} else {
// React to a failing git command
}
}
});
它还提供了一种更可靠的执行命令的方法,该方法会在开始发送命令之前等待提示,从而防止命令在终端中多余地回显。
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const execution = shellIntegration.executeCommand({ commandLine });
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
请参阅 vscode.d.ts
中的 API 和 扩展示例 以了解更多信息。
Terminal.shellIntegration
window.onDidChangeTerminalShellIntegration
window.onDidStartTerminalShellExecution
window.onDidEndTerminalShellExecution
身份验证帐户 API
身份验证 API 现在在处理多个帐户时具有更多控制权。一直以来缺少的是获取所有帐户和获取特定帐户的 AuthenticationSession
的能力。现在可以通过最终确定 getAccounts
API 来实现。
希望使用身份验证会话的扩展作者可以运行以下代码以获取用户登录的帐户的 AuthenticationSessionAccountInformation
const accounts = vscode.authentication.getAccounts('microsoft');
然后,您可以使用这些帐户来专门为这些帐户生成会话
const session = vscode.authentication.getSession('microsoft', scopes, {
account: accounts[0]
});
注意:要使其正常工作,身份验证提供程序需要处理传递给
getSessions
和createSession
的参数。内置的 GitHub 和 Microsoft 提供程序已经采用了这一点。
我们认为这是处理多个身份验证会话以及处理我们以前无法支持的各种情况的最清晰的方法。
调试适配器协议
我们在 调试适配器协议 中的变量和其他数据类型中添加了 locationReferences
,以支持关联源位置。
VS Code 中的 WebAssembly
wasm-wasi-core
扩展的 1.0 版本以及 @vscode-wasm-wasi
和 @vscode/wasm-component-model
npm 模块已发布。使用示例可以在 vscode-extension-samples 存储库的 wasm-*
子文件夹中找到。在 VS Code 博客 上也有关于如何在 VS Code 扩展中使用 WebAssembly 代码的几篇帖子。
预览功能
终端 IntelliSense 改进
实验性 PowerShell IntelliSense 在此版本中得到了以下改进
git checkout
现在包含对-
的补全,用于切换到上一个分支。terminal.integrated.suggest.runOnEnter
的默认值现在设置为忽略,这意味着 Enter 不会与 IntelliSense 产生任何交互。这是来自用户的反馈,他们发现对肌肉记忆的影响过于干扰。- PowerShell 关键字现在可作为命令的补全(而不是参数)。
cd
的第一个目录建议现在始终是它本身,这使得在设置terminal.integrated.suggest.runOnEnter
时更加流畅。- 在命令行上的不同位置请求建议时,建议现在更加一致。
- 在向后导航目录时,会提供对
<path>/../
的补全。
Conpty 在产品中发布
Conpty 是终端的后端,它模拟了其他操作系统上伪终端的工作方式。此组件已在 Windows 本身中发布,这意味着错误修复是通过 Windows 更新发布的。用户可能需要等待很长时间才能获得这些修复。
在此版本中,我们有一个实验性设置,它将 conpty 与 VS Code 本身捆绑在一起,类似于 Windows 终端的做法。这意味着用户可以随着我们发布 VS Code 的更新而获得错误修复,而不是等待 Windows 更新。
要启用此功能,请将以下设置设置为 true
"terminal.integrated.experimental.windowsUseConptyDll": true
启用此功能后,您应该期待的改进类型是
- 更好的性能
- 更可靠的 shell 集成
- 更多转义序列支持(例如,很快将在 Windows 上支持 sixel)
目前已知的问题是,某些用户有一个进程一直存在并阻止 VS Code 更新 (microsoft/vscode#225719),这需要手动杀死进程才能启用更新。
TypeScript 5.6 支持
我们继续改进对即将发布的 TypeScript 5.6 版本的支持。查看 TypeScript 5.6 RC 博客文章,了解此版本包含的内容。
要开始使用 TypeScript 5.6 的预览版本,请安装 TypeScript Nightly 扩展。
新的问题报告器实现
在此里程碑中,我们正在尝试新的问题报告器实现。功能保持不变,但应该有一些改进,例如改进的多显示器支持,以及在 VS Code for the Web 中提供问题报告器。
新版本的问题报告器默认启用,可以在 VS Code 的桌面版中使用 issueReporter.experimental.auxWindow
设置进行配置。
建议的 API
用于语言模型的工具
我们继续迭代我们的 LanguageModelTool
API。API 包含两个主要部分
-
扩展注册工具的能力。工具是一段功能,旨在供语言模型使用。例如,读取文件的 Git 历史记录。
-
语言模型支持工具的机制,例如扩展在发出请求时传递工具,语言模型请求工具调用,以及扩展将工具调用的结果传回。
本月的更改之一是添加了用户手动将某些工具附加到他们的聊天请求的能力。一个例子是,用户想要在其请求中使用的计算了一些动态上下文的工具。
提案可以在 vscode.proposed.lmTools.d.ts 中找到。查看 tool-user
示例扩展,它演示了如何注册和调用工具。
关注 问题 #213274 以获取更新或提供反馈。
注意: API 仍在积极开发中,可能会发生变化。
测试增强
将代码与测试关联
我们正在开发一个 API,使扩展能够将代码与测试关联起来,反之亦然。这使用户可以在这两者之间跳转,并使诸如在光标处运行测试之类的操作也能在实现代码中生效。我们预计随着 API 的发展,将构建更多体验。
查看 vscode#126932 获取更多信息和更新。
可归因的测试覆盖率
我们正在开发一个 API,用于在每个测试的基础上归因测试覆盖率。这使用户能够看到哪些测试运行了哪些代码,从而过滤掉在编辑器中显示的覆盖率以及在测试覆盖率视图中显示的覆盖率。
查看 vscode#212196 获取更多信息和更新。
聊天参与者检测 API
如果您正在编写一个扩展,该扩展向聊天视图贡献参与者或聊天命令,您可以通过在 package.json
中的 chatParticipants
贡献中添加元数据来使您的参与者和命令能够被自动检测。我们更新了 vscode-extension-samples
仓库,其中包含 示例,说明如何采用此 API。在测试时,请确保设置 chat.experimental.detectParticipant.enabled
。请注意,这是一个提议的 API,可能会发生变化。
网站
我们修复了 VS Code API 页面下的几个链接。指向通用类型和函数的链接再次有效,原始类型和值不再被格式化为链接!
工程
在 VS Code 中使用 ESM 的进展
在此里程碑中,我们完成了采用 ESM 以用于 VS Code Core 的大部分工作。我们的目标是使用 ECMAScript 模块 (ESM) 加载并完全放弃 AMD。我们将从 9 月开始发布支持 ESM 的 Insider 版本,并计划在 10 月的下一个版本中将 ESM 推出到稳定版本。
我们在 https://github.com/microsoft/vscode/issues/226260 中记录了发布 ESM 的计划。
值得注意的修复
感谢
最后但并非最不重要的是,对 VS Code 贡献者的衷心感谢。
问题跟踪
对我们的问题跟踪的贡献
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
- @albertosantini (Alberto Santini)
拉取请求
对 vscode
的贡献
- @akinomyoga (Koichi Murase): 修复 Bash 集成覆盖
$?
以用于 PROMPT_COMMAND PR #226929 - @andrewbranch (Andrew Branch): [typescript-language-features] 添加 autoImportSpecifierExcludeRegexes 偏好设置 PR #226202
- @anton-matosov (Anton Matosov): 针对 #171066 的后续修复,修复了 zsh 和 fish shell 的实现 PR #223421
- @arvid220u (Arvid Lunnemark): 从未运行清除的辅助窗口超时 PR #221296
- @BABA983 (BABA)
- 删除重复代码 PR #224091
- 在拖动多个选项卡后,尊重原始终端选项卡顺序 PR #224591
- 添加 registerWindowTitleVariable 命令 PR #225408
- @bsShoham (Shoham Ben Shitrit): 在单词开头触发聊天变量完成 PR #224174
- @Cecil0o0 (hj): 重构: 合并相同的命名空间声明 PR #219638
- @CGNonofr (Loïc Mangeonjean): 正确检测所有地方的节点环境 PR #221357
- @cobey (Cody Beyer): 为 Python 和 JS 添加 ai-inference 标签 PR #225098
- @dangerman (Anees Ahee)
- 修复命令面板中缺少“重新启动 TS 服务器”命令 PR #223433
- 圆角通知焦点轮廓 PR #225824
- @Flanker32 (Hanxiao Liu): 更新 Java AI 库的工作区标记 PR #223677
- @gabritto (Gabriela Araujo Britto)
- [typescript-language-features] 在可用时使用 tsserver 中的提交字符 PR #223541
- [typescript-language-features] 修复诊断遥测属性名称 PR #225079
- @gjsjohnmurray (John Murray)
- 在还原操作(也重置 mtime)之后显示只读文件名装饰(修复 #221014) PR #221023
- 修复完成项状态栏文本的错误大写(#_225429) PR #225431
- 改进
workbench.editor.enablePreview
设置的描述(修复 #225453) PR #225704
- @hron (Aleksei Gusev): 修复:
merge.toggleActiveConflict
作为快捷键 PR #225320 - @iisaduan (Isabel Duan): 将 typescript 的 organizeImports 添加到设置接口中 PR #209293
- @jeanp413 (Jean Pierre)
- 修复搜索结果在编辑器更改时不会自动更新,如果我将搜索视图移动到另一个位置 PR #215764
- 更改终端重命名 codicon PR #225444
- 修复资源管理器将包含“cut”一词的任何文件夹/项目变灰 PR #225455
- @Jesscha (JessCha): 修复 extHostExtensionService.ts 中的拼写错误 PR #224111
- @m-byte (Matthias B.): 修复: 只为想要 apt 源的用户添加 apt 源 (#_22145) PR #221285
- @mkasenberg: 修复搜索编辑器的 focusResult PR #205914
- @mogelbrod (Victor Hallberg): 在评论面板中添加“按更新时间排序”选项 PR #221665
- @NriotHrreion (Norcleeh): 修复: 活动终端被杀死时,命令面板关闭 PR #225500
- @r3m0t (Tomer Chachamu): 修复打开用户设置时“打开工作区设置”(修复 #148709) PR #225311
- @rbuckton (Ron Buckton): 更新以支持 strictBuiltinIteratorReturn PR #222009
- @rehmsen (Ole): 使笔记本编辑器中 markdown 评论中的常规文本换行。 PR #224484
- @RichardLuo0 (RichardLuo): 修复: 从对话框按钮中删除工具提示 PR #225772
- @stalematker (Kevin): 修复 extensionEnablementService.ts 中的拼写错误 PR #224145
- @swordensen (Michael Sorensen): 修复 #218626 PR #219148
- @thegecko (Rob Moran): 添加 viewContainer 贡献点 PR #212499
- @tisilent (xiejialong): 添加 scm.compactFolders。 PR #221459
- @troy351: 修复: multiDiffEditor 的背景颜色名称错误 PR #224151
- @walter-erquinigo (Walter Erquinigo): 处理来自动态调试配置提供程序的错误 PR #202622
- @zkat (Kat Marchán): 停止 AutoInstallerFs 无限期地反复运行,并修复类型安装程序 PR #225648
对 vscode-css-languageservice
的贡献
- @wkillerud (William Killerud): 修复:支持 sass 的 pkg 中的条件导出 PR #400
对 vscode-eslint
的贡献
- @denis-sokolov (Denis Sokolov): Readme 中的微小修复 PR #1903
对 vscode-flake8
的贡献
- @taesungh (Taesung Hwang): 使用全局设置作为
ignorePatterns
的默认值 PR #327
对 vscode-generator-code
的贡献
- @spjpgrd (seán patrick john paul george ringo doran): 更新 vsc-extension-quickstart.md PR #486
对 vscode-hexeditor
的贡献
- @tomilho (Tomás Silva): HexEditor diff PR #522
对 vscode-isort
的贡献
- @iloveitaly (Michael Bianco): 修复:添加工具路径,以便 isort 在没有捆绑版本的情况下也能工作 PR #417
- @jicruz96 (J.I. Cruz): 如果文件有
skip_file
注释,则不要记录回溯 PR #416
对 vscode-js-profile-visualizer
的贡献
对 vscode-json-languageservice
的贡献
- @jeremyfiel (Jeremy Fiel): 更新 DocumentSymbols.test.ts 中的无效 json 实例 PR #241
- @remcohaszing (Remco Haszing): 弃用 Thenable 并将其别名为 PromiseLike PR #239
- @ttlopes (Tomás Lopes): 修复 microsoft/vscode#209655: 修复区分大小写的 JSON 排序错误 PR #238
对 vscode-languageserver-node
的贡献
- @DavyLandman (Davy Landman): 显示来自 LSP 服务器的错误消息 PR #1490
- @sh-cho (Seonghyeon Cho): 修复 npm、azure 管道链接 PR #1544
对 vscode-loader
的贡献
- @SimonSiefke (Simon Siefke): 特性:如果
this
未定义,则将amdLoaderGlobal
设置为globalThis
PR #58
对 vscode-mypy
的贡献
- @hamirmahal (Hamir Mahal)
- @meghprkh (Megh Parikh): 将 mypy 更新到 1.11.0 PR #311
对 vscode-pull-request-github
的贡献
对 vscode-python-debugger
的贡献
对 vscode-vsce
的贡献
- @BlackHole1 (Kevin Cui): 修复:概率性触发 v8 崩溃 PR #1032
- @mark-wiemer (Mark Wiemer): 修复 punycode 弃用警告 PR #1037
对 language-server-protocol
的贡献
- @asukaminato0721 (Asuka Minato): 添加 egglog PR #1989
- @LPeter1997: 在 .NET 中添加 Draco.Lsp 作为 LSP SDK PR #2001
- @marcoroth (Marco Roth)
- @techee (Jiří Techet): 在支持 LSP 的编辑器列表中添加 Geany PR #2008
- @XuechunHHH (Xuechun Hua): 在 servers.md 中添加 PartiQL PR #1985
对 python-environment-tools
的贡献