现已推出!阅读 11 月份的新功能和修复。

2022 年 10 月(版本 1.73)

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

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


欢迎使用 Visual Studio Code 2022 年 10 月版。此版本中有许多更新,我们希望您会喜欢,其中一些主要亮点包括

如果您想在线阅读这些发行说明,请访问 更新,位于 code.visualstudio.com 上。

内测人员: 想尽快尝试新功能吗?您可以下载每晚的 内测版,并在最新更新可用时立即尝试。

辅助功能

新的音频提示

有新的音频提示来帮助处理任务和终端。

  • 任务完成 - 表示任务已完成的声音(由 audioCues.taskCompleted 设置控制)。
  • 任务失败 - 表示任务失败的声音 (audioCues.taskFailed)。
  • 终端快速修复 - 如果当前行有可用的快速修复 (audioCues.terminalQuickFix)。

屏幕阅读器模式下的自动换行

屏幕阅读器模式下运行 VS Code 时,自动换行已禁用,以防止屏幕阅读器体验下降。此问题已修复,可以通过 editor.wordWrap 启用。

辅助功能设置标签

现在有一个 accessibility 标签,可以提高与辅助功能相关的设置的可发现性。

首选项:打开辅助功能设置命令打开“设置”编辑器,其中包含 @tag:accessibility 筛选器。

工作台

当在“搜索”视图的结果树视图中右键单击文件夹时,现在上下文菜单中有两个新选项。

  • 选择将搜索限制到文件夹会将所选文件夹路径添加到要包含的文件文本框。向此文本框添加路径会将搜索结果限制为符合列出的路径或模式的结果。

    Using Restrict Search to Folder

    主题:GitHub 深色调暗(在 vscode.dev 上预览)

  • 选择从搜索中排除文件夹会将所选文件夹路径添加到要排除的文件文本框。在此处添加路径将排除任何符合列出的路径或模式的搜索结果。

    Using Exclude Folder from Search

    主题:GitHub 深色调暗(在 vscode.dev 上预览)

命令中心模式快捷方式

命令中心添加了一个新的顶部部分,以便轻松发现如何导航到文件、运行命令等。

此模式简短列表还提供按键绑定提示,因此您可以直接跳转到最常用的模式(例如,转到文件),而无需通过命令中心。

默认情况下,命令中心 UI 不显示在标题栏中,但您可以通过窗口:命令中心 (window.commandCenter) 设置启用它,或者右键单击标题栏并选中命令中心

“设置”编辑器工作区信任和策略指示器

由于受限制模式工作区或由于在组织策略下进行管理而未应用的设置现在使用指示器来显示其状态。用户甚至可以在受限制模式工作区中读取和写入工作区设置(始终可以使用 settings.json 文件),但在计算要在受限制工作区中使用的设置的最终值时,不会考虑工作区设置值。

默认浅色主题也进行了一些调整,在指示器区域中具有更清晰的 codicon 渲染效果和更紧密的焦点边框。

Restricted workspace settings demo showing keyboard navigation and toggling a checkbox even when the setting is restricted

大纲默认折叠状态

有一个新的设置 outline.collapseItems,用于控制 大纲视图中项目的默认折叠状态。默认值为 false,这意味着默认情况下会展开大纲项。将其设置为 true 将默认折叠大纲项。此设置可以按语言设置,也适用于笔记本。

重新排列“视图”菜单

在 VS Code 菜单栏的“视图”菜单中,最后一组是不断增长的编辑器操作列表。为了平衡菜单和功能增长,我们已将主要与外观相关的项目移动到外观子菜单下。自动换行粘性滚动选项已保留在菜单底部的原始位置。

Updated View menu with Appearance submenu expanded

主题:GitHub 浅色默认(在 vscode.dev 上预览)

输入 UI 上的圆角

文本输入、文本区域和下拉列表现在都显示圆角,以匹配先前版本中应用于按钮的相同样式。

Text input with rounded corners in the Search input box

快速选择列表样式更新

快速选择 UI 中使用的列表样式已略微更新,具有圆角并增加了左右边距。

列表视图的更新 codicon

平面列表和树列表视图现在使用更清晰的 codicon 来表示列表类型。

辅助侧边栏前景色

辅助侧边栏通常模仿主侧边栏的主题,但并非所有主题键都被正确拾取。辅助侧边栏现在正确使用 "sideBar.foreground" 主题键。

下面,右侧的主侧边栏(带有资源管理器)和左侧的辅助侧边栏(带有大纲视图)都使用相同的粉红色前景色。

Secondary Side Bar with a pink foreground color matching the Primary Side Bar

主题:GitHub 浅色默认(在 vscode.dev 上预览)

不再出现“折叠范围过多”通知

出于性能原因,我们将编辑器中显示的折叠范围的数量限制为 5000。可以通过设置 editor.foldingMaximumRegions 配置此限制。当超出限制时,VS Code 过去会显示通知。现在,状态栏中的语言状态悬停会显示该信息。

Folding limit warning in the language status

默认折叠提供程序

通常,当一种语言有多个活动折叠提供程序时,VS Core 会尝试合并结果。如果有冲突的范围,则会丢弃一些范围。此外,并非所有折叠提供程序都可以与其他提供程序组合。

新的 editor.defaultFoldingProvider 设置允许您选择要使用的折叠提供程序。提供程序的名称是贡献该提供程序的扩展的扩展 ID ({publisher}.{extension})。

以下示例将(假设的)扩展 aeschli.better-folding 中的折叠提供程序设置为 JavaScript 的默认提供程序。

    "[javascript]": {
            "editor.defaultFoldingRangeProvider": "aeschli.better-folding"
    }

按输出通道设置日志级别

您现在可以使用命令开发者:设置日志级别...按日志输出通道设置日志级别。当您只想查看来自特定日志输出通道的更多日志时,这很有用。该命令将首先显示输出通道列表,并在选择一个通道后,系统会提示您设置日志级别。

Developer: Set Log Level command dropdown list of output channels

您也可以从命令行按扩展设置日志级别。当您想查看来自特定扩展的更多日志时,这很有用。例如,以下脚本允许您启动 VS Code,并为 Git 扩展的日志输出通道将默认日志级别设置为 debug

code --log vscode.git:debug

新的 list.collapseAllToFocus 树视图命令

新的命令 list.collapseAllToFocus 允许您递归折叠当前聚焦的树项。当您要折叠不是根的树项的所有子项时,这很有用。该命令没有默认的按键绑定,但您可以通过“键盘快捷方式”编辑器添加自己的键盘快捷方式 ( ⌘K ⌘S (Windows、Linux Ctrl+K Ctrl+S)。

合并编辑器

在此里程碑中,我们继续完善合并编辑器,此更新包含一些错误修复和一些新功能。

接受两侧会追加冲突

在此版本中,接受传入接受当前选项始终可以选择。当两个选项都选择时,合并编辑器会追加相应的更改行。

在下面的短视频中,RelativePattern 被导入了两次,因为两条线都被接受了。

A screen recording of how both sides are accepted

当冲突可以在字符级别上没有冲突的情况下解决时,会显示 接受组合 选项,并且可以使用它来自动解决冲突。

在下面的视频中,两个符号都被导入到同一个 import 语句中。

A screen recording of how a combination is accepted

与基础版本的差异装饰

当打开基础视图时,会在当前聚焦侧和基础版本之间显示差异。此差异视图可用于更好地了解 传入当前 中的更改。

A screen recording of how a diff between incoming, current, and base is shown

差异算法改进

合并编辑器的默认差异算法已更改。新的差异算法针对合并场景进行了优化。在常见情况下,代码块的数量会最小化,并且插入位置会得到优化。如果新的算法导致问题,可以使用设置 "mergeEditor.diffAlgorithm": "smart" 来切换回以前的算法(现在默认为 experimental)。

以下屏幕截图演示了插入的改进。请注意,两种差异都是正确的,但新行为更清晰地突出显示了插入的文本。

旧的行为

The old behavior highlights across both the new and existing text

新的行为

The new behavior highlights just the new text

新的差异算法目前仅在合并编辑器中默认启用。如果您希望常规差异编辑器也使用新的差异算法,则可以设置 "diffEditor.diffAlgorithm": "experimental"

在冲突之间导航

您现在可以单击冲突计数器以跳转到下一个未处理的冲突。

Clicking the conflict counter jumps to the next conflict

语言

您是否厌倦了在移动或重命名文件时意外破坏 Markdown 中的链接或图像?试试新的 markdown.updateLinksOnFileMove.enabled 设置!

启用此新设置后,当在 VS Code 资源管理器中移动或重命名文件时,VS Code 将自动更新 Markdown 中的链接和图像。

Markdown file links are updated on file move and rename

您可以使用 markdown.updateLinksOnFileMove.include 控制受影响的文件类型。默认情况下,它对所有 Markdown 文件和常见的图像文件格式启用。

新的 Markdown: 插入工作区中的文件链接Markdown: 从工作区插入图像 命令可让您使用文件选择器快速将链接和图像插入到 Markdown 中。

请记住,这些命令只是向 Markdown 文件添加链接和图像的一种选择。您也可以使用 Markdown 路径补全 或者甚至 从 VS Code 的资源管理器中拖放文件 来插入链接或图像。

我们内置的 Markdown 验证现在可以提醒您未使用的或重复的链接定义。您可以使用 markdown.validate.enabled 启用此功能。

An warning about a duplicate link definition

如果您想更精细地控制这些错误,可以使用这些 markdown.validate 设置来禁用这些错误(ignore)或更改其严重性(warningerror)。

  • markdown.validate.duplicateLinkDefinitions.enabled
  • markdown.validate.unusedLinkDefinitions.enabled

还有一个快速修复来删除重复或未使用的链接定义。

Markdown 中的链接出现高亮显示会显示当前文档中光标下的链接被使用的所有位置。

Highlighting all occurrences of a link

请注意,当光标位于文档中的第一个链接上时,文档中以及文档右侧的装订线中的所有指向 First Header 的链接以及标题本身都会被突出显示。

此功能默认处于关闭状态。要启用它,请打开 markdown.occurrencesHighlight.enabled 设置。

新的 Razor 语法高亮显示语法

VS Code 有一个新的,维护更好的 Razor 语法,用于 Razor 文件的语法高亮显示。新的语法正在积极维护,并修复了旧语法中存在的问题。

Web 版 VS Code

改进的分支创建和保护工作流程

当您在 VS Code for Web 上的 GitHub 或 Azure Repos 存储库中时,提交到受保护的分支现在会通知您当前分支受保护,并提示您创建一个新分支。

此流程还将遵循以下设置

  • git.branchPrefix 允许您使用配置的前缀预填充分支名称快速输入。
  • "git.branchProtectionPrompt": "alwaysCommitToNewBranch" 允许您在尝试提交到受保护的分支时跳过提示,并直接进入用于创建新分支的快速输入。

此外,当您创建一个新分支时,您可以通过配置 "remoteHub.switchToCreatedBranch": "always" 来绕过关于是否切换到新创建的分支的提示。

以上所有内容也适用于在 VS Code 桌面版上使用 GitHub 存储库Azure Repos 扩展时。

Web 中的本地化改进

几个月前,我们开始为 VS Code for Web 进行本地化。到目前为止,VS Code 核心和在其扩展清单中具有静态声明字符串的扩展程序能够被本地化。在这个迭代中,我们完成了最后一块拼图:扩展代码中的字符串。这归功于我们上个月提出的本地化 API 的最终确定。

随着我们在所有扩展中继续采用这个新的 API,请留意更多 VS Code 本地化。如果您是扩展作者,您可以在 vscode-l10n 存储库中了解有关新 API 的更多信息。

扩展的贡献

Python

迁移到 isort 扩展

在我们的 2022 年 5 月发布中,我们宣布了一个新的 isort 扩展,它与 Python 扩展一起工作以排序导入。例如,当您打开一个文件并且导入不符合 isort 标准时,它将显示一个错误诊断并提供一个代码操作来修复导入顺序。在此版本中,我们将迁移为使用独立的 isort 扩展,而不是 Python 扩展中内置的 isort 支持,方法是将其与 Python 扩展一起自动安装。

Pylance 默认关闭自动导入

自从自动导入在 Pylance 中首次实现以来,我们收到了很多关于在例如意外接受建议时,将导入自动添加到文件中是多么令人困惑和有时令人讨厌的反馈。从这个版本开始,使用 Pylance 时,默认情况下不再自动导入包。如果您想为您的 Python 项目重新启用自动导入,可以通过设置 "python.analysis.autoImportCompletions": true 来实现。

Pylint 和 Flake8 扩展推荐

在我们之前版本中,我们宣布了新的 PylintFlake8 扩展,这些扩展通过 语言服务器协议(LSP)与 Python 扩展协同工作以提供 linting。在此版本中,如果您仍然使用 Python 扩展中内置的 Pylint 和 Flake8 功能,我们会显示通知,提示您安装这些新的扩展。

A notification recommending the Pylint extension with a button to install it

远程开发

远程开发扩展允许您使用容器、远程机器或 适用于 Linux 的 Windows 子系统(WSL)作为功能齐全的开发环境。此版本的亮点包括:

  • 开发容器 模板 - 基于现有模板快速创建开发容器。
  • 开发容器 功能 - 通过包含预先打包的功能(或 创建您自己的功能!)向开发容器添加功能。
  • 在没有起始文件夹的情况下创建新的开发容器。

您可以在 远程开发发布说明中了解新的扩展功能和错误修复。

GitHub 拉取请求和问题

继续开发 GitHub 拉取请求和问题扩展,该扩展允许您处理、创建和管理拉取请求和问题。请查看扩展的 0.54.0 版本的变更日志以了解其他亮点。

预览功能

TypeScript 4.9

此更新包括对即将发布的 TypeScript 4.9 版本的支持。有关 TypeScript 团队当前正在处理的内容的更多详细信息,请参阅 TypeScript 4.9 迭代计划。一些编辑器工具的亮点:

要开始使用 TypeScript 4.9 的每晚构建,请安装 TypeScript Nightly 扩展。

设置配置文件

我们最近几个月一直在努力支持 VS Code 中的 设置配置文件,这是社区中最受欢迎的要求之一。此功能可通过 workbench.experimental.settingsProfiles.enabled 设置进行预览。请尝试一下,并通过在 vscode 存储库中创建问题或在 问题 #116740 中发表评论来提供您的反馈。

显示同步的配置文件数据

您现在可以在 同步活动(远程)视图中查看为每个配置文件同步的数据。这有助于了解为每个配置文件同步的数据。

Sync Activity (Remote) view showing history of Profiles

注意:此功能目前仅在 VS Code 的 内部人员版本中可用。

扩展编写

为工作区编辑提供元数据

现在,用于应用工作区编辑的 API 允许扩展提供元数据,例如,将编辑标记为重构。此额外的元数据将由编辑器和重构后的自动保存(设置:files.refactoring.autoSave)处理。

限制哪些命令可以由 MarkdownString 和 Webview 运行

MarkdownString 中的命令链接是在 VS Code 的悬停消息或 IntelliSense 详细信息中创建自定义交互的有用方式。Webview 也可以使用命令链接直接从 webview 触发 VS Code 命令。但是,命令链接也可能存在危险,因为它们可以用来执行任何命令,包括许多并非为安全性而设计的命令。因此,默认情况下会禁用命令链接,必须由扩展程序显式启用。

虽然这种全有或全无的方法可行,但我们也发现它将过多的安全负担转移到了扩展作者身上。需要使用命令链接的扩展程序必须验证它们呈现的内容中只包含安全的命令。这既容易忘记,也容易出错。

为了改进这一点,我们引入了新的命令链接启用 API,允许扩展程序仅启用受信任的命令子集。

对于 MarkdownStringisTrusted 属性现在采用允许执行的命令的允许列表(所有其他命令将被阻止)

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 的所有实例中使用。

目前,普通的 webviewwebview 视图都尝试维护一致的来源。我们计划在下一个迭代中将其应用于自定义编辑器和笔记本 webview。

调试适配器协议

新的 “startDebugging” 反向请求

今天,VS Code 支持多个并发调试会话,但调试适配器协议 (DAP) 仅涵盖单个会话。这意味着以编程方式创建新的调试会话不是 DAP 的一部分,只能在 DAP 或调试适配器之外完成,通常在包含调试适配器的调试扩展程序中完成。因此,非 VS Code DAP 客户端不容易获得自动调试子进程等多会话功能,因为它们通常只使用调试适配器,而不使用 VS Code 特定的调试扩展程序。

为了改善这种情况,我们向 DAP 添加了一个新的反向请求 startDebugging,允许扩展程序从调试适配器内部创建新的调试会话(与调用者类型相同)。客户端功能 supportsStartDebuggingRequest 向调试适配器指示客户端支持 startDebugging

在 10 月发布的版本中,VS Code 已实现 startDebugging

建议的 API

每个里程碑都会有新的提议 API,扩展作者可以试用它们。与往常一样,我们希望收到您的反馈。以下是试用提议 API 的步骤

  1. 查找您想尝试的提议并将其名称添加到 package.json#enabledApiProposals
  2. 使用最新的 vscode-dts 并运行 vscode-dts dev。它会将相应的 d.ts 文件下载到您的工作区。
  3. 现在您可以针对该提议进行编程。

您不能发布使用提议 API 的扩展程序。下一个版本可能会有重大更改,我们永远不想破坏现有的扩展程序。

静态笔记本预加载

新的 notebookPreload 提议贡献点允许扩展程序贡献加载到特定类型笔记本中的脚本。

{
    "contributes": {
        "notebookPreload": [
            {
                "type": "jupyter-notebook", // Type of notebook for the preload script
                "entrypoint": "./path/to/preload.js"
            }
        ]
    }
}

此贡献点由 contribNotebookStaticPreloads API 提议控制。扩展程序可以使用预加载在笔记本 JavaScript 环境中加载或定义全局变量。

预加载脚本必须是导出一个 activate 函数的 JavaScript 模块。所有预加载都在任何 渲染器脚本之前进行评估。

笔记本渲染器可以访问所有输出项

自定义笔记本渲染器现在可以访问它正在渲染的输出项的所有 MIME 数据。如果渲染器确定它无法正确渲染主输出项,此 API 提议允许它退而渲染其他 MIME 类型之一。

此提议的入口点是一个新的 OutputItem._allOutputItems 属性。该属性是当前输出项包含的所有 MIME 类型的有序列表。列表中的每个项都具有 { mime, getItem() } 的形状。mime 是 MIME 类型,例如 text/htmlimage/png,而 getItem() 函数返回一个指向该 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 中,以便更好地进行错误诊断。

遥测示例中有一个简单的示例,您可以在 问题 #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 上下文菜单 添加一个 使用 Code - Insiders 打开 上下文菜单项。对于先前在安装 Insiders 时选择使用上下文菜单的用户,在更新到最新的 Insiders 时,旧式菜单 Shift + F10 中显示的条目现在将被较新的条目取代。对于其他人,您需要重新安装 Insiders 并选择加入才能在安装向导中启用此菜单项。由于我们在开发菜单项时遇到的问题,我们计划将此功能限制为 Insiders 几个里程碑,以在将其推送到所有 Windows 11 用户的稳定版本之前获得信心。

VS Code Install dialog with option to add Open with Code - Insiders action

然后,使用 Code Insiders 打开 操作将在 Windows 文件资源管理器的文件夹和文件上下文菜单中可用。

Windows 11 folder context menu

值得注意的修复

  • 151019 调试悬停在悬停时隐藏
  • 153852 提议:删除 ES5 类兼容性以加速扩展 API
  • 156104 如果端口已静态转发,则不要在单击 url 链接时自动转发端口
  • 158921 在其他位置修改的设置指示器悬停内容溢出

感谢

最后但同样重要的是,衷心感谢 VS Code 的贡献者们。

问题跟踪

对我们问题跟踪的贡献

vscode 的贡献

vscode-pull-request-github 的贡献

vscode-dev-chrome-launcher 的贡献