2024年9月(版本1.94)
更新 1.94.1:此更新解决了这个安全问题。
更新 1.94.2:此更新解决了这些问题。
下载: Windows: x64 Arm64 | Mac: 通用 英特尔 硅 | Linux: deb rpm tarball Arm snap
欢迎来到2024年9月Visual Studio Code的发布版本。这个版本有很多更新,我们希望你会喜欢,其中一些主要亮点包括:
- 在资源管理器中查找 - 通过改进的查找控件快速在资源管理器视图中查找文件。
- 源代码控制图 - 源代码控制图中增加了更多的筛选选项和交互性。
- Python测试覆盖率 - 使用覆盖运行Python测试,并在编辑器中获得丰富的结果。
- ESM - 通过迁移到 ESM,VS Code 启动速度更快。
- 账户偏好 - 指定扩展使用哪个账户。
- 原生REPL中的Copilot - 在原生REPL中获取代码补全和内联聊天。
- 改进的聊天上下文 - 可以拖放文件或使用IntelliSense以获得更相关的聊天上下文。
- 测试环境设置 - 获取有关在您的工作区设置测试框架的帮助。
如果您想在线阅读这些发行说明,请访问 更新 页面 code.visualstudio.com。 内部用户: 想尽快尝试新功能吗?您可以下载 内部用户 每夜构建版本,并在最新更新可用时立即尝试。
GitHub Copilot
切换聊天中的语言模型
之前,我们宣布您可以注册提前访问OpenAI的o1模型。获得访问权限后,您将在VS Code的Copilot Chat中看到一个Copilot Chat模型选择器控制,用于选择聊天对话中使用的模型版本。

GPT-4o 在内联聊天中
我们已经将 Copilot 代码辅助聊天升级到 GPT-4o,这样当您在编辑器中使用聊天功能时,可以为您提供更快、更准确、更高质量的代码和解释。
在聊天中公开代码匹配
您可以允许 GitHub Copilot 返回可能与 GitHub.com 上的公开代码匹配的代码。当此功能在您的 组织订阅 或 个人订阅 中启用时, Copilot 代码补全已经为您提供有关检测到的匹配的详细信息。我们现在也在 Copilot Chat 中向您显示这些公开代码的匹配。
如果此功能已启用,请在响应的末尾看到一条消息,带有 查看匹配 链接。如果选择该链接,将打开一个编辑器,显示匹配代码引用的更多详细信息。

获取更多关于GitHub Copilot中的代码引用的信息,请访问GitHub博客。
在聊天中提出文件建议
在聊天输入框中,您现在可以输入#<文件名>获取文件名建议并快速将其附加到您的提示中作为上下文。这适用于支持文件附件的聊天位置,例如聊天视图、快速聊天、内联聊天和笔记本聊天。
改进了聊天响应中的文件链接
我们已经改进了在 Copilot 回复中提到的任何工作区文件路径的渲染。当你询问时,这些路径非常常见。@工作区问题。
你首先会注意到的是,工作区文件的路径现在包括一个文件图标。这使你能够在聊天响应中轻松区分它们。文件图标基于你当前的文件图标主题。

这些路径是交互链接,所以只需选择它们以打开相应的文件。您甚至可以使用拖放功能在新的编辑器组中打开文件,或者在拖放时按住Shift将其插入文本编辑器。
默认情况下,这些链接只显示文件名,但你可以将鼠标悬停在它们上面以查看完整的文件路径。

你也可以右键单击这些路径之一以打开上下文菜单,其中包含附加命令,例如将相对路径复制到资源,或在操作系统文件资源管理器中显示文件。

我们计划在未来的迭代中进一步改进工作区路径渲染,并对响应中的符号名称进行类似的改进。
将文件拖放到聊天上下文中
现在,您可以通过将文件或编辑器标签直接从工作台拖动到聊天中,轻松附加额外文件作为聊天提示的上下文。对于Inline Cat,按住Shift并拖动文件以将其添加为上下文,而不是在编辑器中打开它。
历史中包含的文件附件
有多种方法可以将文件或编辑器选择附加到您的聊天请求的相关上下文中。以前,此上下文仅添加到当前请求中,并且不包括在后续请求的历史记录中。现在,这些附件会保留在历史记录中,因此您可以继续引用它们,而无需重新附加。

在 Python 本地 REPL 中进行内联聊天和完成
Python 扩展使用的本地 REPL 编辑器现在支持 Copilot 代码补全和内联聊天直接在输入框中进行。
接受并在笔记本中运行生成的代码
当您在笔记本中使用 Copilot 代码审查生成代码时,您现在可以接受并直接从代码审查中运行生成的代码。
在笔记本聊天中附加变量
当你在笔记本中使用 Copilot 时,你现在可以将 Jupyter 内核中的变量附加到你的请求中。添加变量可以让你对聊天请求的上下文有更精确的控制,从而获得更相关的回复。
任何类型#,接着是变量名,或者使用 📎 控制键 (⌘/ (Windows, Linux Ctrl+/)) 在内联聊天中添加上下文变量。
焕新的聊天用户体验
我们更新了聊天视图,提供了一个全新的欢迎体验,并更新了聊天输入区域的布局。现在你可以使用@按钮,轻松找到可用的聊天参与者和斜线命令,包括内置的和您已安装的扩展中的聊天参与者。您仍然可以通过输入来查找参与者和斜线命令输入:/或@在聊天输入框中。

语义搜索结果(预览)
设置:
搜索视图使您能够对文件进行精确搜索。我们现在已将功能添加到搜索视图中,该功能使用 Copilot 来提供语义上相关的搜索结果。
此功能仍在预览中,且默认情况下未启用。请尝试一下并告诉我们您的想法!
修复测试失败(预览)
设置:
我们添加了专门的逻辑,以帮助您诊断失败的单元测试。此逻辑在某些情况下由触发。/修复斜线命令,并且你也可以直接使用/修复测试失败斜线命令。该命令默认在聊天中启用,但可以通过设置禁用。
自动测试设置(实验性)
设置:
我们增加了一个实验性的/设置测试 一个可以帮助您配置工作区测试设置的斜线命令。此命令可以推荐一个测试框架,提供设置和配置它的步骤,并建议一个VS Code扩展以提供 VS Code中的测试集成。这可以节省您开始代码测试的时间和精力。
当你使用/测试命令来为你的代码生成测试,它可以推荐/设置测试并测试扩展,如果在你的工作区中尚未设置此集成。
从聊天开始调试(实验性)
设置:
在这个里程碑中,我们对实验进行了改进/开始调试 斜线命令。此命令使您能够轻松找到或创建启动配置并启动 调试 您的应用程序。当您使用 @vscode在Copilot聊天中,/开始调试现在默认可用。

指挥中心聊天(实验性)
设置:
我们正在尝试通过命令中心入口访问聊天功能。它提供快速访问所有相关聊天命令,例如启动不同的聊天体验或为您的提示附加上下文。请注意,命令中心本身需要启用才能显示聊天命令中心入口。

改进的时间上下文(实验性)
设置:
有了时间上下文,您可以指示内联聊天将最近打开或编辑的文件视为聊天上下文的一部分。我们已经改进了这个功能,并邀请大家来试一试。
自定义指令(实验性)
设置:
设置:
最后一个里程碑,我们引入了自定义代码生成指令。我们进一步扩展了这一功能,以定义共享指令用于代码生成.github/copilot-instructions.md在你的工作区中创建文件。这些常见的指令补充了你个人的代码生成指令。启用代码生成指令文件
此外,您现在可以在设置中定义测试生成的说明或从文件导入它们。例如,如果您总是希望为测试使用特定的单元测试框架。在 测试生成 中配置测试生成说明。
无障碍
入门指南
我们的帮助菜单现在包括一个无障碍功能入门指南,使您更容易探索和使用无障碍选项。该指南向您介绍无障碍帮助对话框、无障碍信号、键盘快捷键等功能。

评论无障碍改进
我们引入了一个用于评论线程控制的可访问视图。此视图包括相关的编辑器上下文,使您无需在编辑器和可访问视图之间切换即可保持专注。同样,评论面板现在在可访问视图中提供编辑器上下文。
我们还引入了注释:将注释焦点设置在当前行命令,允许您通过键盘快速在编辑器中移动到注释控制。注释:转到下一个注释范围和注释:转到上一个注释范围。
工作台
更改扩展账户的偏好设置
在这一版本中,我们探索了如何改进更改扩展程序首选账户的体验。例如,如果您有多个 GitHub 账户,并且您不小心用错误的账户登录了 GitHub Copilot,现在需要使用另一个账户。
现在可以通过多种方式在事后更改该偏好。
-
活动栏中的账户菜单 > <您的账户> > 管理受信任的扩展 > 选择扩展的齿轮图标

-
扩展 查看 > 上下文菜单(或齿轮图标)对使用 auth 的扩展 > 选择 账户偏好

-
扩展详细视图 > 齿轮图标 > 选择 账户偏好

选择其中任何一个选项,将带您进入快速选择界面,在此您可以更改扩展使用的帐户。

当您更改扩展程序的帐户偏好设置时,此操作会向扩展程序发送事件,扩展程序需要正确处理该事件。如果您没有看到预期的行为,请向该扩展程序报告问题,以便处理帐户偏好设置体验。
另外,请告诉我们您对这个流程的任何反馈。
查看与配置文件关联的文件夹和工作区
在这个里程碑中,我们在配置文件编辑器中引入了文件夹和工作区部分。这个部分从一个中央位置列出与特定配置文件关联的所有文件夹和工作区。从这个部分,你可以添加或修改文件夹,或者在新Windows中打开文件夹或工作区。

更新所有配置文件的扩展
在这个里程碑中,我们引入了在所有配置文件中更新扩展的功能。如果你有多个配置文件,并且你想保持扩展版本的一致性,这将非常有用。以前,你必须切换到每个配置文件并更新该配置文件的扩展。
扩展视图中的警告
当存在任何无效的扩展或因版本不兼容而被禁用的扩展时,扩展视图现在会显示一个警告徽章和相关的信息。

在资源管理器中查找
我们改进了资源管理器视图中的查找功能,以便在大型项目中更容易地搜索文件。您可以通过使用⌥⌘F(Windows, Linux Ctrl+Alt+F)键盘快捷键在文件资源管理器中打开查找控制。在搜索时,您可以切换模糊匹配和连续匹配以获得更灵活的结果。
请注意,在搜索期间,一些上下文菜单操作暂时禁用。请期待即将带来的更多改进!
发行说明
我们在发布说明中提供了一种简化的语法来引用设置

编辑器
镶嵌提示改进
我们已经添加了
我们还修订了嵌入式提示的更新策略,现在,在输入时,它们应该更新得更快,但不会导致光标发生任何水平移动。
实验编辑上下文
这个里程碑,我们引入了一种新的实验设置
启用此设置后,请确保重新加载 VS Code Windows以利用该设置。
源代码管理
源代码控制图表视图改进
最后一个里程碑,我们添加了新的源代码控制图视图。在这个里程碑中,我们一直在努力扩展新添加视图的功能,并优化视图的布局。
仓库选择器
当你打开一个包含多个仓库的文件夹/工作区时,源代码控制图视图标题会显示一个仓库选择器。默认情况下,源代码控制图视图显示活动仓库,与状态栏中的信息匹配。你可以使用仓库选择器来锁定源代码控制图视图到某个特定的仓库。

历史项目参考选择器
这个里程碑,我们在源代码控制图视图标题中添加了一个新的历史记录项引用选择器。您可以使用此引用选择器筛选图中显示的历史记录项到不同的分支,或者查看多个分支。

默认情况下,历史项引用选择器设置为自动,该图形显示当前历史项引用、其远程位置以及一个可选的基点。

历史项目操作
这个里程碑,我们扩展了源代码控制历史项目上下文菜单中可用的操作列表。我们添加了从历史项目创建新分支/标签、选择性合并历史项目和检出(分离)项目的操作。

源代码控制图设置
这个里程碑,我们增加了一组新的设置,这样你就可以自定义图表:
- scm.图表.徽章- 控制在源代码控制图表视图中显示哪些徽章
- scm.graph.pageOnScroll- 控制 Source Control Graph 视图在你滚动到列表末尾时是否加载下一页项目
- scm.graph.pageSize- 默认显示在源代码控制图视图中和加载更多项目时的项目数量
笔记本电脑
支持单元格之间的多光标(预览)
Notebook编辑器现在在设置之间支持单元格之间的多光标编辑
Diff编辑器显示文档元数据更改
笔记本差异编辑器现在也显示对文档元数据(如内核信息和单元格语言)所做的更改。

在差异视图中折叠未更改的区域
笔记本差异视图现在尊重该设置

在网页工作线程中进行笔记本序列化(实验性)
此版本引入了一个实验性功能,可以在网页工作线程中对笔记本进行序列化。当你处理大型笔记本时,这可以帮助减少扩展主机进程中的主线程阻塞时间。默认情况下,此功能是禁用的,但可以通过设置启用。
真输入:.
调试
支持数据去噪
VS Code 支持来自 Debug Adapter Protocol 的新文本样式功能。这使得 Variables 视图、Watch 视图、悬停和 Debug 控制台中的数据可以通过 ANSI 逃逸序列进行颜色化。
JavaScript 调试器
改进的HTML元素显示
我们改进了HTML元素在JavaScript调试器中的显示方式。以前,它们被渲染为简单的对象,难以导航。现在,它们更接近DOM结构,并且我们利用新的颜色化功能提供了一些基本的语法高亮。

在启动配置中自动完成节点命令
有一个新的自动完成助手可用在launch.json用于命令行应用程序的文件,这些文件安装在你的节点模块这使得为像这样的工具设置调试更加容易视网膜测试或鸟巢输入:.
清理已加载的源视图
我们改变了Node.js内置模块、评估脚本和WebAssembly模块的源路径结构,以使已加载的源视图更安静,更容易浏览。
语言
TypeScript 5.6
我们的JavaScript和TypeScript支持现在使用TypeScript 5.6。这个重要的更新包括了许多语言和工具的改进,以及重要的错误修复和性能优化。
您可以在TypeScript博客上阅读关于TypeScript 5.6发布的所有内容。在接下来的几节中,我们还包含了一些工具亮点。
检测一些常见的“总是成立”的编程错误
假设你在JavaScript或TypeScript中使用正则表达式,并编写如下代码:
常量 字符串 = '...'
如果 (/\d+(\.\d+)?/) {
...
}否则 {
...
}
哎呀!看起来我们忘记打电话了。测试()在正则表达式上,意味着 如果条件总是评估为真。这不是我们想要的。
尽管这个错误在指出时是显而易见的,但像这样的错误令人惊讶地容易犯,并且甚至在 VS Code 中引发了真正的错误!值得幸的是,TypeScript 现在报告您程序中一些最常见的“总是为真”的错误。这包括测试一个如果条件判断一个永不会发生的值,或者条件表达式中的一侧是不可达的,例如/abc/ ?? /xyz/输入:.
查看 TypeScript 发行说明,以获取更多示例和有关此功能如何工作的详细信息。
优先考虑的地区诊断
在非常长的JavaScript或TypeScript文件中工作?借助区域优先诊断,您应该会更快地看到类型错误诊断显示出来。这意味着我们会尝试获取当前可见代码的诊断,并先显示这些诊断,即使文件的其余部分的诊断仍在计算中。
这种优化对包含成千上万行的复杂文件最为相关。对于较小的文件,您可能不会注意到任何变化。
改进了JavaScript和TypeScript的提交字符
提交字符可以通过自动接受输入的完成来加速编码。例如,在JavaScript和TypeScript中,输入:.通常被认为是一个提交字符。这意味着要输入myVariable.属性.,您可以直接输入我的V,输入:.,输入:p,输入:.与第一个输入:.接受完成我的变量和第二个输入:.接受完成财产输入:.
这些提交字符现在由 TypeScript 计算,这意味着它们可以更好地考虑程序的结构。我们也可以随着时间的推移继续改进我们对它们的支持。
提交字符默认是启用的,但可以通过设置禁用
假输入:.
排除自动导入的模式
新的自动导入指定排除正则表达式 可以通过使用正则表达式来排除 自动导入 从特定的包。例如,要排除像lodash这样的模块子目录的自动导入,可以设置:
{
"typescript.preferences.autoImportSpecifierExcludeRegexes": ["^lodash/.*$"]
}
您可以通过使用来配置此设置
远程开发
这些远程开发扩展允许您通过SSH或远程隧道,或Windows子系统 for Linux(WSL)使用开发容器,作为功能齐全的开发环境。
亮点包括:
- 通过 SSH/Tunnel 附加到 Kubernetes 容器
- 手动指定 GPU 可用性
您可以在 远程开发发布说明 中了解更多关于这些功能的信息。
对扩展的贡献
Python
运行测试并覆盖
现在你可以在 VS Code 中运行带有覆盖范围的 Python 测试了!要运行带有覆盖范围的测试,请在测试资源管理器中选择覆盖运行图标,或从任何通常触发测试运行的菜单中选择“带覆盖运行”。Python 扩展将通过使用覆盖来运行覆盖。pytest-覆盖插件如果你使用pytest,或者使用覆盖.py用于单元测试。
一旦代码覆盖运行完成,编辑器中的行将会高亮显示以表示行级覆盖。这些可以在底部的“运行结果”面板中通过“关闭测试覆盖”或“查看测试覆盖”来关闭和重新打开。此外,在测试资源管理器中的“测试”标签下会显示一个测试覆盖标签,同样带有烧杯图标,你也可以通过测试:关注测试覆盖视图在命令面板中导航 (⇧⌘P(Windows, Linux Ctrl+Shift+P))。在这个面板中,你可以查看工作区中每个文件和文件夹的行和分支覆盖度指标。
有关使用 coverage 运行 Python 测试的更多信息,请参阅我们的Python 文档。有关测试覆盖的一般信息,请参阅 VS Code 的测试覆盖文档。
Python默认问题匹配器
Python 扩展现在包括一个默认的问题匹配器,简化了对 Python 代码中问题的跟踪,并提供了更多的上下文反馈。要集成它,请添加"problemMatcher": "$python"开始处理您的任务任务.json一个问题匹配器扫描任务的输出以查找错误和警告,并将它们显示在问题面板中,从而增强您的开发工作流程。
以下是示例任务.json使用默认Python问题匹配器的文件:
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Python",
"type": "shell",
"command": "${command:python.interpreterPath}",
"args": ["${file}"],
"problemMatcher": "$python"
}
]
}
在 Python 终端 REPL 中进行Shell积分
Python 扩展现在包括一个选项,用于选择加入和退出PYTHONSTARTUP脚本,在你输入之前运行Python或以其他任何方式在终端中启动Python REPL。如果您选择启用,您可以使用终端外壳集成中的功能,例如命令装饰、重新运行命令、运行最近的命令,如果它们在Mac或Linux中。您可以通过设置启用此功能
Pylance 语言服务器模式
有一个新的设置
如果你不需要完整的IntelliSense功能,并且希望Pylance尽可能地节省资源,你可以设置
光否则,要继续今天你在 Pylance 上的体验,你可以将其设置为默认输入:.
此新功能将覆盖以下设置的默认值:
| 设置 | 光模式 |
默认模式 |
|---|---|---|
| "python.analysis.exclude" | ['**'] | [] |
| "python.analysis.useLibraryCodeForTypes" | 假 | 真 |
| "python.analysis.enablePytestSupport" | 假 | 真 |
| "python.analysis.indexing" | 假 | 真 |
上面的设置仍然可以单独更改以覆盖默认值。
GitHub 拉取请求
在GitHub Pull Requests扩展上取得了更多的进展,该扩展使您能够处理、创建和管理拉取请求和问题。查看0.98.0版本的更新日志,了解主要亮点。
扩展编写
移除桌面应用程序中的自定义分配器
在这个版本中,我们移除了在桌面应用程序扩展主机中版本1.78中添加的自定义分配器。这个自定义分配器作为桥梁,用于支持与Electron运行时构建的V8沙盒不兼容的Node.js原生插件。你可以参考这个跟踪问题以获取更多上下文信息。
我们已经确保排名前5000的扩展不会受到此更改的影响。如果您的扩展或您的扩展的依赖项受到此更改的影响,您可以尝试以下补救建议:
- 如果你的扩展使用n-api,那么状态
不允许使用外部缓冲区当使用外部数组缓冲区时将被返回。在这种情况下,您可以切换到使用 API 的副本版本 napi_create_buffer_copy. - 如果你的扩展使用了node-addon-api,请参考这个文档,了解替代API和编译时设置。
- 如果你想避免由于复制而产生的性能成本,你可以使用V8 分配器来确保缓冲区的后端存储与 V8 沙盒兼容。
我们还增加了遥测数据,以识别可能受影响的扩展和原生加载项,这样我们就可以主动联系扩展作者,并在可能的情况下提供帮助。如果您的扩展受到影响,并且以上建议对您无效,请在我们的讨论线程中发表评论,我们将很乐意提供帮助。
调试适配器协议
我们在调试适配器协议中正式定义了如何在变量显示和输出中对文本进行着色和样式化。着色通过ANSI控制序列工作,并且要求客户端和调试适配器双方支持ANSI样式在他们的初始化请求和能力中,分别。
预览功能
多个 GitHub 账户
现在可以在 VS Code 中同时登录多个 GitHub 账户。
此功能在 VS Code Insiders 中默认启用。在 VS Code 的稳定版本中,您可以使用 来开启此功能。
以下是一些可能需要多个账户的情景:
- 使用 Account1 进行设置同步和 Account2 用于 GitHub 拉取请求扩展
- 使用 Account1 进行 GitHub 扩展(推送)和 Account2 用于 GitHub Copilot
要使用此功能,只需触发登录操作(例如使用内置功能如设置同步或使用扩展),您将有机会登录到其他帐户。此功能还与新的帐户偏好快速选择很好地配合,如果您以后需要更改帐户。
虽然大多数事情应该可以继续使用您现有的扩展,但某些行为可能还不能完美地与这个多账户世界兼容。如果您认为有改进的空间,请在这些扩展上打开一个议题。在相对新的帮助下vscode.authentication.getAccounts('github')API,扩展具有处理多个账户的强大功能。
在下一次迭代中,我们计划将此功能默认启用所有用户。
基于 MSAL 的 Microsoft 认证
我们一直在努力让我们的Microsoft身份验证堆栈使用MSAL(Microsoft身份验证库)。这是一个巨大的工程,但在这一迭代中我们取得了很大的进展。这项工作涵盖了所有VS Code客户端,因此包括VS Code和VS Code for the Web。
-
对于vscode.dev,我们已经启用了基于浏览器的
MSAL.js对于所有 Microsoft 认证请求。换句话说,vscode.dev 现在完全基于 MSAL。 -
对于 VS Code 桌面客户端,我们把这个功能放在了一个设置后面,
microsoft.useMsal目前,它被隐藏在一个设置选项后面,因为我们计划向通过中间商流程过渡,这将使 VS Code 能够使用操作系统的身份验证状态。因此,为了尽量减少中断,我们将首先完成这项工作,然后才广泛启用它。话虽如此,如果您迫不及待地想尝试这种新的身份验证方法,欢迎尝试并给我们反馈。
您可以在 问题 #178740 中查看 VS Code 中此过渡到 MSAL 的详细状态。
TypeScript 5.7
此版本包括对即将推出的 TypeScript 5.7 版本的初步支持。请查看 TypeScript 5.7 计划 了解详细信息。
要开始使用TypeScript 5.7的预览版本,请安装TypeScript Nightly扩展。
提议的API
语言模型工具
我们继续在我们的基础上进行迭代语言模型工具API。API 有两个主要部分:
-
扩展程序注册一个工具的能力。工具是供语言模型使用的一段功能。例如,读取文件的Git历史记录。
-
语言模型支持工具的机制,例如在请求时扩展工具传递工具,语言模型请求工具调用,以及扩展工具将工具调用的结果传达回来。
在这个里程碑中,我们为工具添加了在运行前请求用户确认的功能。这对于可能具有某些副作用的工具非常有用。
查看 问题 #213274 以获取更多详细信息或给我们反馈。
注意:该API仍在积极开发中,情况可能会发生变化。
工程
ESM 正在为 VS Code 发货
我们终于在 VS Code 稳定版中发布了我们的 ESM 工作。这意味着 VS Code 核心的所有层(electron、node.js、浏览器、workers)都使用导入和导出JavaScript中用于模块加载和导出的语法。我们所有的遗留AMD加载器的用法已被禁用,并将在10月的债务清理周被移除。
迁移到ESM大大提高了启动性能。首先,移除了许多AMD开销,但同时主工作台的捆绑包大小也减少了超过10%:

既然我们已经完全转换到 ESM,我们计划改进 VS Code 的工程系统。有了 ESM,许多现代工具将可以为我们所用,我们非常期待在未来不久的将来分享更多关于这方面的细节。
注意:扩展不受此更改的影响,并且不会通过ESM加载,请参阅https://github.com/microsoft/vscode/issues/130367了解详细信息。
默认使用 NPM 作为包管理器
2024年9月初,我们已经完成了从yarn到npm的切换用于microsoft/vscode仓库中的包管理。这个决定是基于VS Code的具体需求,并围绕这些标准:
- 性能:我们最初转向 yarn 是因为性能原因,现在 npm 也能满足我们的要求。
- 安全性:我们通过限制暴露和减少我们依赖的工具数量,使我们的供应链更加安全。
重要修复
谢谢
最后但同样重要的,向VS Code的贡献者们致以深深的谢意。
问题跟踪
对我们的问题跟踪的贡献:
拉取请求
贡献于Visual Studio Code输入:
- @BABA983 (BABA)
- 修复终端标签选择无法正常工作PR #224394
- 注册折叠导入操作 PR #227216
- @BlackHole1 (Kevin Cui): ci: 确保重试逻辑一致性 PR #226038
- @Cecil0o0 (hj):琐事:在构建扩展时删除未到达的忽略项。PR #227906
- @危险人 (Anees Ahee):修复图像预览的透明度网格缩放PR #226505
- @g-cappai (Gianluca Cappai):修复 markdown 预览中的开放 HTML 锚链接 PR #228633
- @gabritto (Gabriela Araujo Britto): [typescript-language-features] 可展开的悬停PR #228255
- @gjsjohnmurray (约翰·默里)
- 添加操作以预览编辑器标签的悬停PR #226023
- 修正工作区扩展激活失败消息中的拼写错误PR #227348
- 修复状态栏调试面板的正确工具提示大写 (修复 #228088) PR #228089
- @henricryden:在check-requirements-linux.sh中为libc.so.6添加搜索路径PR #227713
- @janssen-tiobe (janssen):修复:问题面板表格视图中的激进URI编码PR #224841
- @jeanp413 (Jean Pierre):修复终端初始尺寸在重新加载时不正确PR #225554
- @jjaeggli (Jacob Jaeggli):文档焦点建议使用 ctrl+alt+空格 查看细节 PR #190096
- @juliapz (Julia Pozdeeva):防止在AUXWindows中查找小部件被裁剪PR #229001
- @marrej (Marcus Revaj): # 在重构预览中创建渲染文件 PR #226950
- @nojaf (弗洛里安·维尔多克)
- 使用Worker序列化NotebookPR #226632
- 在 ErrorNoTelemetry 消息中包含 idPR #226715
- @PhantomPower82:波兰语入门页面(修复 #226991)PR #226994
- @rafamerlin (Rafael Merlin):使镶嵌提示长度可配置PR #221276
- @rehmsen (奥莱)
- 初始化测试变量
设置以避免顺序依赖。 PR #226596 - 每个单元格支持多个评论小部件。PR #226770
- 初始化测试变量
- @remcohaszing (Remco Haszing):将 test-results.xml 添加到 .gitignore PR #214238
- @repraze (Thomas Dubosc):修复:在 browser/hover.css 中交换 flex-end 的结束位置PR #224102
- @segevfiner (Segev Finer):为自定义文本编辑器采用ext主机重启PR #225985
- @SimonSiefke (Simon Siefke):修复:调试视图中的内存泄漏PR #225334
- @sunnylost (sunnylost):扩展:将表格单元格内容包装在段落元素中PR #228365
- @tisilent (xiejialong):添加编辑器 GPU 渲染回退PR #228414
- @tmm1 (Aman Karmani):在 macOS 上忽略 tsserver 创建目录观察者(~/Library)的请求 PR #227653
贡献于vscode-文档输入:
- @0dinD (Odin Dahlström):更新支持的 Java 版本PR #7561
- @alexwkleung (Alex Leung):更新进入Jupyter服务器URL截图 PR #7584
- @DiskCrasher (Mike):修复了代码中缺少的“!”PR #7595
- @gaganshera (Gaganjot Singh):更新 prompt-crafting.md PR #7555
- @harish-s-developer (Harish Srinivasan):添加了新的管理依赖项部分,修正了一个拼写错误PR #7617
- @harrydowning (哈里·唐宁):删除关于预发布标签的不正确陈述 PR #7593
- @listsarah (Sarah Listzwan):关闭问题 #7536:更新“嵌入式编程语言”PR #7539
- @mistymadonna (Misty Hays):更新了Azure扩展主页,创建了新的入门页面PR #7520
- @muzimuzhi (Yukai Chou):拼写错误,添加缺失的内联代码标记PR #7589
- @partev:修复一个URL重定向PR #7608
- @Sarke (Peter Stalman)另一个Flatpak/KDE5钱包的解决方法PR #7606
- @seaniyer (Sean):更新 publishing-extension.md PR #7540
- @vinistock (Vinicius Stock):更新Ruby链接以指向新的文档 PR #7607
- @wjandrea (威廉·安德烈亚)
贡献于vscode扩展示例输入:
- @liu3hao (魏浩):添加缺失的激活事件 PR #1057
贡献于vscode-js调试输入:
- @lucacasonato (Luca Casonato):修复:不要在 Deno 中注入 NODE_OPTIONSPR #2080
贡献于vscode-jupyter输入:
- @rchiodo (Rich Chiodo):使更改显示名称也会引发内核更改事件 PR #15967
贡献于vscode语言服务器节点输入:
- @StellaHuang95 (Stella):支持
大语言模型生成物业在代码行动公关 #1557
贡献于vscode-拉取请求-GitHub输入:
贡献于vscode- Python调试器输入:
- @rchiodo (Rich Chiodo):更新 debugpy 信息到最新发布的版本 PR #462
贡献于vscode-vsce输入:
- @mlasson (Marc Lasson):修正选项提示中的拼写错误PR #1046
贡献于vscode-wasm输入:
- @mlugg (Matthew Lugg):修复流的问题PR #196
贡献于语言服务器协议输入:
- @aschaber1 (Alexander Schaber):chore: 修正来自
库伯内特斯到库伯内特斯公关 #2013 - @dawedawe (dawe):在CompletionParams的文档中修正拼写错误PR #2019
- @didrikmunther (Didrik Munther):修正 pullDiagnostics.md 中的拼写错误PR #2022
- @与Foo同步 (InSync)
- @SamB (Samuel Bronson):更新 servers.md:vscode-markdown-languageserver 移动 PR #2012
- @sh-cho (Seonghyeon Cho):添加 fluent-bit 语言服务器实现 PR #2016
- @StellaHuang95 (Stella):支持
大语言模型生成物业在代码行动公关 #2020