2022 年 10 月(版本 1.73)
更新 1.73.1:此更新解决了以下问题。
下载:Windows: x64 Arm64 | Mac: 通用 Intel 硅芯片 | Linux: deb rpm tarball Arm snap
欢迎使用 Visual Studio Code 2022 年 10 月版。此版本包含许多更新,我们希望您会喜欢,其中一些主要亮点包括
- 搜索包含/排除文件夹 - 快速设置要在树状视图中包含/排除的文件夹。
- 命令中心模式快捷方式 - 在最近的文件列表之前显示常用模式。
- 合并编辑器改进 - 访问组合选项以自动合并冲突。
- Markdown 自动链接更新 - 在重命名/移动时更新文件和图像链接。
- 更多音频提示 - 任务完成或失败,终端快速修复可用。
- vscode.dev 受保护分支工作流程 - 提交到受保护分支时创建新分支。
- 新的 Python 扩展 - 用于 isort、Pylint 和 Flake8 的新独立扩展。
- 开发容器模板 - 基于现有模板创建新的开发容器。
如果您想在线阅读这些发行说明,请访问 Updates 上的 code.visualstudio.com。
内测人员: 想尽快试用新功能吗?您可以下载每晚构建的 Insiders 版本,并在最新更新可用时立即试用。
辅助功能
新的音频提示
有新的音频提示来帮助处理任务和终端。
- 任务完成 - 任务完成时发出声音(由
audioCues.taskCompleted
设置控制)。 - 任务失败 - 任务失败时发出声音 (
audioCues.taskFailed
)。 - 终端快速修复 - 如果当前行有可用的快速修复 (
audioCues.terminalQuickFix
)。
屏幕阅读器模式下的自动换行
在 屏幕阅读器模式下运行 VS Code 时,自动换行已被禁用,以防止屏幕阅读器体验降低。此问题已修复,可以通过 editor.wordWrap
启用。
辅助功能设置标签
现在可以使用 accessibility
标签来提高辅助功能相关设置的可发现性。
首选项:打开辅助功能设置 命令会打开设置编辑器,并带有 @tag:accessibility
过滤器。
工作台
在搜索中包含和排除文件夹
当在搜索视图的结果树状视图中右键单击文件夹时,上下文菜单中现在有两个新选项。
-
选择将搜索限制到文件夹会将选定的文件夹路径添加到要包含的文件文本框中。将路径添加到此文本框会将搜索结果限制为符合列出的路径或模式的结果。
主题:GitHub Dark Dimmed(在 vscode.dev 上预览)
-
选择从搜索中排除文件夹会将选定的文件夹路径添加到要排除的文件文本框中。在此处添加路径将排除任何符合列出的路径或模式的搜索结果。
主题:GitHub Dark Dimmed(在 vscode.dev 上预览)
命令中心模式快捷方式
命令中心添加了一个新的顶部部分,以便轻松发现如何导航到文件、运行命令等。
此简短的模式列表还提供了快捷键提示,以便您可以直接跳转到最常用的模式(例如转到文件),而无需通过命令中心。
默认情况下,命令中心 UI 不显示在标题栏中,但您可以通过窗口:命令中心 (window.commandCenter
) 设置启用它,或者右键单击标题栏并选中命令中心。
设置编辑器工作区信任和策略指示器
由于受限模式工作区或组织策略管理而未应用的设置现在使用指示器来显示其状态。用户即使在受限模式工作区中也可以读取和写入工作区设置(始终可以使用 settings.json
文件),但在受限工作区中计算要使用的设置的最终值时,将不考虑工作区设置值。
默认的浅色主题也进行了一些调整,在指示器区域具有更清晰的 codicon 渲染,以及更紧密的焦点边框。
大纲默认折叠状态
有一个新的设置 outline.collapseItems
,用于控制 大纲视图中项目的默认折叠状态。默认值为 false
,这意味着大纲项目默认展开。将其设置为 true
以使大纲项目默认折叠。此设置可以按语言设置,也适用于笔记本。
重新排列“视图”菜单
在 VS Code 菜单栏的“视图”菜单中,最后一组是不断增长的编辑器操作列表。为了平衡菜单的增长和功能,我们将主要与外观相关的项目移动到外观子菜单下。自动换行和粘性滚动选项已保留在菜单底部的原始位置。
主题:GitHub Light Default(在 vscode.dev 上预览)
输入 UI 上的圆角
文本输入框、文本区域和下拉列表现在都显示圆角,以匹配之前版本中应用于按钮的相同样式。
快速选择列表样式更新
快速选择 UI 中使用的列表样式已略微刷新,具有圆角并增加了左右边距。
更新了列表视图的 codicon
平面列表和树状列表视图现在使用更清晰的 codicon 来表示列表类型。
辅助侧边栏前景色
辅助侧边栏在通常情况下模仿主侧边栏的主题,但并非所有主题键都被正确拾取。辅助侧边栏现在正确使用 "sideBar.foreground"
主题键。
在下方,右侧的主侧边栏(带有资源管理器)和左侧的辅助侧边栏(带有大纲视图)都使用相同的粉红色前景色。
主题:GitHub Light Default(在 vscode.dev 上预览)
不再有“折叠范围过多”通知
出于性能原因,我们将编辑器中显示的折叠范围数量限制为 5000 个。可以通过设置 editor.foldingMaximumRegions
配置此限制。当超出限制时,VS Code 过去会显示通知。现在,状态栏中的语言状态悬停会显示该信息。
默认折叠提供程序
通常,当一种语言有多个活动折叠提供程序时,VS Core 会尝试合并结果。如果有冲突的范围,则会丢弃一些范围。此外,并非所有折叠提供程序都可以与其他提供程序组合使用。
新的 editor.defaultFoldingProvider
设置允许您选择要使用的折叠提供程序。提供程序的名称是贡献它的扩展的扩展 ID ({publisher}.{extension}
)。
以下示例将来自(假设的)扩展 aeschli.better-folding
的折叠提供程序设置为 JavaScript 的默认提供程序。
"[javascript]": {
"editor.defaultFoldingRangeProvider": "aeschli.better-folding"
}
按输出通道设置日志级别
现在可以使用命令开发人员:设置日志级别...按日志输出通道设置日志级别。当您只想查看来自特定日志输出通道的更多日志时,这非常有用。该命令将首先显示输出通道列表,选择一个后,系统将提示您设置日志级别。
您还可以从命令行按扩展设置日志级别。当您想查看来自特定扩展的更多日志时,这非常有用。例如,以下脚本允许您启动 VS Code,并将 Git 扩展的日志输出通道的默认日志级别设置为 debug
。
code --log vscode.git:debug
新的 list.collapseAllToFocus 树状视图命令
新的命令 list.collapseAllToFocus
可让您递归折叠当前聚焦的树项目。当您想要折叠不是根的树项目的所有子项时,这非常有用。该命令没有默认的快捷键绑定,但您可以通过键盘快捷方式编辑器 (⌘K ⌘S (Windows、Linux Ctrl+K Ctrl+S)) 添加您自己的键盘快捷键。
合并编辑器
在此里程碑中,我们继续完善合并编辑器,此更新包含多个错误修复和一些新功能。
接受双方会附加冲突
在此版本中,始终可以选择接受传入和接受当前。当同时选择这两个选项时,合并编辑器会附加相应的已更改行。
在下面的短视频中,RelativePattern
被导入了两次,因为两条线都被接受了
当冲突可以在字符级别无冲突地解决时,会显示选项接受组合,并可用于自动解决冲突。
在下面的视频中,两个符号都被导入到同一个导入语句中
针对基础的差异装饰
当基础视图打开时,会在当前聚焦侧和基础之间显示差异。此差异视图可用于更好地理解传入和当前中的更改。
差异算法改进
合并编辑器的默认差异算法已更改。新的差异算法针对合并场景进行了优化。在常见情况下,最大限度地减少了代码块的数量,并优化了插入位置。如果新算法导致问题,可以使用设置 "mergeEditor.diffAlgorithm": "smart"
切换回以前的算法(现在默认为 experimental
)。
以下屏幕截图演示了插入的改进。请注意,这两个差异都是正确的,但新行为更清楚地突出了插入的文本
旧行为
新行为
新的差异算法目前仅在合并编辑器中默认启用。如果您希望常规差异编辑器也使用新的差异算法,则可以设置 "diffEditor.diffAlgorithm": "experimental"
。
在冲突之间导航
您现在可以单击冲突计数器跳转到下一个未处理的冲突
语言
Markdown 在文件重命名/移动时自动更新链接
是否厌倦了在移动或重命名文件时意外破坏 Markdown 中的链接或图像?试试新的 markdown.updateLinksOnFileMove.enabled
设置!
启用此新设置后,当在 VS Code 资源管理器中移动或重命名文件时,VS Code 将自动更新 Markdown 中的链接和图像
您可以使用 markdown.updateLinksOnFileMove.include
控制受影响的文件类型。默认情况下,它对所有 Markdown 文件和常用图像文件格式启用。
Markdown 插入链接命令
新的 Markdown: 在工作区中插入文件链接 和 Markdown: 从工作区插入图像 命令让您可以使用文件选择器快速将链接和图像插入到 Markdown 中
请记住,这些命令只是将链接和图像添加到 Markdown 文件的一种选项。您也可以使用 Markdown 路径补全,甚至可以从 VS Code 资源管理器拖放文件来插入链接或图像。
Markdown 未使用和重复链接定义诊断
我们内置的 Markdown 验证现在可以提醒您注意未使用或重复的链接定义。您可以使用 markdown.validate.enabled
启用此功能
如果您想要更精细地控制这些错误,可以使用这些 markdown.validate
设置来禁用这些错误 (ignore
) 或更改其严重性 (warning
, error
)
markdown.validate.duplicateLinkDefinitions.enabled
markdown.validate.unusedLinkDefinitions.enabled
还有一个快速修复程序可以删除重复或未使用的链接定义。
Markdown 链接出现位置高亮显示
Markdown 中的链接出现位置高亮显示会显示当前文档中光标下的链接正在使用的所有位置
请注意,当光标位于文档中的第一个链接上时,文档中以及文档右侧的装订线中,所有指向 First Header
的链接以及标题本身都会高亮显示。
此功能默认关闭。要启用它,请打开 markdown.occurrencesHighlight.enabled
设置。
新的 Razor 语法高亮语法
VS Code 有一个新的、维护更好的 Razor 语法,用于高亮显示 Razor 文件的语法。新语法得到了积极维护,并修复了旧语法中存在的问题。
Web 版 VS Code
改进的分支创建和保护工作流程
当您在 Web 版 VS Code 上的 GitHub 或 Azure Repos 存储库中时,提交到受保护分支现在会通知您当前分支受到保护,并提示您创建新分支。
此流程还将遵循以下设置
git.branchPrefix
允许您使用配置的前缀预填充分支名称快速输入框。"git.branchProtectionPrompt": "alwaysCommitToNewBranch"
允许您在尝试提交到受保护分支时跳过提示,并直接进入创建新分支的快速输入框。
此外,当您创建新分支时,可以通过配置 "remoteHub.switchToCreatedBranch": "always"
来绕过有关是否切换到新创建分支的提示。
以上所有内容也适用于在桌面版 VS Code 上使用 GitHub Repositories 或 Azure Repos 扩展。
Web 版的本地化改进
几个月前,我们开始致力于 Web 版 VS Code 的本地化。到目前为止,VS Code 核心和扩展清单中具有静态声明字符串的扩展都能够本地化。在此迭代中,我们完成了最后一个难题:扩展代码中的字符串。这已通过我们上个月提出的本地化 API 的最终确定而完成。
请关注更多 VS Code 本地化的内容,因为我们将继续在我们所有的扩展中采用这个新的 API。如果您是扩展作者,您可以在 vscode-l10n 存储库中了解有关新 API 的更多信息。
扩展的贡献
Python
迁移到 isort 扩展
在我们的 2022 年 5 月版本中,我们宣布了一个新的 isort 扩展,该扩展与 Python 扩展一起工作以对导入进行排序。例如,当您打开文件且导入不符合 isort 标准时,它将显示错误诊断并提供代码操作以修复导入顺序。在此版本中,我们将迁移为使用独立的 isort 扩展,而不是 Python 扩展中内置的 isort 支持,方法是与 Python 扩展一起自动安装它。
使用 Pylance 时默认关闭自动导入
自从首次在 Pylance 中实现自动导入以来,我们收到了很多关于自动导入如何令人困惑以及有时令人恼火的反馈,例如,当意外接受建议时,会自动将导入添加到文件中。从这个版本开始,使用 Pylance 时,默认情况下将不再自动导入包。如果您想为您的 Python 项目重新启用自动导入,您可以通过设置 "python.analysis.autoImportCompletions": true
来实现。
Pylint 和 Flake8 扩展建议
在我们的先前版本中,我们宣布了新的 Pylint 和 Flake8 扩展,这些扩展通过 语言服务器协议 (LSP) 与 Python 扩展协同工作以提供代码检查。在此版本中,如果您仍在使用 Python 扩展中内置的 Pylint 和 Flake8 功能,我们将显示通知,提示您安装这些新扩展。
远程开发
远程开发扩展,允许您使用容器、远程计算机或 Windows Subsystem for Linux (WSL) 作为功能齐全的开发环境。此版本的亮点包括
您可以在 远程开发发行说明中了解有关新扩展功能和错误修复的信息。
GitHub Pull Requests and Issues
继续开发 GitHub Pull Requests and Issues 扩展,该扩展允许您处理、创建和管理 pull requests 和 issues。查看扩展的 0.54.0 版本的更新日志,以查看其他亮点。
预览功能
TypeScript 4.9
此更新包括对即将发布的 TypeScript 4.9 版本的支持。有关 TypeScript 团队当前正在进行的工作的更多详细信息,请参阅 TypeScript 4.9 迭代计划。一些编辑器工具亮点
- 一个新的对导入排序命令,可以对导入进行排序,而无需删除未使用的导入。
- 在 return 语句上运行 转到定义 现在会跳转到函数声明。
- 切换到 新的默认文件监视程序,这应该会表现更好。
要开始使用 TypeScript 4.9 每晚构建版本,请安装 TypeScript Nightly 扩展。
设置配置文件
在过去的几个月中,我们一直在努力在 VS Code 中支持设置配置文件,这是社区最受欢迎的需求之一。此功能通过 workbench.experimental.settingsProfiles.enabled
设置进行预览。试用一下,并通过在 vscode 存储库中创建 issue 或在 issue #116740 中评论来向我们提供您的反馈。
显示同步的配置文件数据
您现在可以在同步活动(远程)视图中查看为每个配置文件同步的数据。这有助于了解为每个配置文件同步了哪些数据。
注意: 此功能目前仅在 VS Code 的 Insiders 版本中可用。
扩展创作
为工作区编辑提供元数据
现在,应用于工作区编辑的 API 允许扩展提供元数据,例如将编辑标记为重构。编辑器和重构后的自动保存(设置:files.refactoring.autoSave
)将遵循此额外的元数据。
限制哪些命令可以由 MarkdownString 和 webview 运行
MarkdownString
中的命令链接是在 VS Code 的悬停消息或 IntelliSense 详细信息中创建自定义交互的有用方法。Webview 也可以使用命令链接来直接从 webview 触发 VS Code 命令。但是,命令链接也可能很危险,因为它们可用于执行任何命令,包括许多并非出于安全考虑而设计的命令。因此,默认情况下禁用命令链接,并且必须由扩展显式启用。
虽然这种全有或全无的方法有效,但我们也发现它给扩展作者带来了过多的安全负担。需要使用命令链接的扩展必须验证他们呈现的内容中仅包含安全命令。这既容易忘记,也容易出错。
为了改进这一点,我们正在引入新的命令链接启用 API,这些 API 允许扩展仅启用受信任的命令子集。
对于 MarkdownString
,isTrusted
属性现在接受可以执行的命令的允许列表(所有其他命令将被阻止)
const md = new vscode.MarkdownString(
`A command link: [Open setting](command:workbench.action.openSettings)`
);
// Set trusted commands instead of enabling all commands
md.isTrusted = { enabledCommands: ['workbench.action.openSettings'] };
对于 webview,WebviewOptions.enableCommandUris
属性现在可以是已启用命令的列表,而不是简单的 true/false
const options: vscode.WebviewOptions = {
enableCommandUris: ['workbench.action.openSettings']
};
我们强烈建议所有使用命令链接的扩展都采用这种新的、更严格的 API 以提高安全性。
webview 和 webview 视图的一致来源
为了缩短 webview 的加载时间,我们现在尝试为给定类型的 webview 的所有实例维护一致的来源。这有两个主要好处
-
Webview 可以更好地利用缓存。这意味着本地资源应该加载得更快。
-
Webview 可以使用本地存储和其他按来源分区的 Web API。
请记住,webview 的所有实例现在都将在同一来源上运行,因此如果它们正在使用诸如本地存储之类的 API,请确保对每个资源特定分区任何数据/状态。例如,
localStorage.setItem('scrollPosition', 100)
会将所有 webview 实例的scrollPosition
设置为 100。如果您想为各个资源设置滚动位置,还需要在键中包含资源 ID:localStorage.setItem(myDocUri, JSON.stringify({scrollPosition: 100 }))
。您也不应使用 localStorage 或类似的 API 来存储关键数据,例如文档内容。虽然 VS Code 尽最大努力为 webview 维护一致的来源,但我们无法保证来源不会改变。
在许多情况下,您应该使用 webview 状态 API,因为这些 API 可以为您处理上述两个问题。
来源是为每个扩展和 webview 类型随机生成的。相同的来源用于 webview 的所有实例。
目前,正常的 webview 和 webview 视图 都尝试维护一致的来源。我们计划在下一个迭代中为自定义编辑器和笔记本 webview 采用此方法。
调试适配器协议
新的“startDebugging”反向请求
今天,VS Code 支持多个并发调试会话,但 调试适配器协议 (DAP) 仅涵盖单个会话。这意味着以编程方式创建新的调试会话不是 DAP 的一部分,只能在 DAP 或调试适配器外部完成,通常在包含调试适配器的调试扩展中完成。因此,多会话功能(例如自动调试子进程)对于非 VS Code DAP 客户端来说不容易获得,因为它们通常只使用调试适配器,而不使用 VS Code 特定的调试扩展。
为了改善这种情况,我们向 DAP 添加了一个新的反向请求 startDebugging
,该请求允许扩展从调试适配器内部创建新的调试会话(与调用者类型相同)。客户端功能 supportsStartDebuggingRequest
向调试适配器指示客户端支持 startDebugging
。
在 10 月的版本中,VS Code 实现了 startDebugging
。
建议的 API
每个里程碑都带有新的建议 API,扩展作者可以试用它们。与往常一样,我们希望收到您的反馈。以下是试用建议 API 的步骤
- 找到您想要试用的建议,并将其名称添加到
package.json#enabledApiProposals
。 - 使用最新的 vscode-dts 并运行
vscode-dts dev
。它会将相应的d.ts
文件下载到您的工作区。 - 您现在可以针对该建议进行编程。
您不能发布使用建议 API 的扩展。下一个版本中可能会有重大更改,我们永远不想破坏现有扩展。
静态笔记本预加载
新的 notebookPreload
建议贡献点允许扩展贡献加载到特定类型的笔记本中的脚本。
{
"contributes": {
"notebookPreload": [
{
"type": "jupyter-notebook", // Type of notebook for the preload script
"entrypoint": "./path/to/preload.js"
}
]
}
}
此贡献点由 contribNotebookStaticPreloads
API 提案控制。扩展可以使用预加载在 Notebook JavaScript 环境中加载或定义全局变量。
预加载脚本必须是一个 JavaScript 模块,该模块导出一个 activate
函数。所有预加载都在任何渲染器脚本之前进行评估。
Notebook 渲染器可以访问所有输出项
自定义 Notebook 渲染器现在可以访问其渲染的输出项的所有 MIME 数据。如果渲染器确定它无法正确渲染主输出项,则此 API 提案允许它回退到渲染其他 MIME 类型之一。
此提案的入口点是一个新的 OutputItem._allOutputItems
属性。该属性是当前输出项包含的所有 MIME 类型的有序列表。列表中的每个项都具有 { mime, getItem() }
的形状。mime
是 MIME 类型,例如 text/html
或 image/png
,而 getItem()
函数返回一个 Promise,用于获取该 MIME 类型的 OutputItem
。
以下是渲染器如何使用此新 API 的示例
async function renderOutputItem(outputInfo, element, signal) {
const didRender = tryRenderMainItem(outputInfo, element);
if (!didRender) {
// Fallback to render `text/html`
const htmlItem = await outputInfo._allOutputItems
.find(item => item.mime === 'text/html')
?.getItem();
if (htmlItem) {
// Here we can either render the 'text/html' item ourselves
// or delegate to another renderer.
const renderer = await ctx.getRenderer('vscode.builtin-renderer');
if (renderer) {
return renderer.renderOutputItem(htmlItem, element, signal);
}
}
}
}
请尝试一下这个提案,并告诉我们您的想法!
扩展遥测 API
为了进一步推动遥测最佳实践并增强扩展可用的遥测功能,此迭代引入了提议的 telemetryLogger
API。此 API 允许扩展提供 TelemetryAppender
,它充当核心发送逻辑(使用 Application Insights 或其他数据记录服务实现)。然后,此 TelemetryAppender
用于实例化 TelemetryLogger
,这是您应该通过其记录遥测的类。
TelemetryLogger
提供了一个共享的输出通道来查看发送的遥测事件、正确的遥测设置检查以及个人身份信息清理。此外,使用 VS Code API 抛出的任何错误都将记录到您的 appender 中,以便更好地进行错误诊断。
遥测示例中有一个简单的示例,您可以在 issue #160090 中提供反馈。
日志输出通道
在上一个里程碑中,我们引入了 LogOutputChannel
API 提案,用于创建仅用于日志记录的输出通道。在此迭代中,我们为其添加了 logLevel
属性和 onDidChangeLogLevel
事件。logLevel
属性表示输出通道的当前日志级别,而 onDidChangeLogLevel
事件在输出通道的日志级别更改时触发。
/**
* A channel for containing log output.
*/
export interface LogOutputChannel extends OutputChannel {
/**
* The current log level of the channel.
* Defaults to application {@link env.logLevel application log level}.
*/
readonly logLevel: LogLevel;
/**
* An {@link Event} which fires when the log level of the channel changes.
*/
readonly onDidChangeLogLevel: Event<LogLevel>;
...
...
}
我们还在 env
命名空间中添加了 logLevel
属性和 onDidChangeLogLevel
事件,以表示应用程序的当前日志级别,并且该事件在应用程序的日志级别更改时触发。
export namespace env {
/**
* The current log level of the application.
*/
export const logLevel: LogLevel;
/**
* An {@link Event} which fires when the log level of the application changes.
*/
export const onDidChangeLogLevel: Event<LogLevel>;
}
工程
优化输入延迟
随着 VS Code 的规模不断扩大,按下按键时的活动量也随之增加。在此迭代中,我们回顾并彻底调查了在编辑器中键入时究竟发生了什么,以及哪些可以推迟到按键在屏幕上呈现之后。此次探索的主要成果是:
- 进行了多项更改,以尽可能将更多工作推迟到编辑器中的按键在屏幕上呈现之后。粗略估计,其影响是在不显示 IntelliSense 时,输入延迟减少了约 15%,而在重新过滤 IntelliSense 时,减少幅度甚至更高。
- 我们现在拥有更精细的技术,可以手动测量输入延迟,并在亚毫秒*级别进行优化。
- 正在进行一项更改,这将帮助我们跟踪和报告输入延迟的样本。这将为我们提供一些具体的数字来维护和改进。
这仅仅是这项工作的开始,我们还有更多的更改应该在下一个版本中推出。
* 这些数字在很大程度上取决于用于测试的硬件。在强大的硬件上 0.5 毫秒的改进最终可能在更普通的硬件上变为 2 毫秒。
自动渲染器性能分析
VS Code 的渲染器进程负责其 UI;它确保闪烁的光标、输入能力和保存功能。渲染器进程中的任何性能问题都将对用户可见,并导致糟糕的体验。为了帮助我们识别和修复渲染器进程中的性能问题,我们添加了一个新的设置 application.experimental.rendererProfiling
,可用于自动分析渲染器进程的性能。该设置可以设置为 on
以启用性能分析,设置为 off
以禁用性能分析。启用后,渲染器进程将在每次“显得有压力”时进行几秒钟的性能分析,然后分析、匿名化该性能分析结果并发送以供检查。您可以使用窗口日志来跟踪性能分析过程。
请注意,此功能目前默认处于关闭状态,因为我们仍在学习和调整。请尝试一下,并告诉我们您的想法。
Windows 11 上下文菜单
在此版本中,VS Code 安装程序默认向 Insiders 的 Windows 11 上下文菜单 添加了一个 Open with Code - Insiders 上下文菜单项。对于先前在安装 Insiders 时选择加入上下文菜单的用户,更新到最新 Insiders 时,旧样式菜单 Shift + F10
中显示的条目现在将被较新的条目替换。对于其他用户,您需要重新安装 Insiders 并在安装向导中选择加入以启用此菜单项。由于我们在菜单项开发过程中遇到的问题,我们计划将此功能限制在 Insiders 几个里程碑,以在将其推送给所有 Windows 11 用户的稳定版之前获得信心。
然后,Open with Code Insiders 操作将在 Windows 文件资源管理器文件夹和文件上下文菜单中可用。
值得注意的修复
- 151019 调试悬停在悬停时隐藏
- 153852 提案:删除 ES5 类兼容性以加速扩展 API
- 156104 如果端口已静态转发,则不要在 URL 链接点击时自动转发端口
- 158921 在其他地方修改的设置指示器悬停内容溢出
感谢
最后但同样重要的是,非常感谢 VS Code 的贡献者。
Issue 跟踪
对我们的 Issue 跟踪的贡献
- John Murray (@gjsjohnmurray)
- Simon Chan (@yume-chan)
- Andrii Dieiev (@IllusionMH)
- ArturoDent (@ArturoDent)
- RedCMD (@RedCMD)
对 vscode
的贡献
- @andrewbranch (Andrew Branch): [typescript-language-features] 添加
removeUnusedImports
命令 PR #161654 - @babakks (Babak K. Shandiz): 🐛 修复未等待调用以显示 CWD 选择器 PR #163220
- @Balastrong (Leonardo Montini): 在空文件上粘贴时自动检测缩进 PR #156282
- @Brikaa (Omar Brikaa): 添加水平滚动的键盘快捷键 PR #162992
- @CyrilOtheninGirard (Cyril OG): Bash shell 集成 -- 当 PROMPT_COMMAND 是数组时,退出代码不会恢复 PR #158091
- @daiyam (Baptiste Augrain): feat: 选择要使用的折叠提供程序 PR #157434
- @dsanders11 (David Sanders)
- 修复对不存在的
runTests
API 的引用 PR #162543 - 如果未匹配的片段是 #top,则将 Webview 滚动到顶部 PR #164070
- 修复对不存在的
- @dtivel (Damon Tivel): 添加扩展签名验证服务 PR #162285
- @gjsjohnmurray (John Murray)
- 添加
outline.collapseItems
并修复大纲意外折叠 (#_53262) PR #158650 - 在属性描述中引用正确的设置 (#_162663) PR #162665
- 添加
- @hughlilly (Hugh Lilly): 修复
src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
中描述中的逗号拼接问题 PR #164401 - @jacekkopecky (Jacek Kopecký)
- 在请求保存之前检查未保存的编辑器 PR #159318
- 解决光标错位问题 PR #159325
- @jakebailey (Jake Bailey)
- 不要依赖 typescript protocol.d.ts PR #163365
- 删除对 typescript/lib/protocol 的遗忘引用 PR #163585
- 确保 'undefined' 不会进入 tsserver.web.js PR #164064
- @jannisspeer: 从 Python 分类中删除 Snakefile PR #162749
- @jeanp413 (Jean Pierre)
- 修复分离终端编辑器不会触发 vscode.window.onDidCloseTerminal 事件的问题 PR #154546
- 修复如果恢复简单的浏览器 Webview 则不会重用的问题 PR #163389
- 修复禁用 OSX 的特权端口 PR #163890
- 修复树项标签中的换行符使标签无法读取的问题 PR #163995
- 修复扩展禁用按钮在右侧没有边框半径的问题 PR #164109
- @joshaber (Josh Abernathy): 添加打开预览启用上下文,第 2 部分 PR #163682
- @jsjoeio (Joe Previte): fix: 保留 process.execArgv PR #161853
- @laurentlb (Laurent Le Brun): 更新“功能贡献”中的列名 PR #162844
- @marrej (Marcus Revaj): # 为 applyEdit() 提供正确的响应 PR #162430
- @mrienstra (Michael Rienstra): 强制 yarn 版本 PR #162610
- @mustard-mh (Huiwen): 修复 #161565 PR #161567
- @nikita-r (Nikita R.): 修改“WordPart”命令系列以尊重 kebab-case (解决 #158667) PR #158672
- @pingren (Ping): 在 macOS 上为 Monaco 编辑器启用 user-select PR #156755
- @qingpeng9802 (Qingpeng Li): 解决
es5ClassCompat
性能问题 PR #155390 - @r3m0t (Tomer Chachamu)
- 允许扩展作者在 QuickPick/InputBox 中设置 valueSelection PR #157022
- 当扩展更新测试项时,过滤测试树 PR #162169
- @sean-mcmanus (Sean McManus): 更新 language-configuration.json PR #163182
- @stephen-ullom (Stephen Ullom): 修复命令中心的交通灯位置 PR #164246
- @StephenChips (Dongcai Huang): 修复 FreePortOutputRegex PR #162323
- @unm4ever (BK0717): 添加 __vsc_prior_prompt2 PR #156140
- @w1redch4d (Swapnadeep Som): 修复嵌入代码中 html 样式注释的问题 PR #160981
- @yamachig (yamachi): 修复自动包围用开放字符关闭的问题 PR #147187
- @yiliang114 (易良): fix: 关闭 #164414,更正透明传输文件夹 URI PR #164415
对 vscode-pull-request-github
的贡献
- @hoontae24: feat: 为复制 head 链接在 GitHub Enterprise 上添加上游来源 PR #4028
- @Thomas1664: 检查部分的 UI 修复 PR #4059
- @yin1999 (A1lo): fix: 为 SSH 协议上游使用 SSH URL PR #3853
对 vscode-dev-chrome-launcher
的贡献
- @mirdaki: 添加选项以设置稳定版或 Insiders 构建 PR #20
- @infinitepower18 添加描述并修复扩展设置中的空白图标 PR #18