2024 年 8 月 (版本 1.93)
更新 1.93.1:此更新解决了这些 问题。
下载:Windows:x64 Arm64 | Mac:通用 Intel Apple 芯片 | Linux:deb rpm tarball Arm snap
欢迎使用 Visual Studio Code 2024 年 8 月发布版本。此版本包含许多更新,我们希望您会喜欢,其中一些主要亮点包括
- 配置文件编辑器 - 在一个地方切换和管理您的配置文件。
- Django 单元测试支持 - 从测试资源管理器中发现并运行 Django 单元测试。
- vscode.dev 上的 IntelliSense - 使用 IntelliSense 提升您在 vscode.dev 上的 JS 和 TS 编码体验。
- 笔记本差异查看器 - 通过折叠未更改的单元格,高效地审查笔记本中的更改。
- 通过键盘调整列大小 - 通过键盘使 VS Code 中的表格列调整更易于访问。
- 源代码管理图 - 轻松隐藏、折叠或移动源代码管理图。
- GitHub Copilot - 在快速聊天中添加上下文,改进测试生成和聊天历史记录。
- 实验:自定义 Copilot 指令 - 为 Copilot 定义特定的代码生成指令。
如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新。Insiders:想尽快尝试新功能吗?您可以下载每晚的 Insiders 构建版本,并在新功能可用时立即尝试最新的更新。
辅助功能
通过键盘调整表格列大小
新命令 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 不会为打开空窗口(未打开文件夹或工作区)时保存聊天会话。现在,这些会话会按预期保存,并且可以通过“**显示聊天**”按钮加载空窗口中的以前聊天记录。
注意:您应避免同时在多个空窗口中打开和使用同一个聊天会话。
在快速聊天中附加上下文
使用快速聊天时,您现在可以使用 Attach Context
操作将文件和符号等上下文附加到您的 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
。此命令使您能够创建启动配置并开始调试您的应用程序。
您还可以通过“创建 launch.json 快速选择”中的“**使用 GitHub Copilot 生成调试配置**”选项访问此命令。
根据测试覆盖率生成测试(实验性)
设置: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 和包类型
在 Web 版 VS Code 上使用 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
主题键配置其颜色。
笔记本
在差异视图中显示或隐藏未更改的单元格
笔记本差异视图现在会隐藏未更改的单元格,这使您可以专注于已更改的单元格。同时,所有未更改单元格的输入始终处于折叠状态。
在差异视图中管理空白
笔记本差异视图现在遵循以下设置
diffEditor.ignoreTrimWhitespace
- 显示差异时忽略前导和尾随(修剪)空白。
笔记本执行计数粘滞滚动
当向下滚动代码单元格时,代码单元格的执行计数现在会粘滞在屏幕底部。这使得在长代码单元格中工作时更容易查看执行状态和更新。
任务
进程退出时保持任务终端打开
如果任务的终端进程以非零代码退出,我们现在会保持终端打开以方便调试。
调试
跳转到变量定义
调试扩展现在可以将变量和表达式链接到代码中的位置。具有此链接的数据在变量视图、监视视图和调试控制台中可按 Ctrl 选择(macOS 上为 Cmd 选择)。
内置的 JavaScript 调试器将链接代码中定义的函数位置。其他调试扩展需要采用相应的协议更改才能启用此功能。
查找控件
您现在可以在调试控制台 (⌥⌘F (Windows, Linux Ctrl+Alt+F)) 中打开查找控件,以在输入中搜索结果。对输出中搜索结果的支持将在未来的里程碑中进行调查。
您还可以通过调试控制台工具栏中过滤器控件右侧的“`Debug Console: Focus Find`”操作来访问该控件。
启动配置输入缓存
启动配置和任务中使用的输入变量现在会保留其上次输入的值,以简化重新运行依赖于它们的调试会话的过程。仅当输入上没有明确定义 default
时,才会执行此操作。
JavaScript 调试器
实验性网络视图
JavaScript 调试器现在包含一个基本的、实验性的网络视图,当 debug.javascript.enableNetworkView
设置打开时可用。该视图显示浏览器会话发出的请求和响应信息。
主题:Codesong(在 vscode.dev 上预览)
当进程在其参数中通过 --experimental-network-inspection
启动时,网络视图也适用于 Node.js 22.6.0 及更高版本,例如通过将 "runtimeArgs": ["--experimental-network-inspection"]
添加到 node
启动配置中。
注意:Node 的网络实现仍处于早期阶段,大多数有关请求和响应的数据尚未可用。
测试
支持消息的堆栈跟踪
测试扩展现在可以将堆栈跟踪与测试失败关联起来。当它们这样做时,您将在测试结果视图和错误预览中看到调用堆栈的每个帧周围的代码。您可以在视图中按 Ctrl 选择(macOS 上为 Cmd 选择)代码以转到其原始位置,或在其标题上使用“**转到文件**”操作。
主题:Codesong(在 vscode.dev 上预览)
安装程序
Debian 包现在会提示您确认是否要添加 packages.microsoft.com 存储库。这使您以后可以使用 apt 更新包。
远程开发
远程开发扩展允许您使用开发容器、通过 SSH 或远程隧道连接的远程机器,或者 适用于 Linux 的 Windows 子系统 (WSL) 作为功能齐全的开发环境。
亮点包括
- 开发容器模板的可选路径
- 通过 SSH 扩展了对远程操作系统的兼容性
您可以在远程开发发行说明中了解有关这些功能的更多信息。
Web 版 VS Code
在 https://vscode.dev 上或在桌面通过 GitHub Repositories 扩展浏览 GitHub 存储库时,现在会遵守 git.openDiffOnClick
设置。
对扩展的贡献
Python
Django 单元测试支持
我们很高兴地宣布支持我们最请求的功能之一:您现在可以通过测试资源管理器发现并运行 Django 单元测试!有关如何启用此功能的设置说明,请查看我们的文档。
主题:Catppuccin Macchiato(在 vscode.dev 上预览)
当您探索此新增功能时,请在我们的 vscode-python 仓库中提供反馈并报告任何问题,或使用“**Python: Report Issue**”命令。
原生 REPL 改进
我们对新的原生 REPL 体验进行了更多改进和错误修复。我们正在实验性地将原生 REPL 作为智能发送的默认目标,但如果您有兴趣尝试此功能,可以在用户 settings.json
中设置 python.REPL.sendToNativeREPL
并重新加载 VS Code 窗口。
使用 Pylance 从内联提示转到定义
当 Pylance 启用内联提示时,您现在可以通过将鼠标悬停在其上并按住 Ctrl(macOS 上为 Cmd)单击来更方便地导航到类型的定义。
调试测试时支持重新启动
您现在可以通过调试工具栏控件在调试测试时重新启动调试器。
GitHub 拉取请求和问题
GitHub 拉取请求 扩展取得了更多进展,它使您能够处理、创建和管理拉取请求和问题。查看扩展 0.96.0 版本的更新日志以了解亮点。
扩展创作
VS Code EcmaScript 模块 (ESM) 加载的影响
我们正在将 VS Code 核心中的代码加载方式从 AMD/CommonJS 更改为 ESM。扩展将继续以 CommonJS 方式加载,但此更改会带来 require
方法的变化:具体来说,从我们的 1.94
版本开始,require.main
将为 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 提供程序已经采用了此功能。
我们相信这是处理多个身份验证会话以及处理以前无法支持的各种场景的最清晰方式。
调试适配器协议
我们在 调试适配器协议中的 Variables 和其他数据类型中添加了 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 扩展。
新的问题报告器实现
在此里程碑中,我们正在尝试新的问题报告器实现。功能保持不变,但应该有一些改进,例如改进的多显示器支持,以及 Web 版 VS Code 中问题报告器的可用性。
新版本的问题报告器默认启用,可以在桌面版 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 核心的大部分工作。我们的目标是使用 ECMAScript 模块 (ESM) 加载并完全放弃 AMD。我们将在 9 月开始发布支持 ESM 的 Insider 构建版本,并计划在 10 月的下个版本中将 ESM 推送到稳定版。
我们发布 ESM 的计划记录在 https://github.com/microsoft/vscode/issues/226260 中。
重要修复
感谢
最后但同样重要的是,对 VS Code 的贡献者们致以衷心的***感谢***。
问题跟踪
对我们问题跟踪的贡献
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
- @albertosantini (Alberto Santini)
拉取请求
对 vscode
的贡献
- @akinomyoga (Koichi Murase):修复 Bash 集成破坏
$?
for 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):在任何地方正确检测 node 环境 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
- 更改终端重命名图标 PR #225444
- 修复资源管理器灰显任何包含“cut”字样的文件夹/项的问题 PR #225455
- @Jesscha (JessCha):修复 extHostExtensionService.ts 中的拼写错误 PR #224111
- @m-byte (Matthias B.):修复:只为需要它们的用户添加 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 包中的条件导出 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 差异 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 Pipeline 链接 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):将 Geany 添加到支持 LSP 的编辑器列表 PR #2008
- @XuechunHHH (Xuechun Hua):将 PartiQL 添加到 servers.md PR #1985
对 python-environment-tools
的贡献