2022 年 11 月 (版本 1.74)
更新 1.74.1:本次更新解决了这些问题。
更新 1.74.2:本次更新解决了这些问题。
更新 1.74.3:本次更新解决了这个安全问题。
下载:Windows: x64 Arm64 | Mac: 通用版 (Universal) Intel Apple 芯片 (silicon) | Linux: deb rpm tarball Arm snap
欢迎来到 Visual Studio Code 2022 年 11 月发布版本。此版本中有许多更新,我们希望您会喜欢,以下是其中一些关键亮点:
- 自定义资源管理器自动显示逻辑 - 决定哪些文件在资源管理器中滚动到视图内。
- 隐藏活动栏和面板徽章 - 通过切换状态徽章来简化编辑器 UI。
- 笔记本和差异视图的音频提示 - 单元格运行结果、添加或删除行的声音提示。
- 合并编辑器撤消/重做 - 快速还原或重新应用合并冲突操作。
- 管理不安全的仓库 - 阻止在非您拥有的文件夹上执行 Git 操作。
- JavaScript console.profile 收集 - 轻松创建 CPU 分析文件并在 VS Code 中查看。
- 从 return 跳转到定义 - 跳转到 JavaScript/TypeScript 函数顶部。
- 远程隧道 - 创建到任何机器的连接,无需 SSH。
- Jupyter 笔记本“仅我的代码”调试 - 避免单步调试 Python 库代码。
- 开发容器 GPU 支持 - 在创建开发容器时请求 GPU。
如果您想在线阅读这些发布说明,请访问 code.visualstudio.com 上的更新页面。
Insiders(预览版): 想尽快试用新功能?您可以下载每夜构建的 Insiders(预览版) 版本,并在最新更新可用后立即尝试。
辅助功能
笔记本执行的音频提示
现在笔记本单元格完成运行时有音频提示。根据单元格是成功运行还是失败,提示声音不同。
差异评审模式的音频提示
在差异编辑器中,触发转到下一处差异时,会播放一个特定的音频提示,指示光标是位于插入行还是删除行。
如果您对可用的音频提示感到好奇,可以通过帮助:列出音频提示下拉菜单收听它们。
键盘可导航的设置编辑器指示器、悬停提示和链接
设置编辑器中的指示器、悬停提示和链接现在可以通过键盘导航。一些链接的样式也进行了调整,以提高设置编辑器中的一致性。
设置编辑器指示器悬停提示在 Tab 键停靠和维护键盘焦点方面表现得更好了。这种改进的行为仍在实验中,目前仅针对设置编辑器指示器悬停提示启用,而不是针对 VS Code 中的所有悬停提示。
主题:浅粉色 (Light Pink)(在 vscode.dev 上预览)
工作台
自定义资源管理器自动显示逻辑
高度赞成的问题 #87956(“允许为特定文件夹设置 explorer.autoReveal”)已通过引入新设置 explorer.autoRevealExclude
得到修复。此设置允许您配置如果在资源管理器中启用了自动显示(explorer.autoReveal
,默认值为 true
),哪些文件会被自动显示。autoRevealExclude
设置使用glob 模式来排除文件,并且与 files.exclude
类似,也支持通过 when 子句进行同级匹配。
默认值排除 node 和 bower 模块
{
"explorer.autoRevealExclude": {
"**/node_modules": true,
"**/bower_components": true
}
}
按视图容器隐藏徽章
与之前可以通过右键单击视图容器来隐藏视图容器类似,您现在可以隐藏容器上的徽章(显示在活动栏、面板和次要侧边栏中)。徽章通常显示特定视图容器的数字、图标或进度指示器,例如源代码管理视图的挂起更改数量。
合并编辑器
此版本包含合并编辑器的一些改进和错误修复。亮点包括:
- 撤消/重做现在会跟踪冲突的处理状态。
- 输入视图中的忽略操作可用于接受基础版本,而不是结果视图中的标记为已处理操作。
- 两侧相同的更改现在会自动解决。
- 提供
git blame
功能的扩展现在可以在传入、当前和基础编辑器中工作。
从磁盘安装扩展
您现在可以使用开发者:从位置安装扩展... 命令安装位于本地磁盘驱动器上的扩展。该命令将打开平台文件夹对话框以选择扩展的 .vsix
文件位置。
编辑器
新增 CJK 字符自动换行选项
现在可以使用名为 editor.wordBreak
的设置来避免在CJK 字符后插入换行点。当配置为 keepAll
时,换行算法将尝试将 CJK 字符后的文本保留在同一行上。此设置对其他脚本中的字符没有影响。
新增 OpenType 字体设置
一些较新的字体支持OpenType 字体变体,支持调整某些轴,例如字体粗细轴,以实现无法通过 font-weight
CSS 属性配置的字体粗细。在 CSS 中,这通过 font-variation-settings
属性实现。如果您使用此类字体,现在可以将 editor.fontVariations
配置为 true
,这将导致 VS Code 使用 "wght"
显示轴来设置字体粗细。如果您的字体支持其他轴,也可以直接配置它们,例如设置 "editor.fontVariations": "'ital' 0.5"
。
新增缩进大小设置
新增了一个名为 editor.indentSize
的设置,它允许将缩进大小(构成缩进的空格数量)与制表符大小(用于渲染 Tab 字符的空格数量)分离开来。这在处理混合使用制表符和空格缩进的文件时非常有用,并且只能在手动缩进配置时使用。
以下是一个配置示例:
"editor.detectIndentation": false,
"editor.insertSpaces": true,
"editor.tabSize": 8,
"editor.indentSize": 2
部分接受内联补全的命令
命令接受内联建议的下一个词语(editor.action.inlineSuggest.acceptNextWord
)可用于接受当前内联建议的下一个词语/非词语片段。目前,它只能接受内联建议第一行的部分内容。该命令仍在开发中,我们正在探索键盘快捷方式以及未来版本中的替代拆分规则。
源代码管理
管理不安全的 Git 仓库
VS Code 使用 git.exe
执行所有 Git 操作。从 Git 2.35.2 版本开始,用户被禁止在非当前用户拥有的文件夹中的仓库中运行 Git 操作,因为该仓库被认为可能不安全。
从本版本开始,如果您尝试打开此类可能不安全的仓库,VS Code 会在源代码管理视图中显示欢迎视图,并显示错误通知。欢迎视图和通知都提供了管理不安全的仓库命令,允许您查看可能不安全的仓库列表,将其标记为安全,然后打开它们。管理不安全的仓库命令也可在命令面板中使用。将仓库标记为安全会将其位置添加到 safe.directory
Git 配置中。
乐观用户界面更新
执行 Git 操作后,会执行一组 git
命令(例如,git status
)以在更新源代码管理视图之前更新数据模型。在某些场景下,运行这些命令可能需要几秒钟才能完成(例如,处理大型单体仓库时),从而导致源代码管理视图刷新延迟。
在此里程碑中,我们进行了更改,使得在 git status
完成之前,源代码管理视图能够对某些 Git 操作(暂存、取消暂存、放弃更改和提交)进行乐观更新,从而使源代码管理视图更流畅。
新功能默认启用,但可以通过 git.optimisticUpdate: false
禁用。
提交操作按钮改进
当提交操作按钮正在执行次要提交命令(例如,提交并同步)时,按钮标签现在会正确反映正在执行的命令。提交按钮还会显示动画指示进度。
终端
终端快速修复改进
终端快速修复现在显示在代码操作控件中,以便与编辑器中的体验保持一致。
终端下拉菜单中的任务操作
运行任务和配置任务命令现在出现在终端下拉菜单中,以提高可发现性和访问便利性。
远程开发
远程隧道现在作为预览功能在 VS Code Stable 中可用。远程隧道允许您从任何设备、任何地方使用 VS Code 安全地访问您的机器。要启用远程隧道访问,您可以**选择**:
- 从账户菜单或命令面板中选择开启远程隧道访问。
- 从安装了 VS Code 且已添加到 PATH 的机器上运行
code tunnel
。 - 下载新的 VS Code CLI 并运行
./code tunnel
。
开启隧道访问后,您可以通过 vscode.dev,或者通过 VS Code 桌面版中的远程 - 隧道扩展从任何设备连接到该机器。
要了解更多信息,请查阅我们宣告此功能的博客文章或远程隧道文档。
主题:Codesong(在 vscode.dev 上预览)
注意: 如果您之前使用独立的
code-server
CLI,现在应改用 VS Code CLI(通过最新的 VS Code 桌面版或上面提到的独立下载)。
调试
JavaScript 调试
支持 console.profile
JavaScript 调试器现在支持 console.profile。在调试器下运行时,将为 console.profile()
和 console.profileEnd()
之间的代码收集 CPU 分析文件。
console.profile();
doSomeExpensiveWork();
console.profileEnd();
生成的 .cpuprofile
文件将保存在您的工作区文件夹中,并可以使用 VS Code 内置的分析器打开和查看。
支持嵌套的 sourcemap
有时,尤其是在单体仓库设置中,源代码可能被编译一次,然后再次重新编译或捆绑。在许多情况下,这会导致最终捆绑包的 sourcemap 引用第一步创建的已编译文件。
JavaScript 调试器现在将自动递归解析 sourcemap,以便无需额外步骤即可调试原始源文件。
添加 killOnServerStop 属性到 serverReadyAction
serverReadyAction launch.json
功能允许用户启动一个启动 Web 服务器的调试会话,然后在服务器启动后,自动启动一个导航到该服务器 URL 的浏览器调试会话。新增了一个属性 killOnServerStop
,当设置为 true
时,将在服务器调试会话停止时自动停止新的浏览器调试会话。
例如:
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js",
"serverReadyAction": {
"pattern": "listening on port ([0-9]+)",
"uriFormat": "http://localhost:%s",
"action": "debugWithEdge",
"killOnServerStop": true
}
}
在上面的示例中,当原始的 Launch Program
调试会话停止时,自动启动的 Edge 调试会话也将停止。
聚焦调试会话时显示异常断点
之前在运行两种不同类型的调试会话时管理异常断点效果不佳。现在,当在调用堆栈视图中聚焦某个调试会话时,将显示该会话调试类型的正确断点集。
注释
comments.visible
新设置 comments.visible
可用于关闭编辑器注释(注释栏和编辑器内注释速览视图)。注释:切换编辑器注释命令仍可用于在会话期间切换编辑器注释的开启和关闭。在注释视图中选择一条注释将始终开启注释功能。
注释视图徽章
注释视图显示未解决注释数量的徽章。
任务
问题匹配器 'search' 文件位置方法
以前,问题匹配器需要通过 fileLocation
属性精确知道在哪里查找有问题的文件。支持的方法包括 absolute
、relative
或 autoDetect
(首先检查相对路径,如果失败则查找绝对路径)。
然而,在使用嵌套子目录中脚本的工作区中,很难设置任务,因为不同的脚本很少以统一的方式报告文件路径(例如,相对于工作区的基础目录)。
为了解决这个问题,新增了一种文件位置方法,名为 search
。使用此方法,将运行递归文件系统搜索以定位任何捕获的路径。
以下示例展示了如何设置 search
文件位置方法(尽管所有参数都是可选的):
"problemMatcher": {
// ...
"fileLocation": [
"search",
{
"include": [ // Optional; defaults to ["${workspaceFolder}"]
"${workspaceFolder}/src",
"${workspaceFolder}/extensions"
],
"exclude": [ // Optional
"${workspaceFolder}/extensions/node_modules"
]
}
],
// ...
}
注意,用户应注意避免导致耗时的文件系统搜索(例如,在 node_modules
目录内查找),并适当设置 exclude
属性。
语言
TypeScript 4.9
VS Code 现在附带 TypeScript 4.9。这次主要更新带来了新的 TypeScript 语言功能,例如satisfies
运算符和自动访问器。在工具方面,我们改进了文件监视,并进行了多项其他修复和改进。
有关此更新的更多信息,请查阅TypeScript 4.9 公告。
从 return 跳转到定义
JavaScript 和 TypeScript 现在支持在 return
关键字上运行转到定义,以快速跳转到返回函数的顶部。这在处理冗长、复杂或高度嵌套的函数时非常有用。您可以使用转到定义命令/快捷键 (F12) 或简单地在 return
关键字上使用 Cmd/Alt + Click
。
笔记本
内核选择器实验:最近使用的内核
新增了一个笔记本内核选择器,它将最近使用的内核显示在选择器的顶部。这是一个选择加入的实验功能,可以通过将 notebook.kernelPicker.type
设置设置为 mru
来启用。
未使用的内核将移至次要选择器选择其他内核...。当您安装了最新的Jupyter 扩展时,此选择器将按来源(例如:Jupyter 内核、Python 环境等)对所有内核进行分组。
我们非常乐意听取您的反馈,您可以在VS Code 仓库中创建问题。
Web 版 VS Code
源代码管理
在编辑 GitHub 和 Azure Repos 仓库时,Web 版 VS Code 现在支持以下设置:
"git.branchRandomName.enabled"
- 在 Web 版 VS Code 中创建分支时生成随机分支名称。"git.branchRandomName.dictionary"
- 指定在 Web 版 VS Code 中创建分支时生成随机分支名称的词典。"git.closeDiffOnOperation"
- 在执行提交、暂存、取消暂存更改等源代码管理操作后关闭差异编辑器。
此外,Web 版 VS Code 会在状态栏和分支选择器中为受保护的分支显示锁定图标,这与 VS Code 桌面版体验一致。
最后,您现在可以使用 Web 版 VS Code 中的源代码管理操作按钮直接提交并将您的更改推送到远程仓库:
如果您希望在提交前验证更改,还可以使用操作按钮下拉菜单中的次要操作继续处理...将您正在处理的更改转移到其他开发环境。
“继续处理”功能改进
当您在 GitHub 或 Azure Repos 仓库中时,命令面板中新增了便捷的一步到位的命令,可将您正在处理的更改带到特定的开发环境:
- 在新 Codespace 中继续处理
- 在本地克隆中继续处理
- 在 VS Code 桌面版上的远程仓库中继续处理
我们还将编辑会话重命名为云更改,以明确其与将正在处理的更改存储在云端相关。
对扩展的贡献
Jupyter
笔记本单元格调试的“仅我的代码”
“仅我的代码”调试功能允许您决定调试器是否会单步调试 Python 库中的代码,或者是否只单步调试您的源代码。在调试笔记本单元格时,此功能默认启用,但您可以设置 "jupyter.debugJustMyCode": false
来禁用它,并允许您单步调试库代码。为获得最佳体验,请将环境中的 debugpy 升级到 >=1.6.3
。以前,debugJustMyCode
设置仅在交互式窗口中调试时受尊重,现在它也适用于笔记本编辑器。
支持重启笔记本单元格调试会话
调试工具栏中的重新启动命令会重启当前调试会话。以前,这在笔记本调试会话中会引发错误,但现在已支持。遗憾的是,在交互式窗口中无法正确支持此功能。
此功能在您调试、编辑单元格,然后重新启动调试会话以应用编辑后再次调试单元格的工作流程中特别有用。
远程开发扩展
远程开发扩展允许您使用容器、远程机器或适用于 Linux 的 Windows 子系统 (WSL) 作为功能齐全的开发环境。此版本的亮点包括:
- 开发容器 GPU 支持
- 开发容器 Cygwin / Git Bash 套接字转发
- 远程 - 隧道扩展 - 连接到远程机器,无需 SSH。
您可以在远程开发发布说明中了解新的扩展功能和错误修复。
GitHub 拉取请求和问题
GitHub 拉取请求和问题扩展取得了更多进展,该扩展允许您处理、创建和管理拉取请求和问题。亮点包括:
- 笔记本支持永久链接命令。
- 拉取请求检查状态(例如持续集成 (CI) 正在进行中、需要评审、CI 失败等)显示在拉取请求树状视图中。
- 可以从拉取请求概览中复制用于拉取请求的 vscode.dev 链接。
- 命令转到拉取请求中的下一处差异在跨文件签出的拉取请求中导航到下一处差异。
查阅扩展的0.56.0 版本更新日志以查看其他亮点。
预览功能
配置文件
过去几个月,我们一直在努力支持 VS Code 中的配置文件,这是社区中最受欢迎的需求之一。此功能通过 workbench.experimental.settingsProfiles.enabled
设置提供预览。请试用并向我们提供反馈,可以在vscode 仓库中创建问题或在问题 #116740 中评论。
共享配置文件
您现在可以通过将配置文件导出到 GitHub Gist 来共享它。VS Code 将使用您的 GitHub 账户创建一个秘密 Gist,并提供一个链接供您与他人共享。当您打开该链接时,VS Code 将要求您安装共享的配置文件。在导出或导入配置文件期间,VS Code 将显示预览,以便您分别评审和选择要导出或导入的数据。
这是将配置文件导出到 GitHub 并复制链接与他人共享的视频:
此视频展示了如何通过打开共享链接来导入配置文件:
扩展签名和验证
从 11 月中旬开始,上传到Visual Studio Marketplace 的所有 VS Code 扩展都由 VS Marketplace 签名 - 此过程称为仓库签名。在每次扩展安装和更新时,VS Code 都会验证扩展包签名。通过签名和签名验证,我们可以保证扩展包的完整性和真实性。
签名验证目前仅在 VS Code Insiders(预览版)中完成。如果您发现任何问题,可以在vscode 仓库中创建问题告知我们,您可以通过设置 extensions.verifySignature
为 false
来选择退出签名验证。我们正在努力在未来几个月内在美国 VS Code Stable(稳定版)中启用签名验证。
除了仓库签名,我们还在开始进行扩展发布者签名的工作。
在 Web 中执行 Python
我们为实验性功能 - 用于 Web 的 Python 扩展添加了调试支持。调试器支持以下功能:
- 设置断点
- 单步进入和跳出函数
- 跨模块调试
- 在调试控制台中评估变量
- 在集成终端中调试程序
下面的截图展示了调试一个 Hello World
程序:
注意,使用此扩展仍需要在浏览器 URL 中添加以下查询参数 ?vscode-coi=
。
扩展编写
已声明扩展贡献的隐式激活事件
在此里程碑中,如果您在扩展的 package.json
中声明了某些扩展贡献,我们移除了显式列出激活事件的要求。
以前,如果一个扩展在它的 package.json
文件中声明贡献了一个命令 mycommand
,它还需要在 package.json
的 activationEvents
字段中列出相应的 onCommand:mycommand
激活事件,以便命令成功执行。这既繁琐又容易出错,并且可能导致 package.json
文件变得很大。
VS Code 现在将自动填充以下扩展贡献点的激活事件:
贡献点 | 推断的激活事件 |
---|---|
commands |
onCommand |
authentication |
onAuthenticationRequest |
languages |
onLanguage |
customEditors |
onCustomEditor |
views |
onView |
扩展作者现在可以安全地从您的扩展中移除这些推断的激活事件。如果这样做,请更新您的 VS Code 引擎要求,以确保您的扩展不会被视为与早期版本的 VS Code 兼容:
"engines": {
"vscode": "^1.74.0"
},
日志输出通道
在此里程碑中,我们最终确定了LogOutputChannel API。您现在可以使用此 API 创建日志输出通道,用于记录您的扩展发出的消息。
我们还在 env
命名空间中最终确定了logLevel 属性和onDidChangeLogLevel 事件,以指示应用程序当前日志级别,并在应用程序日志级别更改时触发事件。
所有 Webview 的一致源
继我们上次迭代的工作之后,VS Code 中的所有 Webview 现在都尝试保持自定义源。在 1.74 版本中,这还扩展到自定义编辑器使用的 Webview。
这通过允许在更多情况下缓存 Webview 内容来提高性能。有关详细信息以及作为扩展作者需要注意的事项,请参阅之前的发布说明。
扩展 README 中支持 video 标签
扩展现在可以在其 README 文件中使用 <video>
标签。VS Code Marketplace 和 VS Code 中的扩展视图页面都支持视频。与 .gif
相比,视频文件质量更高,通常也更小。您甚至可以包含音频!
请注意,VS Code 本身仅支持特定视频和音频格式。目前,您还必须使用 <video>
的 src
和 poster
的完整路径,而不是相对路径。
注释线程额外操作
新增菜单位置 comments/commentThread/additionalActions
允许扩展为注释线程贡献始终可见的按钮。
将 vsce 重命名为 @vscode/vsce
VS Code 的扩展管理器 vsce 工具已重命名为 @vscode/vsce。对于将该工具用作库的任何人来说,这是一个破坏性变更。CLI 工具仍然叫做 vsce
,可以通过 npm install -g @vscode/vsce
安装。
调试适配器协议
调试适配器协议增加了一些澄清和一个新属性。
DataBreakpointInfo
请求新增了一个可选的frameId
属性。客户端可以使用此标志来指定哪个堆栈帧包含name
变量。- 现在为
readMemory
请求指定了文件结束行为。
工程改进
属性和方法的名称混淆
我们的产品构建现在对属性和方法的名称进行混淆。这使我们的主捆绑包大小减少了约 13%(-1.5 MB),并将代码加载时间减少了约 5%。
GitHub 和 Microsoft 身份验证扩展捆绑包大小改进
这两个扩展的捆绑包大小比我们预期的要大,考虑到它们提供的功能以及在许多情况下(例如 vscode.dev)它们对启动的重要性。在此里程碑中,我们专注于减小这些扩展的大小,结果如下:
- GitHub 身份验证:93 KB -> 64.9 KB
- Microsoft 身份验证:97 KB -> 57.7 KB
这是通过以下方式实现的:
- 不再依赖(和捆绑)在 Node.js 和 Web 中易于获得的功能的 Node 模块(例如,移除
uuid
并替换为Crypto.randomUUID())。 - 仅在 Node.js 中使用
node-fetch
,而不是同时用于 Node.js 和 Web。 - 采用最新版本的
@vscode/extension-telemetry
,其大小显著减小。
在此过程中没有丢失任何功能,由于大小减小,这些扩展现在获取和加载更快。
Electron 沙盒之旅
您可以在最近的“将 VS Code 迁移到进程沙盒”博客文章中了解我们在启用 Electron 的沙盒方面取得的进展。这篇详细文章介绍了技术路线图,并描述了为支持 VS Code 沙盒化而进行的增量更改。
如果您想试用 VS Code 沙盒模式,可以在设置中将 "window.experimental.useSandbox": true
设置为 true
。希望您不会注意到任何功能差异,但如果发现问题,请向我们报告。
Windows 上默认重新启用窗口控件叠加层
窗口控件叠加层 (WCO) 已默认重新启用。它之前在八月启用,但后来又被禁用,因为它对于使用从右到左系统语言的用户渲染在错误一侧,遮挡了文件和编辑菜单项。
主要问题在于 VS Code 没有将应用程序区域设置传递给 Electron,因此 Electron 使用系统区域设置来确定 WCO 的位置。然而,VS Code 依赖 Electron 的 app.getLocale()
API 来获取系统语言并确定推荐哪种语言包,而将应用程序区域设置传递给 Electron 会导致 app.getLocale()
返回相同的区域设置,而不是系统语言。
为了解决此问题,我们在 Electron 中添加了一个新的 app.getPreferredSystemLanguages()
API,这样即使将区域设置传递给 Electron 后,我们仍然可以获取系统语言用于 VS Code 的语言包推荐器,同时保持 WCO 在右侧。
内置扩展现在使用新的 l10n API 而非 vscode-nls
上个月我们稳定了新的 本地化 (l10n) API。本月,我们在 Microsoft/vscode 仓库中的所有扩展中都采用了该 API。我们仍然需要将语言服务器以及团队拥有的其他一些扩展(JS Debug、Python、Jupyter Notebooks 等)迁移到使用 @vscode/l10n
而不是 vscode-nls
,但我们正朝着为所有扩展提供统一本地化方案的正确方向前进。
重要修复
- 166171 删除扩展提示模态窗口中的默认滚动条。
- microsoft/vscode-jupyter#11745 变量查看器导致速度变慢和不稳定。
感谢
最后但同样重要的是,衷心感谢 VS Code 的贡献者们。
问题跟踪
对问题跟踪的贡献
拉取请求
对 vscode
的贡献
- @Albert-cord: feat: 添加 wordBreak 编辑器选项并将其用于 lineBreakComputer 函数 PR #156242
- @andschwa (Andy Jordan): 支持 Windows PowerShell 中的 shell 集成 PR #167023
- @babakks (Babak K. Shandiz)
- 🐛 修复在多根工作区中创建新终端时重复的 CWD 条目 PR #153204
- 🎁 将
killOnServerStop
添加到调试配置 PR #163779 - 🎁 将
search
添加到任务的文件位置方法 PR #165156 - 💄 在调试模式的 URI/链接悬停中包含文件系统路径 PR #165709
- 🔨 将“聚焦面包屑”添加到命令面板 PR #166461
- @CGNonofr (Loïc Mangeonjean): 独立配置:使用资源和语言 PR #146522
- @chengluyu (Luyu Cheng): 支持可变字体 (#_153291) PR #153968
- @cmarincia (Catalin Marincia): 为 editor.fontFamily 添加字符串列表选项 PR #164289
- @d0ggie (Pekka Seppänen): 恢复括号匹配 CSS 语法 (#_166109) PR #166141
- @dmartzol (Daniel Martinez Olivas)
- 将 css 规则从 links.ts 移动到 links.css PR #166258
- 移动 css 规则 PR #166532
- @ecstrema (Rémi Marche): 编辑器状态变化,匹配后换行 PR #166283
- @felixlheureux (Felix L'Heureux): 当值为 undefined 或 null 时重置为空字符串 PR #165721
- @g1eny0ung (Yue Yang): fix: 修复替换输入框中的文本重叠 PR #162036
- @GauravB159 (Gaurav Bhagchandani)
- 为编辑器滚动条使用 css 变量 PR #165464
- 注册主题参与者重构 PR #165576
- @gjsjohnmurray (John Murray): 修复 IW 命令面板条目的文本 (#_164860) PR #164863
- @guttyon: 暂时禁用输入法拦截。 PR #159699
- @HiDeoo: 修复 vscode.d.ts 中 QuickPickItem JSDoc 链接 PR #164474
- @hughlilly (Hugh Lilly)
- Markdown 语言预览设置描述 PR #165109
- 为
files.exclude
描述添加关于explorer.excludeGitIgnore
的内容 PR #165111
- @jasonwilliams (Jason Williams): 修复 #154064,该问题运行了错误的 taskgroups PR #164983
- @JayBazuzi (Jay Bazuzi): 更改启动第二个管理员实例时的错误消息 PR #166146
- @Jaykul (Joel Bennett): 修复 PowerShell 集成脚本 #165022 PR #165023
- @jeanp413 (Jean Pierre)
- 修复
Terminal: Focus Terminal Tabs view
命令无法工作的问题 PR #164408 - 修复任务重新连接状态对默认构建任务不起作用的问题 PR #165110
- 修复终端查找小部件未显示结果计数的问题 PR #166902
- 修复
- @jkei0: 将 css 规则从 selections.ts 移动到 selections.css PR #166407
- @jzyrobert (Robert Jin): 添加 explorer.autorevealExclude 设置 PR #136905
- @laurentlb (Laurent Le Brun)
- 评论视图:添加显示未解决评论数量的徽章 PR #164743
- 遥测:记录命令执行时间 PR #165599
- @LoopThrough-i-j (Debayan Ganguly): 修复:新的 md 文件滚动到顶部。 PR #164999
- @MarkZuber (Mark Zuber): 更新 bootstrap-node.js 以检查 Array.isArray PR #165289
- @marrej (Marcus Revaj): 为 CommentThread 添加额外操作 PR #162750
- @Mingpan: 修复并排 diff 视图中的箭头 PR #165423
- @miyaokamarina (Marina Miyaoka): 在 Markdown 预览中不预处理 Unicode 换行符 PR #166026
- @MonadChains (MonadChains)
- 实现单元格执行完成时的音频提示 PR #165442
- 修复自定义 zsh_history 被忽略的问题 PR #166813
- @mustard-mh (Huiwen): 修复任务状态不正确的问题 #163393 PR #163952
- @n-gist (n-gist): 修复代码片段覆盖输入功能 PR #165871
- @najmiehsa
- 使用 CSS 变量而非 registerThemingParticipant - minimap 视图部分 PR #165465
- 使用 CSS 变量而非 registerThemingParticipant - rulers 视图部分 PR #165466
- @nisargjhaveri (Nisarg Jhaveri): 允许同时显示来自多个调试器的不同异常断点 PR #158355
- @Okeanos (Nikolas Grottendieck): 改进 Windows 上的 Git Bash 集成 (#_151105) PR #165428
- @pafernandez-oesia: 修复 #165480 PR #165486
- @pingren (Ping): 修复笔记本预览中的 KaTeX 方程编号 PR #156276
- @prashantvc (Prashant Cholachagudda): 为扩展搜索遥测将 sessionId 更改为 machineId PR #166355
- @QaidVoid: 减少 registerThemingParticipant PR #165575
- @r3m0t (Tomer Chachamu)
- 更正 autoLockGroups 设置 UI 上的复选框 (修复 #164367) PR #164369
- 更正 TestItem.error 和 TestItem.sortText 的更新 (修复 #166190) PR #166191
- @ramoncorominas (Ramón Corominas): 更新 messages.es.isl 以添加上下文菜单热键 PR #166010
- @rwe (Robert Estelle)
- shellIntegrationAddon.ts: 仅解码 VSCodeOScPt 的消息,不解码 iTerm2 的消息 PR #165579
- shellIntegration.fish: 转义“E”(执行命令)和“P”(属性 KV)代码中的值 PR #165631
- shellIntegration-bash.sh: 转义“E”(执行命令)和“P”(属性 KV)代码中的值 PR #165632
- shellIntegration-rc.zsh: 转义“E”(执行命令)和“P”(属性 KV)代码中的值 PR #165633
- shellIntegration.ps1: 转义“E”(执行命令)和“P”(属性 KV)代码中的值 PR #165634
- shellIntegrationAddon: 修复损坏的
deserializeMessage()
实现 + 添加测试 PR #165635
- @sandersn (Nathan Shively-Sanders): 将 webServer 从 Typescript 复制到 VS Code PR #165771
- @SethFalco (Seth Falco): feat: 添加多光标限制设置 PR #149703
- @SphinxKnight (SphinxKnight): 修复 Tip 块的大小写问题 PR #165223
- @ssigwart (Stephen Sigwart): 修复粘贴包含 JSDoc 的代码时不必要的额外空格问题 PR #136579
- @Timmmm (Tim): 修复粘性选项卡选项 PR #157543
- @weartist (Han)
- 移动 #165169 的 css 规则 PR #165595
- #165169 将 css 规则从 hover.ts 移动到 hover.css PR #166095
- 将 css 规则从 inPlaceReplace.ts 移动到 inPlaceReplace.css PR #166098
- 适配 css 变量 PR #166279
- 为 diffEditor 移动 css 变量 PR #166467
- @yiliang114 (易良): 仅使用
remote/web/package.json
browser
字段的字符串值 PR #165163 - @zeroimpl (Daniel Fiori): 分离 tab size 和 indent size PR #155450
- @zhuowei: webview: 在 PWA 的 webview 中忽略 Ctrl+W 和 Ctrl+N PR #164981
对 vscode-css-languageservice
的贡献
- @babakks (Babak K. Shandiz): ✋ 忽略包含特定厂商伪元素的上下文中的缺失标准属性 PR #303
- @johnsoncodehk (Johnson Chu)
对 vscode-eslint
的贡献
- @aleclarson (Alec Larson): 引入选项以防止对多行进行下划线处理 PR #1528
- @MariaSolOs (Maria José Solano): 禁用规则时检查 -- PR #1506
- @uhyo (uhyo): 添加对 Flat Config 的实验性支持 PR #1522
对 vscode-js-debug
的贡献
- @xai (Olaf Lessenich): fix: 在启动器中使用平台偏好的大小写 PR #1449
对 vscode-json-languageservice
的贡献
对 vscode-pull-request-github
的贡献
- @joshuaobrien (Joshua O'Brien): 窄化 TimelineEvent 中的类型,使其可被视为带标签的联合 (tagged union) PR #4160
对 debug-adapter-protocol
的贡献
- @sztomi (Tamás Szelei): 更新 sdks.md - 包含 dap-rs PR #349
- @WardenGnaw (Andrew Wang): 将 EvaluateArguments 上下文变量移到枚举末尾 PR #346
对 devcontainers/cli
的贡献
- @amurzeau (Alexis Murzeau): 处理 Windows 上 Cygwin / Git Bash 的套接字转发 PR #82
- @natescherer (Nate Scherer): 为 devcontainer 构建添加 --output 选项 PR #166
- @stuartleeks (Stuart Leeks): 添加 --additional-features 选项 PR #171
- @chris-major-improbable (Chris Major): GPU 要求并自动检测 NVIDIA 扩展 PR #173
- @davidwallacejackson (David Jackson): 规范化功能权限 PR #233