2021 年 7 月 (版本 1.59)
更新 1.59.1:此更新解决了这些问题。
此版本还解决了CVE-2021-26437。
下载:Windows: x64 Arm64 | Mac: 通用 Intel Apple 芯片 | Linux: deb rpm tarball Arm snap
欢迎阅读 Visual Studio Code 2021 年 7 月更新。此版本包含许多您可能会喜欢的更新,其中主要亮点包括
- 扩展视图改进 - 扩展详细信息的丰富悬停提示,新的运行时状态选项卡。
- 设置编辑器验证 - 快速找到基于对象的设置中的编辑错误。
- 拖放终端 - 在窗口间将终端移动到编辑器和面板区域。
- 扩展的主题自定义 - 一次自定义多个颜色主题。
- 内置支持 Jupyter Notebook - 直接在 VS Code 中打开
.ipynb
文件。 - Notebook UI 改进 - 折叠单元格显示第一行,每个单元格支持撤消/重做。
- 测试 API 定稿 - 在 VS Code 中原生支持通过内置测试资源管理器运行测试。
- 调试反汇编视图预览 - 在 VS Code 中显示反汇编的 C++ 代码。
- Live Preview 扩展 - 在 VS Code 中实时预览 HTML,并支持 JavaScript 调试。
- 开发容器 devcontainer CLI - 用于处理开发容器的命令行接口。
如果您想在线阅读这些版本说明,请访问 code.visualstudio.com 上的更新页面。
加入我们直播:太平洋时间 8 月 10 日星期二上午 8 点(伦敦时间下午 4 点),观看 VS Code 团队直播,了解本次版本中的新功能演示,并向我们提出您的问题。
Insiders:想尽快试用新功能?您可以下载每夜构建的 Insiders 版本,并在最新更新发布后立即体验。
工作台
扩展
改进了调整大小时的扩展视图。在下面的短视频中,默认宽度的扩展视图显示所有详细信息(以前图标、评分和安装次数不显示)。当视图缩小后,显示更小的扩展图标;宽度进一步缩小时,则隐藏图标和评分。
扩展视图现在会显示扩展的自定义悬停提示。这个丰富的悬停提示包含扩展的完整描述以及其他有用信息,例如为什么扩展被禁用或推荐。
您现在可以在扩展面板的新运行时状态选项卡中查看扩展的运行时状态。状态信息包括其激活时间、是否在启动时激活以及是否有任何警告或错误。部分信息显示在扩展视图及其悬停提示中(如上图所示)。
扩展面板的详细信息选项卡现在显示类别、资源链接以及其他信息,例如扩展的发布和更新日期。选择一个类别将在扩展视图中显示该类别的其他扩展。
设置编辑器
设置编辑器现在支持对象验证。验证会检查直接编辑 JSON 文件时可能引入的类型错误。
数组设置在非编辑模式下现在支持拖放。此外,设置了属性 uniqueItems
为 true
的枚举数组设置现在只显示剩余的选项,而不是下拉列表中的所有选项。
设置编辑器现在还支持多行字符串设置,其中值会显示在多行文本区域中,而不是单行输入框中。
扩展的主题自定义语法
以下颜色自定义设置允许用户自定义当前主题的颜色
workbench.colorCustomizations
editor.tokenColorCustomizations
editor.semanticTokenColorCustomizations
现在可以使用新语法一次自定义多个主题
"workbench.colorCustomizations": {
"[Abyss][Red]": {
"activityBar.background": "#ff0000"
},
"[Monokai*]": {
"activityBar.background": "#ff0000"
}
},
可以列出多个主题,也可以在名称的开头和结尾使用 *
通配符。
支持 Jupyter Notebook
本月,我们将处理读取 *.ipynb
文件的代码从 Jupyter Notebook 扩展移到了一个新的内置扩展中。这意味着您现在可以在干净安装的 VS Code 中打开 Jupyter Notebook,而无需安装完整的 Jupyter 扩展。但是,如果您想执行单元格或查看使用 ipywidgets 或其他复杂渲染器类型的输出,则需要安装 Jupyter 扩展。
Notebook 布局改进
本次迭代我们对 notebook 布局进行了一些改进
- 折叠单元格时现在会渲染单元格输入的第一行。
- 当窗口宽度不足以渲染所有主要操作时,notebook 编辑器工具栏上的操作将移至溢出菜单 (...) 中。
notebook.undoRedoPerCell
的默认值现在已更改为true
。
我们还更新了代码单元格的默认样式,现在显示背景颜色以帮助区分单元格。主题可以使用 notebook.cellEditorBackground
来自定义此颜色。
最后,您现在可以使用设置 notebook.globalToolbarShowLabel
切换 notebook 工具栏上的文本标签。
配置复制相对路径的路径分隔符
一个新的设置 explorer.copyRelativePathSeparator
允许您在调用复制相对路径操作时明确设置路径分隔符。
可用的分隔符选项有
auto
(默认) - 使用特定于操作系统的路径分隔符。/
- 使用斜杠作为路径分隔符。\\
- 使用反斜杠作为路径分隔符。
跨编辑器组共享视图状态
添加了一个新的设置 workbench.editor.sharedViewState
,用于配置编辑器视图状态(例如,编辑器中的滚动位置)如何在编辑器组之间共享。
默认情况下,此设置处于禁用状态,以保留当前行为。如果您在侧边打开编辑器,稍后关闭该编辑器组,然后再次在侧边打开编辑器,则不会恢复视图状态,因为您打开了一个新的编辑器组。但是,当您启用此设置时,最近的编辑器视图状态会在所有编辑器组之间保留,并将被使用,除非找到更特定于该编辑器组的视图状态。
下图中,当在侧边重新打开 package.json
文件时,选择状态得以保留。
编辑器
在折叠区域间导航
有一些新命令可以将光标位置设置到相应的折叠处
- 转到下一个折叠 (
editor.gotoNextFold
) - 转到上一个折叠 (
editor.gotoPreviousFold
) - 转到父级折叠 (
editor.gotoParentFold
)
这些命令目前没有默认的键盘快捷方式,但您可以通过首选项:打开键盘快捷方式 (⌘K ⌘S (Windows, Linux Ctrl+K Ctrl+S)) 添加您自己的键盘快捷方式。
自动折叠导入
使用设置 editor.foldingImportsByDefault
可以自动折叠导入语句。文件首次打开后,折叠状态就会被存储。此功能适用于 TypeScript、JavaScript、Java、C#、C++ 以及所有具有折叠范围提供程序并将导入语句标注为 FoldingRangeKind.Imports
的语言。
从选择中填充搜索字符串
查找控件设置 editor.find.seedSearchStringFromSelection
已扩展,支持仅从非空选择中填充搜索字符串。默认情况下,当显示查找控件时,编辑器将使用选择内容或空选择附近单词作为搜索关键词。
行内建议改进
我们改变了行内建议的渲染方式。这不仅修复了许多 Bug,还使得换行时也能感知行内建议。
此外,现在支持非尾随位置的多行行内建议。
嵌入提示改进
我们也改变了嵌入提示的渲染方式。通过使用与行内建议相同的机制,嵌入提示现在也被考虑用于换行。这种机制还支持在嵌入提示周围设置单独的光标停止点。
终端
跨窗口拖放终端
将终端从一个窗口的选项卡列表或编辑器区域拖放到另一个窗口的选项卡列表、编辑器区域或面板中。
子进程跟踪和关闭警告
现有的设置 terminal.integrated.confirmOnExit
和新的设置 terminal.integrated.confirmOnKill
使用子进程跟踪功能,当尝试关闭一个在 shell 进程下有子进程的终端时,会显示警告。默认情况下,此跟踪只影响编辑器区域的终端,但现在可以配置为对所有终端或面板区域的终端显示警告。
将贡献的终端配置文件设置为默认
扩展贡献的终端配置文件现在可以设置为默认配置文件。默认终端配置文件在终端下拉列表中用默认后缀表示。
下划线和删除线支持
集成终端现在支持下划线和删除线属性。例如,可以配置 Git 使用这些新属性
以上示例在 .gitconfig
中使用了以下设置
[color "status"]
added = green bold
changed = red bold strike
untracked = cyan
branch = yellow black bold ul
在编辑器区域侧边创建终端
新增命令 workbench.action.createTerminalEditorSide
,可在活动编辑器旁边的编辑器区域创建终端。
活动终端选项卡指示器
主题现在可以使用主题键 terminal.tab.activeBorder
设置垂直线的颜色,以指示活动的终端选项卡。
如果未设置 terminal.tab.activeBorder
,则颜色将回退到 tab.activeBorder
。
禁用终端选项卡图标动画
新的设置 terminal.integrated.tabs.enableAnimation
将禁用终端选项卡图标的动画。对于任务,将使用播放按钮,而不是旋转动画。
调试
改进编辑器标题中的运行/调试按钮
在二月版本中,我们在编辑器标题区域的中心(且紧凑)位置引入了一个下拉按钮,用于分组运行和调试命令(请参阅1.54 版本说明)。根据用户反馈,我们尝试通过记住上次执行的操作来改进下拉按钮。下拉按钮现在有两个点击区域,一个用于默认操作(左侧),另一个用于下拉菜单(右侧),当选择右侧时,会运行操作并将其记住为新的默认操作。
下拉按钮的行为
- 如果只有一个运行或调试操作,则省略下拉菜单。
- 如果存在多个运行或调试操作,所有操作都会出现在下拉菜单中,并将下拉菜单中的第一个操作设置为默认操作(前提是没有记住的操作)。
- 默认操作会为特定工作区保留,跨 VS Code 重启生效;但不会按编辑器保留。
对扩展的贡献
实时预览
Live Preview 扩展,上月发布,包含一些令人兴奋的新功能。其中包括
- 与内置 JavaScript 调试器兼容,用于外部预览。
- 运行Live Preview: Show Debug Preview 命令来尝试一下!
- 改进了嵌入式浏览器,例如支持“在页面中查找”以及快速访问
webview
DevTools。 - 对自动生成的文件进行文件系统监视。
- 还有更多!🎉
要查看本月进展的更多详细信息,请参阅扩展的版本说明。
GitHub 拉取请求和问题
我们持续改进 GitHub Pull Requests and Issues 扩展,该扩展允许您处理、创建和管理拉取请求和问题。本月的一大亮点是,开始处理问题的功能已扩展,允许您处理当前仓库之外的问题。
要了解所有新功能和更新,您可以查看扩展 0.29.0 版本的完整变更日志。
Jupyter
我们持续改进 Jupyter 扩展。要了解所有新功能和更新,您可以阅读扩展七月版本的完整变更日志。
如果您想了解更多关于 VS Code 如何原生支持 notebook 的历程,可以阅读最近的博客文章 Notebook 的成熟。
交互式窗口
Jupyter 交互式窗口提供了一种构建和使用 Jupyter Notebook 的替代方式,它使用文本文件而非 notebook 界面。上个月,我们预览了 Jupyter 交互式窗口的升级版本,其特点是更深入的工作台集成,包括支持主题、自定义键绑定、代码片段、与扩展兼容等。非常感谢用户通过 GitHub 问题就预览体验提供的反馈。内置交互式窗口现在是 1.59 版本中的默认界面。旧界面仍可通过设置 "jupyter.enableNativeInteractiveWindow": false
使用,并将在后续版本中移除。我们期待您的反馈。
按行运行
我们一直在努力支持 Jupyter Notebook 中的“按行运行”功能。此功能本质上是一种简化的调试模式,可让您逐行单步执行单元格代码,而无需复杂的调试 UI。此功能仍处于实验阶段,但您可以通过设置 "jupyter.experimental.debugging": true
、在您选择的内核中安装 ipykernel 版本 6,然后在单元格工具栏中选择按行运行按钮来尝试此功能。
Python
在 Python 扩展中,我们改进了 Python 解释器列表的排序方式。过去,虚拟环境会显示在列表底部,导致需要大量滚动和/或搜索。现在位于项目根目录的虚拟环境会优先显示,其次是全局安装的环境。
开发容器 devcontainer CLI
开发容器扩展用于在 VS Code 中使用 Docker 容器,现在包含一个 devcontainer
命令行界面,可让您在开发容器中打开文件夹 (devcontainer open
) 或构建开发容器镜像 (devcontainer build
)。
您可以在远程开发版本说明中了解新的远程开发扩展功能和错误修复。
预览功能
无标题文件自动语言检测
我们很高兴宣布无标题文件自动语言检测的初步预览版,该功能使用机器学习来检测您正在使用的语言,并自动设置无标题文件的语言模式。此功能使用开源 ML 库 Tensorflow.js 和 GitHub 用户 @yoeo 的 Guesslang ML 模型。
在此版本中,此功能默认关闭,但我们计划在下一次迭代中将其设为默认。要启用它,请应用以下设置
"workbench.editor.untitled.experimentalLanguageDetection": true
要看此功能实际效果,请打开无标题文件(文件 > 新建文件)并将源代码粘贴到编辑器中。
这是自动检测 Python 代码的示例
主题:Panda Theme
此外,您可以通过打开语言选择器查看正在检测的语言。
主题:Panda Theme
注意:如果语言检测置信度不够高,您将保持当前语言模式,并且在语言检测置信度更高之前,语言选择器中不会显示结果。
此设置还允许您提供语言覆盖,以指定您不希望自动切换的语言模式。
这是一个不自动检测 Markdown 文件的示例
"workbench.editor.untitled.experimentalLanguageDetection": true
"[markdown]": { "workbench.editor.untitled.experimentalLanguageDetection": false }
使用以上设置,当您编辑无标题的 Markdown 文件时,自动语言检测不会运行。但是,如果您修改任何其他类型的无标题文件,自动语言检测将会根据这些文件的内容运行。
我们将与 ML 模型交互的代码分离到自己的库中,并在 vscode-languagedetection 仓库中作为 npm 包发布。
请让我们知道无标题文件自动语言检测对您来说效果如何!
TypeScript 4.4
此版本包含对即将发布的 TypeScript 4.4 的支持。您可以在TypeScript 博客上阅读有关 TypeScript 4.4 中新语言特性和改进的更多信息。一些工具亮点:
- JavaScript 和 TypeScript 文件中的参数名和类型嵌入提示。
- 普通 JavaScript 文件中的基本拼写建议。这些建议仅在 TypeScript 语言服务对错误和修复具有足够的置信度时显示。
要开始使用 TypeScript 4.4 每夜构建版本,请安装 TypeScript Nightly 扩展。
请分享您的反馈,如果您在使用 TypeScript 4.4 时遇到任何 Bug,也请告知我们。
反汇编视图
感谢 Microsoft C++ 团队的巨大贡献,我们很高兴在本里程碑中提供调试反汇编视图的预览版。
反汇编视图可以从编辑器的上下文菜单中打开,以显示活动堆栈帧的反汇编源代码,并支持单步执行汇编指令以及在单个指令上设置断点。
反汇编视图仅在活动的调试会话中且底层调试扩展支持时可用。截至目前,只有 Microsoft 的 C++ 和 Mock Debug 扩展可以提供反汇编视图数据。
从技术角度来看,VS Code 实现的反汇编视图现在支持调试适配器协议的另外四个特性
- 用于提供内存位置反汇编源代码的
disassembly
请求。 - 堆栈帧上的
instructionPointerReference
属性。 - 单步执行请求上的
granularity
属性。 - 指令断点和
setInstructionBreakpoints
请求。
扩展创作
测试 API
去年秋天,我们开始着手为 VS Code 添加原生测试运行支持,本月第一批与测试相关的 API 已定稿。这些 API 提供了比现有扩展更强的灵活性、更好的性能和更丰富的用户体验。查阅编写测试扩展的指南来深入了解。
主题:codesong
Test Explorer UI 扩展的现有用户可以通过将 testExplorer.useNativeTesting
设置为 true
来获得原生体验。然而,此转换是 Test Explorer UI 扩展现有 API 的反映,因此不包含诸如丰富差异支持等某些功能。
首批采用测试 API 的扩展之一是包含在 Extension Pack for Java 中的 Microsoft Test Runner for Java。
新建文件菜单的贡献点
提供新建文件编辑器方式(例如 notebook 或自定义编辑器)的扩展现在可以向新的 file/newFile
菜单贡献点贡献命令。可以通过欢迎页或文件菜单中的新建文件...项访问此菜单。
状态栏丰富悬停提示
状态栏项现在支持包含链接和图标的丰富悬停提示 StatusBarItem.tooltip: string | IMarkdownString
。
- 如果
MarkdownString.supportThemeIcons
为 true,您可以使用$(iconName)
语法使用图标。 - 如果
MarkdownString
受信任,您还可以添加命令链接。语法:([test](command:vscode.newWindow))
。
状态栏警告颜色
表示警告的状态栏项可以使用新添加的颜色 statusBarItem.warningBackground
和 statusBarItem.warningForeground
。
没有 additionalProperties 的对象设置
对象设置必须将 additionalProperties
设置为 false
才能在设置编辑器中得到支持。否则,设置编辑器将把该设置解释为可以采用任何形状的复杂设置,并将用户引导至 settings.json 文件。
多行字符串设置
要在设置编辑器中添加对多行字符串设置的支持,请将 "editPresentation": "multilineText"
作为键值对添加到字符串设置中。将字符串设置更改为多行将导致设置编辑器在多行文本区域中渲染设置值,而不是在单行输入框中。
更新的 codicons
我们在 codicon 库中添加了以下新图标
azure
compass-active
compass-active
compass-dot
compass
debug-all
debug-coverage
git-pull-request-closed
git-pull-request-draft
issue-draft
layers-active
layers-dot
layers
文本文档更改原因
当触发 workspace.onDidChangeTextDocument
事件时,事件对象上的新属性 reason
指示文本更改是否由撤消或重做操作引起。
语言服务器协议
新一代 语言服务器协议 及其相应的 npm 模块已发布。3.17 版本包含一个关于补全项标签详细信息的提案,这与 VS Code 本身的最新更改一致。
调试适配器协议
定稿 "writeMemory" 请求和 "memory" 事件提案
writeMemory
请求已定稿,现在可在 调试适配器协议 的 1.48 版本及相应的 npm 模块中使用。如果调试适配器具有 supportsWriteMemoryRequest
功能,客户端可以使用 writeMemory
请求向给定位置的内存写入字节。
memory
事件有一个提案,将在下一个里程碑中添加到 DAP。
建议的扩展 API
每个里程碑都会带来新的建议 API,扩展作者可以试用这些 API。一如既往,我们期待您的反馈。以下是试用建议 API 的步骤
- 您必须使用 Insiders 版本,因为建议 API 经常更改。
- 您必须在扩展的
package.json
文件中包含以下行:"enableProposedApi": true
。 - 将 vscode.proposed.d.ts 文件的最新版本复制到您项目的源位置。
您不能发布使用建议 API 的扩展。在下一个版本中可能存在破坏性更改,我们不希望破坏现有扩展。
TaskGroup 的 isDefault 属性
group
属性存在于 tasks.json
文件中定义的任务上,并通过 tasks API 公开。group
属性有一个 isDefault
属性,该属性在此之前在 API 中不可用。此提案将 isDefault
属性作为 TaskGroup
上的只读属性公开,以便扩展可以读取哪个任务是组的默认任务,但不能通过设置组的默认任务来覆盖用户的配置。
AuthenticationGetSessionOptions 的 forceRecreate 属性
到目前为止,用于获取身份验证会话对象的 getSession
API 从未具有要求用户登录的能力。对于使用 SAML/单点登录 (SSO) 的身份验证服务(例如 GitHub),当 SSO 会话过期时,访问令牌最终会丢失对资源的访问权限,因此需要提示登录。此提案向 AuthenticationGetSessionOptions
添加了一个名为 forceRecreate
的新属性,允许您要求用户再次登录。将向用户显示类似于指定 createIfNone
时的模态体验。
工程改进
桌面端 everywhere 都使用基于 iframe 的 webview
本月,我们完成了从基于 Electron webview 标签元素的过渡,转而使用基于普通 <iframe>
元素的 webview。这更好地统一了 VS Code webview 在桌面端和 Web 端上的实现,也使我们能够删除许多现在冗余的代码。
Electron 13 更新
在此里程碑中,我们完成了将 Electron 13 打包到 VS Code 的探索工作,并感谢所有参与 Insiders 版本测试和自托管的人员。这是一个主要的 Electron 版本,附带 Chromium 91.0.4472.124。此版本中 Node.js 版本没有变化,仍将是 v14.16.0。
Electron 沙盒支持进展
随着我们继续使 VS Code 工作台为启用 Electron 的沙盒做好准备,我们希望在 Linux 上启用混合沙盒模式,并且不再在我们的分发包 deb、rpm、snap 和 tar 存档中捆绑 CLI 参数 --no-sandbox
。Chromium 在 Linux 上有一个多层沙盒模型。如果 Chromium 无法使用命名空间沙盒作为第 1 层,它将尝试通过随应用程序二进制文件一起提供的辅助二进制文件 chrome-sandbox
使用setuid
沙盒。为了使 setuid
二进制文件正常工作,需要满足以下条件
- 沙盒二进制文件必须可由 Chromium 进程执行。
- 它必须是 SUID 且可供其他人执行。
我们能够为 deb 和 rpm 包保留这些条件。目前无法为 snap 实现这些权限,我们有一个跟踪问题 #127140,以便未来解决 snap 包的问题。
至于使用 tar 存档,如果应用程序无法使用命名空间沙盒(例如在容器内运行时),它将出现以下错误
FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that chrome-sandbox is owned by root and has mode 4755.
如果发生这种情况,您可以使用以下两种选项之一使其工作
-
修复
setuid
辅助文件的权限sudo chown root <path-to-vscode>/chrome-sandbox sudo chmod 4755 <path-to-vscode>/chrome-sandbox
-
使用
--no-sandbox
标志运行
冒烟测试改进
我们在每次构建时都会触发一系列冒烟测试,这些测试会启动 VS Code(包括桌面和 Web),并检查各种 UI 元素以确保功能正常。在这个里程碑中,我们投入精力改进此基础架构,以便从发布检查表中移除手动冒烟测试。
冒烟测试现在在所有平台(macOS、Linux 和 Windows)上运行。此外,我们一个更复杂的冒烟测试套件(专门检查 VS Code 上一个稳定版本和新版本之间的回归问题)已自动化,可在每次提交时运行。
最后,得益于我们用于自动化 Web 冒烟测试的出色库 Playwright,我们启用了其跟踪功能,以便使用其跟踪查看器工具重放失败的冒烟测试。
重要修复
- 26425:当没有更改时,不应显示打开更改按钮
- 100815:连接到远程 WSL 时,外部终端损坏
- 106981: 窗口缩放设置为 -1 时终端光标出现残影
- 127959: 调试器暂停时打开调试窗格
- 129059: 设置编辑器中的对象小部件未渲染描述
- 129070: 仅按“确定”按钮无法更正下拉设置值
- 129415: 用户任务无法在单文件模式下运行
感谢
最后但同样重要,非常感谢以下本月为 VS Code 做出贡献的人员
对问题跟踪的贡献
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- @CodeCrazy-ywt
- ArturoDent (@ArturoDent)
- Alexander (@usernamehw)
对 vscode
的贡献
- @71 (Grégoire Geis): platform/configuration: 修复配置解析器忽略空键的问题 PR #128909
- @adaex (Aex): 添加对 eslintrc.json seti-ui 图标的支持 PR #123404
- @alanrenmsft (Alan Ren)
- 修复达到最大调用堆栈大小的问题 PR #119929
- 增大下拉箭头以满足可访问性要求 PR #127839
- @alielbashir (Ali Elbashir): 修复 github spaces 链接中的拼写错误 PR #128120
- @andrewbranch (Andrew Branch): [typescript-language-features] 添加 suggest.allowIncompleteCompletions 并将触发类型传递给 TS Server PR #127673
- @door-bell (Tim): 添加列表滚动灵敏度设置,以作用于编辑器和终端之外 PR #110059
- @galexite (George White): 添加
.ixx
作为可能的 C++ 扩展名 PR #127962 - @headerjson: 将 isDefault 添加到 TaskGroup API PR #128596
- @jeanp413 (Jean Pierre)
- 修复了在“打开的编辑器”和“源代码管理”视图中键盘多选不起作用的问题 PR #128284
- 修复了将文件夹从资源管理器树拖到终端不再复制文件夹路径的问题 PR #128419
- 修复了使用终端编辑器时,“在终端中运行 Python 文件”会打开面板的问题 PR #128866
- @joshspicer (Josh Spicer): welcomePage.contribution.ts 中的拼写错误 PR #127893
- @karolz-ms (Karol Zadora-Przylecki): 改进 dockercompose 语言的默认设置 PR #128550
- @kieranlblack (Kieran Black): 添加设置以修改复制分隔符 PR #101197
- @kilbouri (Isaac Kilbourne): 提交消息 PR #127849
- @Kingwl (Wenlu Wang)
- 添加 ts 内嵌提示 PR #113412
- 为 monaco 公开内嵌提示 API PR #127391
- 内嵌提示默认使用 editor.fontFamily PR #128181
- 为导入范围添加自动折叠 PR #128978
- @movermeyer (Michael Overmeyer)
- 使用相同时间解析所有基于时间的片段变量 PR #128571
- 从构造函数中移除私有字段 PR #128857
- @nickdelja (Nick Delja): 修复了轻微拼写错误 PR #129439
- @NSExceptional (Tanner Bennett): 在 macOS 上提供更具体的文件类型描述 PR #117713
- @shantaram3013 (Siddharth Singh): walkthrough: 更新已弃用的属性名 PR #129041
- @SNDST00M (SNDST00M: M.U.N.I.N): 扩展的主题自定义语法 PR #122969
- @ssigwart (Stephen Sigwart): 添加折叠跳转(父级以及同级下一个/上一个) PR #128450
- @suema0331: Fix#122454: 截断过长的终端标题 PR #122620
- @timfenney (Tim Fenney): 将复制命令标签添加到键盘快捷方式。 PR #125563
- @usjpin (Utkarsh Singh): 打字时隐藏活动栏悬停提示 PR #128362
- @xisui-MSFT
- 反汇编视图 PR #125737
- 修复反汇编视图中的焦点问题 PR #129616
- 反汇编视图中更大的初始视图大小 PR #129651
- 应显示“打开反汇编视图”但处于禁用状态 PR #129726
对 vscode-extension-samples
的贡献
- @gjsjohnmurray (John Murray): 修复 #400 tree-view-sample: 更新 package.json, package-lock.json PR #401
- @jabbera (Mike): 将 --enable-proposed-api 添加到 launch.json PR #346
- @james1293: 移除额外的 parseTree PR #406
对 vscode-languageserver-node
的贡献
- @perrinjerome (Jérome Perrin): 修复“请求失败”对话框无法关闭的问题 PR #787
对 vscode-pull-request-github
的贡献
- @binsee: 修复检查分支详情 PR #2806
- @iChenLei (ChenLei): chore: 将已弃用的 vscode-test 替换为 @vscode/test-electron PR #2842
对 vscode-vsce
的贡献
- @legomushroom (Oleg Solomka): 更新
azure-devops-node-api
版本 PR #589
对 debug-adapter-protocol
的贡献
- @NipunaRanasinghe (Nipuna Ransinghe ): 更新 Ballerina 调试适配器信息 PR #201
对 language-server-protocol
的贡献
- @leegbestand: 更新 jsonrpcReservedErrorRangeEnd 的注释 PR #1315
对 monaco-editor
的贡献
- @Surm4 (Marcin): 在 playground 中公开颜色示例更新。 PR #2561
对 monaco-languages
的贡献
- @alefragnani (Alessandro Fragnani): 将
strict
关键字添加到 Pascal 语言 PR #153 - @jonatanklosko (Jonatan Kłosko): 正确标记 GitHub 风格代码块中的围栏关闭 PR #149
- @lofcz (Matěj Štágl): 修复带有破折号符号的 razor + liquid 标签渲染问题 PR #150