2022年11月(版本1.74)
更新 1.74.1: 本次更新解决了这些问题。
更新 1.74.2: 本次更新解决了这些问题。
更新 1.74.3: 此更新解决了这个安全问题。
下载:Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
欢迎来到2022年11月发布的Visual Studio Code。此版本中有许多更新,我们希望您会喜欢,一些关键亮点包括:
- 自定义资源管理器自动显示 - 决定哪些文件在资源管理器中滚动进入视图。
- 隐藏活动栏和面板徽章 - 通过切换状态徽章来简化编辑器界面。
- 笔记本和差异视图的音频提示 - 单元格运行结果、添加或删除行的声音。
- 合并编辑器撤销/重做 - 快速撤销或重新应用合并冲突操作。
- 管理不安全的仓库 - 防止对不属于您的文件夹进行Git操作。
- JavaScript 控制台性能分析收集 - 轻松创建 CPU 性能分析以便在 VS Code 中查看。
- Go to Definition from return - 跳转到 JavaScript/TypeScript 函数的顶部。
- 远程隧道 - 创建到任何机器的连接,无需SSH。
- Jupyter notebook "Just My Code" 调试 - 避免进入 Python 库代码。
- Dev Container GPU 支持 - 在创建 Dev Container 时请求 GPU。
如果您想在线阅读这些发布说明,请访问更新在code.visualstudio.com上。
内部人员:想要尽快尝试新功能吗?您可以下载每晚的内部人员版本,并在更新可用时立即尝试最新更新。
可访问性
笔记本执行的音频提示
现在有音频提示用于当笔记本单元格完成运行时。提示音不同,以指示单元格是否成功运行或失败。
差异审查模式的音频提示
在差异编辑器中,当触发转到下一个差异时,将播放特定的音频提示,以指示光标是在插入的行还是删除的行上。
如果您对可用的音频提示感到好奇,可以通过帮助:列出音频提示下拉菜单来听取它们。
可键盘导航的设置编辑器指示器、悬停和链接
设置编辑器中的指示器、悬停和链接现在可以通过键盘导航。一些链接的样式也进行了调整,以提高设置编辑器的一致性。
设置编辑器指示器的悬停现在在标签停留和保持键盘焦点方面表现得更好。这种改进的行为仍然是实验性的,目前仅针对设置编辑器指示器的悬停启用,而不是针对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
,它允许将缩进大小(构成一个缩进的空格数)与制表符大小(用于渲染制表符的空格数)分离。这在处理使用混合制表符和空格缩进的文件时非常有用,并且只能在手动缩进配置时使用。
以下是一个配置示例:
"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
来禁用它。
提交操作按钮优化
当提交操作按钮执行二次提交命令时(例如,提交并同步),按钮标签现在正确反映了正在执行的命令。提交按钮还显示了一个指示进度的动画。
终端
终端快速修复改进
终端快速修复现在显示在代码操作控件中,以与编辑器中的体验保持一致。
终端下拉菜单中的任务操作
运行任务 和 配置任务 命令出现在终端下拉菜单中,以提高可发现性和访问的便捷性。
远程开发
Remote Tunnels 现在作为预览功能在 VS Code 稳定版中可用。远程隧道允许您从任何设备、任何地方安全地使用 VS Code 访问您的机器。要启用远程隧道访问,您可以选择以下任一方式:
- 从账户菜单或命令面板中选择开启远程隧道访问。
- 从安装了VS Code并在PATH中的机器上运行
code tunnel
。 - 下载新的VS Code CLI 并运行
./code tunnel
。
一旦隧道访问开启,您就可以使用vscode.dev从任何设备连接到机器,或者使用VS Code桌面版中的Remote - Tunnels扩展。
要了解更多信息,请查看我们的博客文章宣布该功能或远程隧道文档。
主题: 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 内置的 profile viewer 打开和查看。
支持嵌套的源映射
有时,特别是在单仓库设置中,源代码可能会被编译一次,然后再次重新编译或打包。在许多情况下,这会导致生成的包的源映射引用在第一步中创建的编译文件。
JavaScript 调试器现在将自动递归解析源映射,以便可以调试原始源文件而无需额外步骤。
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: Toggle Editor Commenting 仍然可以在会话期间切换编辑器评论的开启和关闭。在 Comments 视图中选择一个评论将始终开启评论功能。
评论视图徽章
评论视图显示一个徽章,用于显示未解决评论的数量。
任务
问题匹配器 '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 公告以了解更多关于此更新的信息。
返回时转到定义
JavaScript 和 TypeScript 现在支持在 return
关键字上运行 转到定义,以快速跳转到返回的函数顶部。这在处理长、复杂或高度嵌套的函数时非常有用。您可以使用 转到定义 命令/快捷键(F12)或直接在 return
关键字上 Cmd/Alt + 点击
。
笔记本
内核选择器实验:最近使用的内核
有一个新的笔记本内核选择器,它会在选择器的顶部显示最近使用的内核。这是一个可选的实验,可以通过将notebook.kernelPicker.type
设置设置为mru
来启用。
未使用的内核将被移动到次级选择器选择另一个内核...。当您安装了最新的Jupyter扩展时,此选择器将按来源(例如:Jupyter内核、Python环境等)对所有内核进行分组。
我们非常乐意听取您的反馈,您可以在VS Code 仓库中创建问题。
网页版VS Code
源代码控制
VS Code for the Web 现在在编辑 GitHub 和 Azure Repos 仓库时支持以下设置:
"git.branchRandomName.enabled"
- 在VS Code for the Web中创建分支时生成随机分支名称。"git.branchRandomName.dictionary"
- 指定在VS Code for the Web中创建分支时用于生成随机分支名称的单词字典。"git.closeDiffOnOperation"
- 在执行源代码控制操作(如提交、暂存、取消暂存更改)后关闭差异编辑器。
此外,VS Code for the Web 在状态栏和分支选择器中为受保护的分支显示一个锁图标,与 VS Code Desktop 上的体验保持一致。
最后,您现在可以使用VS Code for the Web中的源代码管理操作按钮,将更改直接提交并推送到远程仓库:
如果您希望在提交之前验证您的更改,您还可以使用操作按钮下拉菜单中的次要操作继续处理...将您的工作更改带到另一个开发环境。
需要继续改进的地方
当你在GitHub或Azure Repos仓库中时,现在命令面板中提供了方便的一步命令,可以将你的工作更改带到特定的开发环境中:
- 继续在新的代码空间中工作
- 继续在本地克隆中工作
- 在VS Code桌面上继续在远程仓库中工作
我们还将编辑会话重命名为云更改,以明确其与在云中存储工作更改相关。
对扩展的贡献
Jupyter
"仅我的代码"用于笔记本单元格调试
"Just My Code"调试功能允许您确定调试器是否将逐步执行Python库中的代码,或者仅逐步执行您的源代码。在调试笔记本单元格时,此功能已默认启用,但您可以设置"jupyter.debugJustMyCode": false
来禁用它,并允许您逐步执行库代码。为了获得最佳体验,请将环境中的debugpy升级到>=1.6.3
。以前,debugJustMyCode
设置仅在交互式窗口中调试时有效,现在它也适用于笔记本编辑器。
支持重新启动笔记本单元格调试会话
调试工具栏中的重新启动命令会重新启动当前的调试会话。以前,这在笔记本调试会话中会抛出错误,但现在已得到支持。不幸的是,它在交互式窗口中无法得到适当的支持。
此功能在调试、编辑单元格然后重新启动调试会话以应用编辑后再次调试单元格的工作流程中特别有用。
远程开发扩展
远程开发扩展,允许您使用容器、远程机器或Windows Subsystem for Linux (WSL) 作为全功能的开发环境。此版本的亮点包括:
- 开发容器 GPU 支持
- Dev Container Cygwin / Git Bash 套接字转发
- Remote - Tunnels 扩展 - 无需SSH即可连接到远程机器。
您可以在远程开发发布说明中了解新扩展功能和错误修复。
GitHub 拉取请求和问题
在GitHub Pull Requests and Issues扩展方面取得了更多进展,该扩展允许您处理、创建和管理拉取请求和问题。亮点包括:
- Notebooks 支持永久链接命令。
- 拉取请求检查状态(例如持续集成(CI)进行中、需要审查、CI失败等)显示在拉取请求树视图中。
- 可以从拉取请求概览中复制vscode.dev的PR链接。
- 命令 Go To Next Diff in Pull Request 导航到已检出的 PR 中跨文件的下一个差异。
查看扩展的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 现在将自动为以下扩展贡献点填充激活事件:
Contribution point | Inferred activation event |
---|---|
commands |
onCommand |
authentication |
onAuthenticationRequest |
languages |
onLanguage |
customEditors |
onCustomEditor |
views |
onView |
扩展作者现在可以安全地从您的扩展中删除这些推断的激活事件。如果您这样做,请更新您的VS Code引擎要求,以确保您的扩展不被视为与早期版本的VS Code兼容:
"engines": {
"vscode": "^1.74.0"
},
日志输出通道
在这个里程碑中,我们最终确定了LogOutputChannel API。你现在可以使用这个API来创建一个日志输出通道,该通道将用于记录来自你的扩展的消息。
我们还最终确定了logLevel属性和onDidChangeLogLevel事件在env
命名空间中,以指示应用程序的当前日志级别,并在应用程序的日志级别更改时触发事件。
所有webview的一致来源
继我们上次迭代的工作之后,VS Code 中的所有 webviews 现在都尝试维护自定义来源。在 1.74 版本中,这也扩展到了自定义编辑器使用的 webviews。
这通过允许在更多情况下缓存webview内容来提高性能。有关更多详细信息以及作为扩展作者需要注意的事项,请参阅之前的发布说明。
扩展README中的视频标签支持
扩展现在可以在它们的README中使用标签。视频在VS Code市场和VS Code中的扩展视图页面上都得到支持。与
.gif
相比,视频文件质量更高,通常也更小。你甚至可以包含音频!
请记住,在VS Code本身中仅支持特定的视频和音频格式。目前,您还必须使用的
src
和poster
的完整路径,而不是相对路径。
评论线程附加操作
新的菜单位置 comments/commentThread/additionalActions
允许扩展为评论线程贡献始终可见的按钮。
将 vsce 重命名为 @vscode/vsce
vsce 工具,VS Code 的扩展管理器,已更名为 @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和网页中使用。 - 采用最新版本的
@vscode/extension-telemetry
,其大小显著减少。
在此过程中没有丢失任何功能,并且由于这些扩展的大小减小,现在可以更快地获取和加载它们。
Electron 沙盒之旅
您可以在最近的"将VS Code迁移到进程沙盒化"博客文章中了解我们在实现Electron的沙盒方面的进展。这篇详细文章展示了技术时间线,并描述了为支持VS Code沙盒化所做的逐步更改。
如果你想尝试VS Code的沙盒模式,你可以在设置中设置"window.experimental.useSandbox": 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。我们仍然需要将语言服务器转移到使用@vscode/l10n
而不是vscode-nls
,以及团队拥有的其他一些扩展(JS Debug、Python、Jupyter Notebooks等),但我们正朝着为所有扩展提供单一本地化故事的正确方向前进。
显著的修复
- 166171 移除扩展提示模态框中的默认滚动条。
- microsoft/vscode-jupyter#11745 变量查看器导致速度变慢和不稳定
感谢您
最后但同样重要的是,向VS Code的贡献者们表示衷心的感谢。
问题跟踪
对我们问题跟踪的贡献:
拉取请求
对 vscode
的贡献:
- @Albert-cord: 功能: 添加 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): 修复:替换输入中的文本重叠 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 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: 修复并排差异视图中的箭头 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
- 在 minimap 视图部分使用 CSS 变量而非 registerThemingParticipant PR #165465
- 在 rulers 视图部分使用 CSS 变量而非 registerThemingParticipant 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设置界面上的复选框(修复 #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"(属性键值)代码中转义值 PR #165631
- shellIntegration-bash.sh: 在"E"(执行的命令)和"P"(属性键值)代码中转义值 PR #165632
- shellIntegration-rc.zsh: 在"E"(执行的命令)和"P"(属性键值)代码中转义值 PR #165633
- shellIntegration.ps1: 在"E"(执行的命令)和"P"(属性键值)代码中转义值 PR #165634
- shellIntegrationAddon: 修复损坏的
deserializeMessage()
实现 + 添加测试 PR #165635
- @sandersn (Nathan Shively-Sanders): 将webServer从Typescript复制到VS Code PR #165771
- @SethFalco (Seth Falco): 功能:添加多光标限制设置 PR #149703
- @SphinxKnight (SphinxKnight): 小问题:修复提示块的案例 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 (易良): Only use string of the
remote/web/package.json
browser
field PR #165163 - @zeroimpl (Daniel Fiori): 分离制表符大小和缩进大小 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): 修复:在启动器中使用平台首选的案例 PR #1449
对 vscode-json-languageservice
的贡献:
对 vscode-pull-request-github
的贡献:
- @joshuaobrien (Joshua O'Brien): 在 TimelineEvent 中缩小类型,以便可以将其视为标记联合 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): 添加 --output 选项到 devcontainer build PR #166
- @stuartleeks (Stuart Leeks): 添加 --additional-features 选项 PR #171
- @chris-major-improbable (Chris Major): GPU 需求和自动检测 NVIDIA 扩展 PR #173
- @davidwallacejackson (David Jackson): 标准化功能权限 PR #233