2021 年 11 月 (版本 1.63)
更新 1.63.1:此更新解决了这些安全问题。
更新 1.63.2:此更新解决了这些问题。
下载:Windows:x64 Arm64 | Mac:Universal Intel silicon | Linux:deb rpm tarball Arm snap
欢迎使用 Visual Studio Code 2021 年 11 月版。此版本包含许多我们希望您会喜欢的更新,其中一些主要亮点包括
- 市场主题预览 - 无需安装即可试用颜色主题。
- 配置问题导航顺序 - 按严重性或文件位置转到下一个错误或警告。
- 在屏幕截图模式下显示命令 - 显示命令名称以及键盘快捷键。
- 笔记本改进 - 调整 Markdown 字体大小,改进文件和 URL 链接支持。
- 不可见的 Unicode 高亮 - 高亮显示不可见或易混淆的 Unicode 字符。
- TypeScript 方法完成 - 快速填写接口和覆盖方法。
- 预发布扩展 - 提前试用扩展新功能和修复。
- 新的 Java 欢迎体验 - 帮助您在 VS Code 中配置和学习 Java。
- vscode.dev 的更多扩展 - 查看 VS Code for the Web 的最新新增功能。
- 在 SSH 服务器上的容器中工作 - 新的远程 - SSH 在容器中重新打开命令。
如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新页面。
在 VS Code 团队的发布派对上观看此版本新功能的亮点。您可以在我们的 YouTube 频道上找到活动录像。
内测版:想尽快尝试新功能?您可以下载每晚的内测版构建,并尽快尝试最新的更新。
工作台
安装前预览主题
您现在可以在安装前预览市场中可用的主题。从颜色主题下拉菜单 (⌘K ⌘T (Windows、Linux Ctrl+K Ctrl+T)) 中,选择浏览附加颜色主题以列出市场主题。当您浏览下拉菜单时,VS Code UI 将预览颜色主题。
在主题条目上按 Enter 以安装扩展。
配置问题导航顺序
您现在可以定义转到下一个问题 (⌥F8 (Windows、Linux Alt+F8)) 和转到上一个问题 (⇧⌥F8 (Windows、Linux Shift+Alt+F8)) 导航的顺序。在以前的版本中,导航顺序基于严重性,先错误,然后警告,然后其余。新的问题:排序顺序 (problems.sortOrder) 设置允许您按severity或position导航问题。当使用"problems.sortOrder": "position"时,第 5 行的警告将显示在第 13 行的错误之前,等等。
多个特定语言的编辑器设置
您现在可以一次为多种语言配置特定语言的编辑器设置。以下示例显示了如何在settings.json文件中一起自定义javascript和typescript语言的设置
"[javascript][typescript]": {
"editor.maxTokenizationLineLength": 2500
}
自动 2x2 编辑器网格
真正的 2x2 网格编辑器布局只能通过查看:网格编辑器布局 (2x2) 命令实现。现在,您可以通过手动拆分编辑器直到达到 2x2 网格来获得相同的布局,并且网格将自动锁定为真正的 2x2 布局。
列表中更好的 Esc 处理
在列表和树上按 Escape 现在会将选择缩小到单个元素,然后再清除它。
在 Web 上启用查找
当 VS Code 在浏览器中运行时(以下示例中的 github.dev),Web 视图中现在支持查找控件

由于当前浏览器 API 的限制,查找的行为与桌面版略有不同。例如,在 Web 上,VS Code 只能高亮显示当前查找结果。在桌面版上,当前文件中的所有结果都将高亮显示。
屏幕录制模式显示命令名称
您现在可以选择在屏幕录制模式下通过键盘快捷键触发命令时显示命令名称。使用屏幕录制模式:键盘快捷键格式 (screencastMode.keyboardShortcutsFormat) 设置来配置此行为。

预发布扩展
VS Code 现在支持扩展的预发布版本,因此您可以选择安装它们并试用扩展的最新前沿功能。VS Code 在扩展安装下拉菜单中显示一个额外的安装预发布版本选项,用于安装预发布版本。

安装后,指示器会清楚地表明您是否正在使用扩展的预发布版本

如果您已安装的扩展有预发布版本,您可以轻松切换到它

更新的查找操作
搜索视图中的查找操作现在使用与编辑器中的查找操作相同的样式
源代码管理
在快速差异中忽略修剪空白
您现在可以使用scm.diffDecorationsIgnoreTrimWhitespace设置来配置左侧边栏中显示的 SCM 快速差异功能以忽略修剪空白。
Notebook
调整笔记本中的字体大小
新的notebook.markup.fontSize设置允许您控制笔记本 Markdown 内容的字体大小。此设置的默认值为当前编辑器字体大小的 120%。
Markdown 单元格中的语法高亮
VS Code 现在支持 Markdown 单元格中围栏代码块的语法高亮

笔记本中的文件链接
笔记本中的 Markdown 现在可以链接到当前工作区中的其他文件
以/开头的链接将相对于工作区根目录解析。以./或仅以文件名开头的链接将相对于当前笔记本解析。
裸 http(s) 链接笔记本
此外,包含http或https的 Markdown 文本现在会自动转换为链接

这与 JupyterLab 等其他笔记本渲染器的行为一致。
笔记本工具栏标签的动态可见性
通过将notebook.globalToolbarShowLabel设置为dynamic,笔记本工具栏可以根据编辑器组的宽度决定操作的标签是否可见。它将首先从最右侧的操作组隐藏标签,然后是左侧的操作组。如果所有标签都隐藏后编辑器组仍然太窄,操作将移动到溢出菜单中。
notebook.globalToolbarShowLabel的其他值现在是always和never。
编辑器
Unicode 高亮
默认情况下,源代码中所有不常见的不可见字符现在都将高亮显示

此外,与 ASCII 字符容易混淆的字符也会高亮显示

您可以阅读“隐形 JavaScript 后门”博客文章或剑桥大学的这篇文章,了解不可见或易混淆的 Unicode 字符如何用于 Unicode 欺骗攻击。
请注意,此功能无法检测所有可能的 Unicode 欺骗攻击,因为这取决于您的字体和区域设置。此外,模糊字符的检测是启发式的。为了安全起见,应使用 VS Code 的工作区信任受限模式来审查源代码,因为在不受信任的工作区中所有非 ASCII 字符都将被高亮显示。
可以将设置editor.unicodeHighlight.invisibleCharacters、editor.unicodeHighlight.ambiguousCharacters或editor.unicodeHighlight.nonBasicASCII设置为false以禁用相应功能。
可以使用以下设置将单个字符排除在高亮显示之外,以及注释或文本中的字符
editor.unicodeHighlight.allowedCharacters- 不高亮显示的特定字符列表。editor.unicodeHighlight.includeComments- 启用高亮显示注释中的字符。
此外,Markdown 文档默认不会高亮显示。
多个悬停提供程序
当文档有多个悬停提供程序时,只要其中一个提供程序返回结果,悬停就会立即显示,并且会随着其他提供程序的结果的到来而更新
| 之前 | 之后 |
|---|---|
任务
automationProfile 设置
旧设置terminal.integrated.automationShell.*已弃用,并添加了新的terminal.integrated.automationProfile.*设置。这允许在指定用于任务的终端属性方面具有更大的自由度,包括 shell、图标、颜色和 shell 参数。
gulpfile.ts 支持
内置的 gulp 扩展现在支持从gulpfile.ts文件检测任务。
NPM 脚本视图改进
NPM 脚本视图显示有关脚本的更多详细信息。

还有一个新设置npm.scriptExplorerExclude,它允许您指定要从 NPM 脚本视图中排除的脚本。
语言
TypeScript 4.5
VS Code 现在随附 TypeScript 4.5。此更新带来了一些新的语言功能,以及工具改进和错误修复。
您可以在TypeScript 博客上阅读有关 TypeScript 4.5 的更多信息。
方法签名完成
方法签名完成使您可以快速覆盖方法和实现接口方法。使用此功能,当您在类主体中时,方法的建议(例如来自超类的方法)在接受时会插入方法的整个签名
如果您正在编写 TypeScript,接受建议还会为签名中引用的类型添加所有必要的导入。
此功能需要工作区中的 TypeScript 4.5,并可以使用typescript.suggest.classMemberSnippets.enabled和javascript.suggest.classMemberSnippets.enabled启用/禁用。
JSX 属性完成
在 JavaScript 和 TypeScript 中完成 JSX 属性时,VS Code 现在会自动插入属性值
这些完成的行为可以通过javascript.preferences.jsxAttributeCompletionStyle和typescript.preferences.jsxAttributeCompletionStyle进行配置。
可能的设置值为
auto- 根据其类型推断属性样式。字符串使用attr="",而其他类型使用attr={}。braces- 始终使用花括号。None- 只完成属性名称。
删除旧 TS 版本的语义高亮
此更新取消了在工作区中使用 TypeScript 4.1 或更早版本时的语义高亮支持。
TypeScript 4.2 添加了对语义高亮的本机支持。在旧版本上,语义高亮是作为 VS Code 提供的 TypeScript 语言插件实现的。删除插件可以减少维护和发布的代码量。
Markdown 预览自定义编辑器
您现在可以使用重新打开方式命令将 Markdown 文件显示为 Markdown 预览而不是文本
与Markdown:打开预览命令不同,重新打开方式不会打开新的编辑器选项卡,而是更改已打开的编辑器选项卡的显示方式。再次使用重新打开方式将文件切换回默认文本视图。
此外,您现在可以使用workbench.editorAssociations设置配置 VS Code 自动将任何 Markdown 文件作为预览打开
"workbench.editorAssociations": {
"*.md": "vscode.markdown.preview.editor"
}
Markdown 预览增量更新
内置的 Markdown 预览现在在您键入时会更智能地更新。预览不再为每次更新替换整个 Markdown 预览文档,而是使用 DOM 差异化仅替换预览文档中已更改的元素。这减少了键入时有时会发生的抖动。
JSON 语言指示器
在 JSON 文件中编辑时,现在有一个语言指示器{},显示内容是否已针对一个或多个 JSON 架构进行验证。将鼠标悬停在指示器上会显示验证状态和打开架构的链接。

JSON 架构缓存
来自架构存储 (json.schemastore.org) 的 JSON 架构现在已本地缓存。这节省了网络带宽,并有助于离线工作。
Emmet 删除标签命令改进
当标签在删除前单独一行时,Emmet: 删除标签命令现在会删除带有标签的行,以及多余的空行(如果适用)。当要删除的标签之间有空行时,它现在还会正确地重新缩进剩余的行。
Web 版 VS Code
Azure Repos
在此里程碑中,我们与 Azure DevOps 工程团队合作,在 Azure Repos 的文件中心添加了一个新的键盘快捷方式。在文件中心浏览存储库时,您可以按.以在https://vscode.dev中打开存储库。
我们还为您的 Azure Repos 存储库添加了一个新的入口点。您现在可以使用远程选择器中打开远程存储库... 菜单项下的新从 Azure Repos 打开存储库... 菜单项,从https://vscode.dev内部连接到您的 Azure Repos 存储库。
此外,您现在可以通过在 URL 前缀加上https://vscode.dev,在 vscode.dev 中使用旧版 Azure DevOps URL 格式(例如,https://<org>.visualstudio.com)打开 Azure Repos 存储库。
改进的远程菜单
远程菜单中现在出现三个附加命令
- 关闭远程工作区 - 将工作区更改为空工作区。
- 下载 Visual Studio Code - 转到https://vscode.js.cn/download。
- 转到存储库 - 在源代码管理主机网站上打开存储库,例如 GitHub 存储库的https://github.com。
对扩展的贡献
Java
Java 扩展包现在具有产品内的欢迎体验,可帮助您在 VS Code 中配置和学习 Java。分步教程涵盖了安装 Java 运行时和有用框架、打开和调试项目以及直接在 VS Code 中运行测试。

您还可以在https://vscode.js.cn/docs/java上查看 Java 教程和用户指南,以帮助您入门。
Jupyter
性能改进
Jupyter 内核的启动,特别是Python,进行了一些性能改进。以前打开过笔记本的用户在启动内核时将看到 2 倍的速度提升。重新启动Python内核也应该更快。
有关为提高性能所做的更改的更多详细信息,您可以查看以下问题
- 支持预热内核以改善笔记本的启动体验。(#7903)
- 更快地激活 Conda 等 Python 环境。(#8342)
- 启动 jupyter 时避免启动默认内核。(#8185)
- 一旦找到 IPyKernel,就避免再次查找。(#8196)
- 当不需要 Jupyter 运行时来启动内核时,避免不必要地搜索
Jupyter包。(#8350, #8352)
内核故障处理的改进
已添加诊断消息和快速修复,以警告在使用!pip install安装 Python 包时。快速修复将帮助用户选择正确的命令%pip install。
已进行多项改进,以便在内核在执行期间启动或停止失败时提供更好、更有意义的错误消息。错误现在显示在单元格输出中,并附有如何解决问题的说明。这确保用户知道问题并可以修复它,以防他们错过 VS Code 右下角显示的错误。
Python
对不受信任和虚拟工作区的有限支持
Python 扩展现在对不受信任的工作区(参见工作区信任)或虚拟文件系统(例如,如果打开远程 GitHub 存储库)具有有限支持。在这种情况下,仅提供部分 IntelliSense,并且扩展的其他功能不可用
- 悬停、相同文件完成以及对 print 等内置函数的完成可用,但扩展仅限于处理当前打开的文件。
- 对于不受信任的工作区,仅支持 Pylance 语言服务器。
- 对于虚拟工作区,仅支持 Jedi 和 Pylance。
状态栏中的语言项会更新以指示这些情况

模块重命名重构
您现在可以使用 Python 和 Pylance 扩展更轻松地重命名模块。重命名 Python 模块后,系统会提示您选择是否要更改代码中的所有导入和引用。如果您不确定,可以先预览更改,然后再做决定。一旦您确定,您可以选择应用重构或放弃重构以不应用建议的更改。
远程开发
远程开发扩展的工作仍在继续,它允许您使用容器、远程机器或 适用于 Linux 的 Windows 子系统 (WSL) 作为功能齐全的开发环境。
1.63 版的功能亮点包括
- 您现在可以使用在容器中重新打开命令在 SSH 服务器上工作时在容器中打开文件夹。
- 改进的转发端口安全性可避免不安全的端口。
- 可配置的 WSL 连接方法允许您使用
wsl.exe或套接字连接与服务器通信。 - 高级容器配置视频,涵盖如何更改项目的默认位置和提高 Windows 上的性能。
您可以在远程开发发行说明中了解新的扩展功能和错误修复。
GitHub 拉取请求和议题
GitHub 拉取请求和问题扩展的工作仍在继续,它允许您处理、创建和管理拉取请求和问题。查看扩展的0.34.0 版本更新日志以查看亮点。
扩展创作
更新的 API 提案结构
我们已经更改了 API 提案的管理方式。以前,有一个包含所有提案的单一文件,vscode.proposed.d.ts。这个文件已经变得很大,很难分辨扩展正在使用哪些提案,以及某个提案是否已在稳定 API 中。现在每个提案都有一个文件。
例如
vscode.proposed.languageStatus.d.ts- 语言状态项提案。vscode.proposed.tabs.d.ts- 编辑器选项卡和选项卡组提案 API。
每个提案都有一个唯一的名称,希望使用提案 API 的扩展需要在其package.json中列出这些名称。package.json中的enableProposedApi属性被新的enabledApiProposals替换,它是一个提案名称的字符串数组,并具有 IntelliSense 和验证支持。

API 提案的更新流程应如下所示
- 查找您想要尝试的提案,并将其名称添加到
package.json#enabledApiProposals中。 - 使用最新的vscode-dts并运行
vscode-dts dev。它会将相应的d.ts文件下载到您的工作区中。 - 您现在可以根据该提议进行编程。
详细的迁移指南和示例迁移可以在问题 #136964中找到。另请注意,有关提案 API 使用的限制没有改变。使用提案 API 的扩展不能发布,也不能按原样使用。
快速选择 API 改进
此次迭代,我们正在最终确定 VS Code 中 QuickPick 的几个 API。
QuickPickItem 内联按钮
能够提供丰富的输入体验是我们扩展 API 的目标,并且利用 VS Code Quick Pick 的熟悉性可以实现强大而简单的 UI 流程。一个新增功能是扩展现在可以向单个QuickPickItem添加按钮。

单击按钮会触发QuickPick对象上存在的onDidTriggerItemButton事件。我们期待看到您如何在扩展中使用这些按钮。
更新项目时保持滚动位置的能力
除了能够向QuickPickItem添加按钮之外,您可能还希望在更新项目时保持滚动位置。这是希望
- 实现“从列表中删除此项”(例如,Ctrl/Cmd + P
xQuickPickItemButton)。 - 实现“以某种方式切换此项”(例如,“插入代码片段”命令)。
- 异步加载 Quick Pick 中的项目。
从window.createQuickPick()返回的QuickPick对象上的keepScrollPosition属性允许您控制 Quick Pick 中的滚动位置 (cursorTop) 是否移回列表顶部。
身份验证 API 改进
此迭代,我们正在最终确定 VS Code 中与身份验证相关的几个 API。
强制创建新会话
有时,当您使用authentication.getSession()获取会话时,它可能对某些资源有效,但对其他资源无效,通过再次进行登录流程,可以修复这种情况。
一个例子是 GitHub 单点登录的安全断言标记语言 (SAML) 支持。默认情况下,为您生成的具有repo范围的令牌将能够访问您自己的个人存储库。但是,如果您在启用了 GitHub 单点登录的组织中,您将必须明确授予会话访问该组织中存储库的能力。
在此示例中,GitHub 身份验证提供程序无法区分是否正确为 SAML 提供了您尝试访问的令牌,因此为了纠正此行为,您现在可以强制创建新会话。
AuthenticationGetSessionOptions现在有一个forceNewSession属性,允许您要求用户再次登录。如果您将其设置为true,用户将看到

如果您想向用户显示更具描述性的消息,您还可以指定一个带有detail字符串的对象。
如果扩展有一个会话,则静默检索会话
我们看到的一个常见模式是,一些扩展在激活时会检查它们是否有可用的身份验证会话。如果可用,它们将使用它预加载数据并提前执行其他任务以提高以后的性能。这样做的缺点是,如果用户没有授予该扩展访问身份验证会话的权限,则帐户菜单上会显示一个徽章,并且菜单中会添加一个项目,要求用户登录。
这在某些情况下是可以的,但在其他情况下则不希望这样做,并且会使屏幕对用户而言混乱。为了帮助解决这个问题,AuthenticationGetSessionOptions上有一个新属性,名为silent,它允许您请求会话而不显示扩展请求会话的任何指示。这样,如果扩展能够获取会话,它就可以做它想做的事情,但如果不能,它就不会烦扰用户。
注意:此 API 仅在过去已授予扩展访问会话的权限(换句话说,它是一个“受信任的扩展”)时才返回经过身份验证的会话。扩展永远不会被授予用户未同意的会话。
设置编辑器改进
有序设置
单个设置现在可以使用order字段进行排序。在同一类别中,有序设置始终位于无序设置之前,并且排序是相对的。
未分组类别支持
设置也可以分组在主扩展头下,而不是特定类别。为此,将其中一个类别的类别标题设置为与扩展显示名称相同。
请注意,在下面的示例中,配置 > 语言:显示大小设置直接位于配置示例标题下。

支持数字和整数对象
设置编辑器现在支持具有非空数字/整数值的对象。

executeCommand 的新类型签名
在 VS Code 的早期版本中,vscode.commands.executeCommand被类型化为总是返回一个可能未定义值的 Promise
export function executeCommand<T>(command: string, ...rest: any[]): Thenable<T | undefined>;
然而,并非所有命令都能返回undefined。例如,返回项目数组的命令通常返回空数组而不是undefined(如果没有结果)。在这种情况下,您必须使用难看的强制转换或添加不必要的检查来编写类型正确的代码。
为了解决这个问题,我们更新了executeCommand的类型以使其更明确
export function executeCommand<T = unknown>(command: string, ...rest: any[]): Thenable<T>;
这意味着如果命令可以返回undefined,您必须明确地将| undefined作为类型参数的一部分传入
vscode.commands.executeCommand<vscode.CallHierarchyItem | undefined>('vscode.prepareCallHierarchy', ...);
此更改仅影响executeCommand的类型,不改变此函数的行为。
更新 vscode.d.ts 以支持 exactOptionalPropertyTypes
我们更新了vscode.d.ts中的类型,以更好地支持 TypeScript 的exactOptionalPropertyTypes严格选项。这项工作包括
- 澄清哪些可选属性可以赋值为
undefined。 - 在如何使用
?与| undefined方面更加一致。
如果您在扩展中使用exactOptionalPropertyTypes,请告诉我们您是否遇到vscode.d.ts类型的问题。
来自 URI 的 HTML 自定义数据
自定义数据允许用户和扩展通过新的 HTML 标签和属性扩展 HTML 语言支持。
在此版本中,HTML 自定义数据贡献也接受文档 URI。您可以使用此功能通过TextDocumentContentProvider的文档在运行时提供自定义数据。
配置默认值覆盖
您现在可以通过package.json中的configurationDefaults贡献点覆盖其他已注册配置的默认值。例如,以下代码片段将files.autoSave设置的默认行为覆盖为在焦点更改时自动保存文件。
"configurationDefaults": {
"files.autoSave": "onFocusChange"
}
注意: 具有application或machine范围的配置不能被覆盖。
替换输出通道中的内容
在此里程碑中,OutputChannel对象上的新replace API 可以替换输出通道中的内容。
/**
* Replaces all output from the channel with the given value.
*
* @param value A string, falsy values will not be printed.
*/
replace(value: string): void;
workspaceContains 超时
当使用带有 glob 模式的workspaceContains:激活事件时,VS Code 会在工作区中开始文件名称搜索,查找与提供的 glob 模式匹配的文件名称。一旦找到匹配的文件名称,扩展就会激活。如果在 7 秒内未找到匹配的文件名称,VS Code 现在将取消搜索,并且扩展将不会激活。
发布预发布扩展
VS Code 现在支持扩展作者通过传递--pre-release标志使用vsce发布其扩展的预发布版本。这意味着您可以将最新功能提供给选择安装预发布版本的用户,并在正式扩展发布之前获得早期反馈。
vsce publish --pre-release
VS Code Marketplace 仅支持扩展版本为major.minor.patch,尚不支持semver预发布标签。因此,我们建议扩展对发布版本使用major.EVEN_NUMBER.patch,对预发布版本使用major.ODD_NUMBER.patch。例如:发布版本为0.2.*,预发布版本为0.3.*。VS Code 会自动将扩展更新到可用的最高版本,因此即使用户选择了预发布版本,一旦有更高版本的扩展发布,该用户也会更新到发布版本。
有关预发布扩展的更多信息可以在预发布扩展主题中找到。
语言服务器协议
语言服务器协议的新版本,连同相应的 npm 模块,已经发布。除了各种次要改进之外,新版本还包含行内值的提议实现。
调试适配器协议
输出事件的新重要类别
调试适配器协议的Output事件用于将调试目标的 stdout 和 stderr 流以及调试器提供的信息消息发送到调试控制台。这些消息流可能对用户来说很多,关键事项可能会被忽略。因此,在Output事件中添加了一个新类别important,调试适配器可以使用它来显示需要突出显示且不被用户忽略的关键消息。important类别是客户端在高度可见的 UI 中显示重要信息的提示,例如作为弹出通知。由于此类别是一个提示,客户端可能会忽略该提示并假定为default类别 (console )。
执行控制请求的澄清和改进
以前,调试适配器协议规定所有“执行控制”请求(continue、next、stepIn、stepOut、stepBack、reverseContinue)都在单个线程上操作,但实现可以决定忽略线程参数并在所有线程上操作。由于这种模糊的“单线程”语义并没有真正有用,调试适配器通常会实现更有用的功能
- “步进”请求,步进当前线程,同时通过恢复其他线程让它们自由运行。
- “继续”请求,恢复所有线程。
由于当前的规范对于执行控制请求不实用,我们已经更改了所有执行控制请求(continue、next、stepIn、stepOut、stepBack、reverseContinue)的规范,使其与通常实现的功能匹配。
此外,一些调试适配器需要“替代语义”,其中step或continue仅在当前线程上操作,但使所有其他线程处于挂起状态。对于这种“替代行为”,已向所有执行控制请求添加了一个新的可选singleThread属性。调试适配器必须使用相应的新的supportsSingleThreadExecutionRequests功能,以向客户端指示执行控制请求支持singleThread属性。
建议的扩展 API
每个里程碑都会带来新的提议 API,扩展作者可以尝试这些 API。一如既往,我们希望得到您的反馈。以下是尝试提议 API 的步骤
- 查找您要尝试的提议并将其名称添加到
package.json#enabledApiProposals。 - 使用最新的vscode-dts并运行
vscode-dts dev。它会将相应的d.ts文件下载到您的工作区中。 - 您现在可以根据该提议进行编程。
您不能发布使用提议 API 的扩展。下个版本中可能会有破坏性更改,我们绝不希望破坏现有扩展。
QuickPickItem 分隔符
此次迭代,我们引入了扩展通过提案 API (vscode.proposed.quickPickSeparators.d.ts) 向 Quick Pick 添加分隔符(也称为“类别”)的功能。这对于对项目进行分组或在项目之间留出一些空间非常有用

要将分隔符添加到现有 Quick Pick,您可以将新的QuickPickItem添加到现有项目列表中,但指定QuickPickItem上的kind属性并将其设置为QuickPickItemKind.Separator。
在上面的示例中,您将以下对象添加到您的项目列表中
{
label: 'APIs',
kind: QuickPickItemKind.Separator
}
如果您不指定kind属性,或者将其设置为QuickPickItemKind.Default,则该项将被视为普通的QuickPickItem。
您可以在问题 #74967中提供有关此 API 的反馈。
值得注意的修复
- 5989 无法使用 openssh 在远程 Windows 计算机上运行任何任务
- 45629 Mac 上的 Google 日语输入法 (IME) - 建议与文本重叠
- 131345 带有
\n的默认设置弃用警告破坏了 json - 133521 要求安装 nvm,而它已经安装
- 133623 如果聚焦线程不再存在,调试工具栏不会更新
- 134254 无法输入韩语。分裂或缺失
- 134429 Zlib 错误:距离太远
- 135838 当有另一个文件名更长的文件时,我无法保存文件
- 136684 调用堆栈项没有打开具有正确内容的选项卡
- 137012 Emmet 在 VS Code 1.62.2 (Universal) 的 js/jsx 文件中不起作用
- 138153 性能:_removePropertiesWithPossibleUserInfo 占加载渲染器成本的约 10%
- 138302 性能:仅在扩展注册后更新编辑器配置
- 138517 vscode.dev 无法在私有存储库中切换分支
感谢
最后但同样重要的是,向 VS Code 的贡献者们致以衷心的感谢。
Web 扩展
启用作为Web 扩展运行代码的扩展的作者(以下列表在 11 月 2 日至 12 月 6 日之间)
- Material Icon Theme (lit fork) (abschill)
- Base64 Utils (Adrientoub)
- LS-Club (AdvantiSS)
- Apollo Workbench (Apollo GraphQL)
- A-SOUL 鼓励师 (AS042971)
- Django (Baptiste Darthenay)
- TOML Language Support (be5invis)
- Simple React Snippets (Burke Holland)
- MASM/TASM (clcxsrolau)
- Tree (CTC)
- Tree (Insiders) (CTC)
- Structured Data Templates (Daniel G. Taylor)
- Notepad Notebook (Devon7925)
- Of course I still log you (Diego Perez)
- Hello, DotNetJS! (Elringus)
- Excel Viewer (GrapeCity)
- FTL XML (hahn-kev)
- ECL Language (HPCC Systems)
- Graphviz Previewer Web (IJMacD)
- ImJoy (ImJoy Team)
- InterSystems ObjectScript (InterSystems Developer Community)
- Shader Toy (Web) (Jackson Kearl)
- Dark Light (Jakka Prihatna)
- React Native Mockups Explorer (jamsch)
- Quote List (jmviz)
- Vue Language Features (Volar) (Johnson Chu)
- Code Runner for Web (Jun Han)
- GZDoom ZScript (kaptainmicila)
- nginx.conf hint (Liu Yue)
- Loadmill (Loadmill)
- UUID Generator (ludwhe)
- CSS Formatter (Martin Aeschlimann)
- SnowScript JS (Mauricio Rojas)
- HLASM Browser dev (mbali)
- Template String Converter (meganrogge)
- Micro Focus COBOL (Micro Focus)
- Micro Focus Enterprise (Micro Focus)
- Cursor Align (Mike Moore)
- Cursor Trim (Mike Moore)
- Multi-Cursor Search (Mike Moore)
- numeric (neal.bkn)
- Toast (Nick Bradley)
- steris (numso)
- N/A (Orta)
- Wurst language support (peterzeller)
- ShowFlags (PEW's Corner)
- Folder Archiver (Philip Damianik)
- ZIP archive type (Philip Damianik)
- Open In Webview Web Extension (Project μ)
- Replace On (rioj7)
- Select By (rioj7)
- Powercursor (Rishov Sarkar)
- BrightScript Language (RokuCommunity)
- Script Assets (Saige)
- LinkMe (saswatbh)
- Drawing Editor (Seflless)
- Azure ML Remote Web (sevillal)
- vscode-cml (sevillal)
- Reflow Paragraph (Stephen Sigwart)
- Neon Dark Theme (Sudhan)
- Japanese Word Handler (Suguru Yamamoto)
- tldraw (tldraw)
- vscodevim-sneak-fork (vscodevim-sneak-fork)
- Expression2-LS (Vurv78)
- Weigl WEM | Script (Weigl Control LLC)
- GreyScript (WyattL)
- mplstyle (Matplotlib) (yy0931)
- OverPy (Zezombye)
- COBOL Folding (zokugun)
- Explicit Folding (zokugun)
- Zokugun Themes (zokugun)
问题跟踪
对我们问题跟踪的贡献
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- CodeCrazy-ywt (@CodeCrazy-ywt)
- Simon Chan (@yume-chan)
- ArturoDent (@ArturoDent)
- Lemmingh (@Lemmingh)
拉取请求
对 vscode 的贡献
- @adaex (Aex):更新到最新的 seti-ui 图标主题 PR #136375
- @alex-brs:build/npm/preinstall:修复节点版本错误消息 PR #136794
- @filiptronicek (Filip Troníček):重命名参数
connectionToken为connection-tokenPR #136620 - @gjsjohnmurray (John Murray)
- 在 QuickDiff 准备期间,在活动栏的 SCM 中添加进度指示器 PR #136969
- 设置描述中缺少单词(修复 #137027) PR #137028
- 避免账户静默登录中的冲突范围和 commandId(修复 #137601) PR #137613
- @grandeljay (Jay):从 PHP 语句中删除括号 PR #137447
- @Gvozd (Gvozd):133348 修复在编辑器中搜索打开时的 OOM PR #136554
- @jeanp413 (Jean Pierre)
- 修复远程终端错误:未找到命令 $setUnicodeVersion PR #136171
- 修复远程终端标题在重新加载时不恢复 PR #136176
- 修复错误:重命名终端选项卡时无法运行递归拼接 PR #136177
- 修复手动构建 vscode 服务器时缺少文件 PR #137570
- @jherchen (Johannes Herchen):修复预安装脚本 PR #136638
- @JustinGrote (Justin Grote):更正 booleanRegex 以仅正确匹配 'true' 和 'false' PR #137822
- @jzyrobert (Robert Jin):更新 html-language-features 文档和任务为 yarn PR #136543
- @laurentlb (Laurent Le Brun):使 'expandLineSelection' 成为一个适当的操作。 PR #135917
- @MalikIdreesHasanKhan (Malik Idrees Hasan Khan):修复了拼写错误。 PR #135729
- @mamphis (Mattis Wacker):修复缺失的活动调试行 + 断点字形 PR #137471
- @mkantor (Matt Kantor):修复文档注释中的一些拼写错误 PR #137810
- @orange4glace:#fix: 108459 PR #108666
- @parched (James Duley):修复任务配置错误消息中的语法。 PR #137898
- @pdrgds (Pedro Guedes):修复 #131458 PR #136625
- @PEZ (Peter Strömberg)
- 添加选项:在屏幕录制覆盖层中包含命令 PR #126742
- 遵守只显示快捷键的设置 PR #136251
- @pohzipohzi (Zi How Poh):添加跳到上一个/下一个问题的选项 PR #135736
- @Pranomvignesh (Pranom Vignesh):修复键绑定标题 PR #123071
- @rudavko (Andrii):通过使用现有实用函数消除代码重复 PR #137016
- @RyanAfrish7 (Afrish Khan S):将 Markdown 中的 img hrefs 从 file 更改为 vscode-file PR #136687
- @SeriousBug (Kaan Genç):允许扩展禁用内置 markdown 预览按钮 PR #136273
- @sijakret:html-language-features:text document provider 对 customData.html 的支持 PR #137557
- @smcenlly (Simon McEnlly):输出通道:新的 replaceAll API,以改进输出通道渲染 PR #136402
- @suzmue (Suzy Mueller):如果聚焦线程不存在,则清除聚焦线程 PR #133637
对vscode-codicons的贡献
- @Profesor08:添加了
newline图标 PR #91
对 vscode-css-languageservice 的贡献
- @avigoldman (Avi Goldman):尊重
kind属性 PR #254
对 vscode-eslint 的贡献
- @asingh04 (Abhishek Singh):处理预先存在的禁用规则注释 PR #1261
对 vscode-extension-samples 的贡献
对 vscode-html-languageservice 的贡献
- @gustavnikolaj (Gustav Nikolaj):在所有 src 和 href 属性中触发完成 PR #117
- @jzyrobert (Robert Jin):添加属性标签的自动完成 PR #116
对 vscode-json-languageservice 的贡献
- @gjsjohnmurray (John Murray):验证主机名、ipv4 和 ipv6 格式 (#_100) PR #118
- @mati-o (Mati O):修复 $ref 到 $id PR #107
- @Relequestual (Ben Hutton):声明 JSON Schema draft 2020-12 尚未支持 PR #117
对 vscode-languageserver-node 的贡献
- @CodingDoll:更正 engines 字段 node 14+ PR #862
- @fvclaus:当范围未定义时,SymbolInformation 的位置丢失 PR #849
- @hamirmahal (Hamir Mahal)
- @robertoaloi (Roberto Aloi):修复错误消息中的拼写错误 PR #866
对 vscode-pull-request-github 的贡献
- @38elements (38elements)
- @burkeholland (Burke Holland):打开 Gist 存储库时出现抓取错误 PR #2933
- @emtei (Mateusz Stopka):不要为已关闭或已合并的 PR 激活评审模式 PR #3021
- @taisph (Tais P. Hansen):修复生成的需要引号的 bash 分支名称 PR #3084
对 vscode-vsce 的贡献
- @microhobby (Matheus Castello):将
libsecret添加到Dockerfile并在README中提及依赖项 PR #646
对 language-server-protocol 的贡献
- @doriath (Tomasz Zurkowski):澄清对重命名请求的响应。 PR #616
- @yxrkt:ResponseMessage.result 可以是数组类型 PR #1012
对 monaco-editor 的贡献
- @activeguild (j1ngzoue):添加 'browser-ems-vite-react' 示例 PR #2767
- @emojiiii (C.Y.Kun):修复网站 Playground 上的一些错误 PR #2779
- @MasterOdin (Matthew Peveler)
- @milahu:修复 monaco.d.ts 的链接 PR #2769
- @Pranomvignesh (Pranom Vignesh):语义令牌提供程序示例在文档中已损坏 PR #2764
- @rramo012 (Rafael Ramos):修复文档链接 PR #2748