四月 2020 (版本 1.45)
更新 1.45.1:此更新解决了这些问题。
下载:Windows:x64 | Mac:Intel | Linux:deb rpm tarball snap
欢迎来到 Visual Studio Code 的 2020 年四月版本。此版本中有许多更新,我们希望您会喜欢,其中包括以下一些主要亮点:
- 可访问性改进 - 用于导航工作台的焦点命令、状态栏可访问性。
- 通过鼠标滚轮切换编辑器选项卡 - 使用鼠标滚轮在编辑器中快速切换文件。
- 更快的语法高亮 - 编程语言着色速度提升高达 3 倍。
- 自定义语义颜色 - 通过用户设置更改语义令牌颜色。
- GitHub 认证支持 - 为 GitHub 仓库提供自动 GitHub 认证。
- GitHub 问题集成 - 为 GitHub 问题和用户提供行内悬停和建议。
- 远程开发 - 容器配置建议,WSL 2 支持。
- JavaScript 调试器预览 - CPU 分析,改进的自动附加到 Node.js 进程。
- 新增 Docker Compose 主题 - 了解如何使用 Docker Compose 处理多个容器。
如果您想在线阅读这些发布说明,请访问 code.visualstudio.com 上的更新。
Insiders:想尽快试用新功能吗?您可以下载每夜构建的 Insiders 版本,并在最新更新可用时立即试用。要获取最新的 Visual Studio Code 新闻、更新和内容,请在 Twitter 上关注我们:@code!
可访问性
在这个里程碑中,我们收到了社区的大量反馈,这帮助我们确定并解决了许多可访问性问题。
- 我们引入了聚焦下一部分 (F6) 和聚焦上一部分 (⇧F6 (Windows, Linux Shift+F6)) 命令,以便轻松地在工作台内导航。
- 状态栏现在是可访问的,当聚焦时,屏幕阅读器可以朗读其内容。
- 在工作台中的每个列表和树形控件(如打开的编辑器、面包屑、问题视图等)中引入了相应的 ARIA 标签。
我们团队的首要任务之一是使 Visual Studio Code 成为一个更易访问的产品,并改善每个用户的体验,因此我们为 VS Code 可访问性创建了一个新的 Gitter 频道。我们鼓励用户加入并提供反馈、提出问题并分享可访问性实践。
工作台
通过鼠标滚轮切换选项卡
当您使用鼠标滚轮在编辑器选项卡上滚动时,目前无法切换选项卡,只能显示超出视图范围的选项卡。现在,通过新设置 workbench.editor.scrollToSwitchTabs
,您可以更改行为以切换活动的编辑器选项卡。
下图显示当光标聚焦在编辑器选项卡区域时,如果用户滚动鼠标滚轮,活动的编辑器会改变。
注意:您也可以在滚动时按住 Shift
键以获得相反的行为(例如,即使 scrollToSwitchTabs
设置关闭,您也可以切换编辑器选项卡)。
自定义窗口标题分隔符
新设置 window.titleSeparator
允许您更改窗口标题中使用的分隔符。默认情况下使用短划线 '-'
。
默认主题的侧边栏节标题更新
我们更新了默认深色和浅色主题的侧边栏节标题样式。现在我们使用透明背景并为每个标题显示边框。
下图中,打开的编辑器 (OPEN EDITORS) 节标题没有背景颜色,而 VSCODE 和 大纲 (OUTLINE) 标题有上边框。
编辑器
更快的语法高亮
VS Code 中的语法高亮通过解释 Text Mate 语法来运行。这些语法使用正则表达式编写,并且可以使用 oniguruma 正则表达式库进行评估。到目前为止,我们一直使用两个不同的库来评估这些正则表达式,一个用于 VS Code 桌面版(一个原生 Node 模块),另一个用于浏览器中的 VS Code(一个 WebAssembly 二进制文件)。
现在我们编写了一个专用的 WebAssembly 绑定,它针对我们的 TextMate 解释器进行了优化。通过避免在内层循环中分配内存,并采用几个月前刚添加到 oniguruma 的新 API,我们能够创建一个比之前两种方法都更快的变体,并且在常规编程文件高亮方面提供了高达 3 倍的性能提升。您可以查看拉取请求 #95958 以获取更多详细信息和测量数据。
语义令牌样式
现在您可以在用户设置中自定义语义主题规则。语义着色已可用于 TypeScript 和 JavaScript,对 Java 和 C++ 的支持正在开发中。内置主题默认启用此功能,并且主题扩展正在采用此功能。
editor.semanticTokenColorCustomizations
设置允许用户覆盖默认主题规则并自定义主题。
上述设置更改了 Default Dark+ 主题。它为参数(斜体和新颜色)提供了一种新样式,并下划线了默认库中的所有符号(例如 Promise
、Map
及其属性)。
以下示例为所有主题添加了语义样式
"editor.semanticTokenColorCustomizations": {
"enabled": true, // enable semantic highlighting for all themes
"rules": {
// different color for all constants
"property.readonly": "#35166d",
// make all symbol declarations bold
"*.declaration": { "bold": true }
}
}
语义高亮指南中详细解释了语义令牌的主题设置。
Default Dark+ 主题中常量的新颜色
Default Dark+ 和 Default Light+ 主题现在将常量的颜色与可写变量区分开来。
请注意,下图中的 htmlMode
和 range
常量与 result
变量的颜色不同。
Default Dark+ 主题
Default Light+ 主题
禁用持久撤消
上一个里程碑,我们更改了撤消/重做堆栈,使其在您关闭文件并重新打开时持久化。并非所有人都想要这个新功能,因此现在有一个设置 files.restoreUndoStack
可以禁用持久撤消。
集成终端
移除几个与提示相关的命令
以下命令已被移除
workbench.action.terminal.deleteWordLeft
workbench.action.terminal.deleteWordRight
workbench.action.terminal.deleteToLineStart
workbench.action.terminal.moveToLineStart
workbench.action.terminal.moveToLineEnd
这些命令通过向终端发送特定的字符序列来工作,这是根据终端使用的命令键绑定进行的最佳猜测。这些命令的问题在于它们是封闭的黑盒,您需要实际搜索 VS Code 代码库才能弄清楚它们是如何工作的。它们已被 workbench.action.terminal.sendSequence
命令的自定义键绑定取代,该命令以通用方式执行相同操作。
这些是高级键盘快捷方式,由于它们包含参数,因此无法通过键盘快捷方式 UI 查看其全部内容,但您可以通过运行首选项:打开默认键盘快捷方式 (JSON) 命令来查看它们的 JSON 定义。
支持在 PowerShell 中粘贴多行文本
PowerShell 中从未正确支持多行粘贴,因为 VS Code 总是以与手动输入完全相同的方式发送文本。如上所述,一些键绑定已更改为使用 workbench.action.terminal.sendSequence
命令,您可能已经注意到为 Windows 添加了一个新的键绑定:
{ "key": "ctrl+v", "command": "workbench.action.terminal.sendSequence",
"when": "terminalFocus && !accessibilityModeEnabled && terminalShellType == 'pwsh'",
"args": {"text":"\u0016"} },
这个新的键绑定将直接向 PowerShell 发送表示 Ctrl+V
的文本,该文本会被 PSReadLine 接收并正确处理。
之前
之后
控制双击词语选择
新设置 terminal.integrated.wordSeparators
允许您自定义在终端中双击时用于分隔词语的分隔符。
默认分隔符是
"terminal.integrated.wordSeparators": " ()[]{}',\"`─"
调试
自动调试配置
在 VS Code 中设置调试可能是一项艰巨的任务,因为用户必须创建新的调试配置(或至少根据他们的需求修改模板)。为了持续简化调试体验,我们添加了一项新功能,该功能使调试扩展作者能够分析当前项目并自动提供无需额外用户配置的高质量调试配置。
与提供构建任务的方式类似,自动调试配置在调试视图的配置下拉菜单和选择并开始调试快速选择中按相应的调试器(文件夹图标)分组。选择调试器后,VS Code 会显示所有可用的自动配置。选择一个配置将开始一个新的调试会话。
以下截屏视频展示了新 JavaScript 调试器(预览版)和我们的教育性 Mock Debug 的功能。
调试快速选择可以通过在快速打开 (⌘P (Windows, Linux Ctrl+P)) 中输入“debug ”(带空格)或触发调试:选择并开始调试命令来打开。
在下一个里程碑中,我们将添加 UI,以便可以将自动调试配置轻松添加到 launch.json
中以进行进一步配置。
任务
禁用更快的快速选择
在 1.44 版本中,我们通过更改布局并使其更快来改进了运行任务:运行任务命令时显示的任务选择器。然而,更快的快速选择确实使任务选择器根据您要运行的任务变得更深一层。如果您想要以前的 UI,现在可以使用 task.quickOpen.showAll
设置禁用更快的选择器。
运行时保存
以前,运行任务时始终会保存所有未保存的编辑器。如果您不想在运行任务时保存编辑器,现在可以使用 task.saveBeforeRun
配置该行为。
语言
TypeScript 状态栏条目增强
当您聚焦于 TypeScript 文件时,VS Code 会在状态栏中显示当前的 TypeScript 版本
现在点击版本会弹出适用于当前 TypeScript 项目的命令
提示用户切换到工作区版本的 TypeScript
新设置 typescript.enablePromptUseWorkspaceTsdk
会弹出一个提示,询问用户是否要切换到工作区版本的 TypeScript
要启用此提示,请在项目的 workspace 设置中包含 "typescript.enablePromptUseWorkspaceTsdk": true
和 typescript.tsdk
。
Markdown 链接到文件夹
Markdown 文件中的编辑器链接和 Markdown 预览中的链接现在可以指向文件夹。点击这些链接中的一个将在 VS Code 的文件资源管理器中显示目标文件夹。
源代码管理
GitHub 仓库的 GitHub 认证
VS Code 现在对 GitHub 仓库提供自动 GitHub 认证。您现在无需在系统中配置任何凭据管理器即可克隆、拉取、推送公共和私有仓库。即使在集成终端中调用的 Git 命令(例如 git push
)现在也会自动使用您的 GitHub 帐户进行认证。
您可以使用 git.githubAuthentication
设置禁用 GitHub 认证。您也可以使用 git.terminalAuthentication
设置禁用终端认证集成。
隐藏 Git 提交输入框
新设置 git.showCommitInput
允许您隐藏 Git 仓库的提交输入框。
行内 diff 现在可编辑
现在,在快速 diff 编辑器中预览文件更改时,您可以进行编辑。
预览功能
预览功能尚未准备好正式发布,但功能已足够使用。我们欢迎您在开发过程中提供早期反馈。
设置同步
在过去的几个月里,我们一直致力于支持在不同机器之间同步 VS Code 首选项,此功能已在 Insiders 版本中提供预览。
现在您可以使用您的 GitHub 帐户登录来同步您的 VS Code 首选项。
主题:GitHub Sharp (自定义)
现在还支持同步全局代码片段。
新的 JavaScript 调试器
本月,我们继续推进新的 JavaScript 调试器的开发。它默认安装在 Insiders 版本中,并且可以在 VS Code 稳定版中从 Marketplace 安装。通过启用 debug.javascript.usePreview
设置,您可以将其与现有的启动配置一起使用。
本月新增功能如下
分析支持
您可以通过单击调用堆栈视图中的新分析按钮或使用调试:获取性能分析命令来从 Node.js 或浏览器应用程序捕获 CPU 配置文件。完成后,您可以选择配置文件的运行时间:直到您停止它、持续一段时间或直到您遇到另一个断点。
分析结束后,它会保存在您的工作区文件夹中并在 VS Code 中打开。如果您正在运行稳定版,您会需要安装我们的可视化扩展来查看它。在 Insiders 版本中,该扩展已内置。当您打开配置文件时,CodeLens 会将性能信息添加到您的文件中的函数级别和某些“热”行。与许多其他工具中捕获的配置文件不同,记录的配置文件是源映射感知的。
主题:Earthsong,字体:Fira Code
自动附加集成
启用 debug.javascript.usePreview
后,VS Code 的自动附加将使用 js-debug
提供的新方法,该方法允许所有终端像调试终端一样工作。
相对于现有调试器,自动附加的改进
- 调试器立即附加,允许您在程序早期命中断点。
- 子进程自动调试。
- 自动附加期间没有进程轮询开销。
从变量视图复制复杂值
以前,尝试从 VS Code 的变量视图中复制复杂值(如对象)通常会导致数据被截断或不完整。VS Code 和 js-debug 中的更改使我们能够复制完整的值。
产品图标主题
Visual Studio Code 包含一组内置图标,这些图标用于视图和编辑器,也可用于悬停提示、状态栏以及扩展中。这些图标是产品图标,与在 UI 中文件名旁边显示的文件图标不同。
VS Code 附带的产品图标包含在 Codicon 图标字体中,并用于默认产品图标主题。现在,扩展可以提供新的产品图标主题来重新定义这些图标,并为 VS Code 赋予新的外观。
产品图标主题文档有更多详细信息,并且提供了一个产品图标主题示例。
TypeScript/JavaScript 符号跨所有打开的项目搜索
当使用 TypeScript 3.9+ 时,VS Code 的工作区符号搜索现在默认包含所有打开的 JavaScript 和 TypeScript 项目中的结果。以前我们只搜索当前活动文件所在的目录。
这由新设置 "typescript.workspaceSymbols.scope"
控制。要恢复旧的行为,请设置:"typescript.workspaceSymbols.scope": "currentProject"
。
改进的终端链接
终端中的链接已经过全面改进,底层系统已被替换为更强大的实现,这使得以下功能得以实现:
- 使用编辑器的链接检测功能,以更好地检测 Web 和
file://
链接。 - 文件夹链接支持,可以在资源管理器中打开文件夹或打开新的 VS Code 窗口。
- 不同链接类型的不同链接操作,对于“词语”链接(基于
terminal.integrated.wordSeparators
设置)会回退到搜索工作区。 - 与编辑器类似的链接高亮和悬停体验。
主题:Topaz (Dim)
已知问题的列表可在此查询中找到。
动态视图图标和标题
在这个里程碑中,我们继续努力使布局更加灵活。在工作台内移动视图可以允许您在活动栏中创建新的图标或在面板中创建新的选项卡。为了更容易理解这些新创建的视图容器中包含的内容,我们更新了逻辑以使其更容易理解。
现在,当您有一个自定义容器时,我们将从第一个可见视图继承标题和图标。这将允许您通过重新排列视图来更改它。对于内置或来自扩展的容器,我们将尽可能长时间地保留此图标。下图显示当新视图放置在视图容器顶部时,其图标和标题会更新。
最后,您现在可以在一次操作中移动您的自定义容器以及其中包含的所有视图。下面的短视频展示了将终端和输出视图组合拖动到活动栏中。
对扩展的贡献
远程开发
远程开发扩展的工作仍在继续,这些扩展允许您使用容器、远程机器或 适用于 Linux 的 Windows 子系统 (WSL) 作为功能齐全的开发环境。
1.45 版功能亮点包括
- Dev Containers:提供容器配置建议。
- Dev Containers:支持 WSL 2 Docker 和 Podman 引擎。
- Dev Containers:新增
devcontainer.json
变量,用于本地和容器文件夹。
您可以在远程开发发布说明中了解新的扩展功能和错误修复。
GitHub 拉取请求和问题
该扩展曾名为“GitHub Pull Requests”,即GitHub 拉取请求和问题扩展,它已经让您在 VS Code 中管理和审查拉取请求一年多了。现在,该扩展已扩展到包括对 GitHub Issues 的支持。
问题支持包括
- 对 #-引用的问题和 @-提及的用户提供悬停提示。
- 为问题和用户提供行内完成建议。
- 一个问题视图,您可以在其中使用自定义查询。
- 启动处理某个问题的操作,该操作会创建分支并填充提交消息。
还有新的仓库支持
- 使用远程源提供程序克隆仓库。
- 将仓库发布到 GitHub。
下面的短视频演示了将文件成功上传到 GitHub 上的新私有仓库,并提供了在 GitHub 上浏览该仓库的选项。
更多信息,您可以阅读最近的GitHub Issues 集成博客文章和使用 GitHub 文档。
GitHub Issue Notebook
VS Code 团队正在研究对 Notebook 的原生支持。如今最流行的 Notebook 是 Jupyter Notebook,在研究它们时,我们开始探索构建一种公正且支持不同风格 Notebook 的解决方案的方法。
其中一个 Notebook 是GitHub Issue Notebooks 扩展,它允许您管理问题和拉取请求搜索并内联渲染结果。
该扩展仍在开发中,目前仅适用于 VS Code Insiders 版本,但通过它可以亲身体验 Notebook 并向我们提供反馈。
扩展创作
编辑器选项卡的新主题颜色
新增颜色以进一步美化工作台编辑器选项卡的主题
tab.unfocusedInactiveBackground
:未聚焦组中非活动选项卡的背景颜色tab.hoverForeground
:悬停时选项卡的前景颜色tab.unfocusedHoverForeground
:未聚焦组中悬停时选项卡的前景颜色
编辑器标题边框的新主题颜色
现有颜色 editorGroupHeader.tabsBorder
已更改为在编辑器选项卡下方但在面包屑上方渲染边框。新的颜色 editorGroupHeader.border
允许您在编辑器组标题下方(例如,如果启用面包屑,则在面包屑下方)渲染边框,以恢复 editorGroupHeader.tabsBorder
之前的行为。
vscode NPM 模块的弃用和归档
鉴于 event-stream
事件,我们在 2019 年 6 月将 vscode 模块拆分为 @types/vscode
和 vscode-test
。今天,针对 minimist
的安全警报已导致依赖 vscode
的扩展触发安全警报,因为 vscode
依赖于 mocha@5.2.0
,进而依赖于 minimist@0.0.8
。不幸的是,mocha@5.2.0
不再接收更新,并且升级到新的 mocha
版本会破坏现有功能。
我们发布了新版本的 vscode
,它移除了某些不必要的依赖项。我们还归档了仓库并在 NPM 上弃用了vscode 模块。请迁移到 @types/vscode
和 vscode-test
。
新的完成项类型
vscode.CompletionItemKind
中新增了两个条目,分别表示问题和用户。这些可以用于例如在添加 TODO 标签时建议用户名。
使用 URI
我们添加了一个 vscode.Uri.joinPath
工具。它是一个工厂函数,通过将路径段与现有 URI 连接起来创建新的 URI。可以将其视为 Node.js 的 path.join
工具,但适用于 URI。
对于扩展,VS Code 通过 Extension.extensionUri
和 ExtensionContext.extensionUri
暴露扩展的安装 URI。使用连接工具,您现在可以为扩展资源创建 URI。
例如
const fileUri = vscode.Uri.joinPath(context.extensionUri, './file.png');
const bytes = await vscode.workspace.fs.readFile(fileUri);
debug/callstack/context 菜单行内分组
VS Code 现在支持向 debug/callstack/context
菜单的 inline
分组贡献命令。贡献到此分组的命令将在用户悬停在调试会话元素上时,在调用堆栈中以内联方式呈现。
新的调试主题颜色
调试视图的样式新增了颜色
debugView.exceptionLabelForeground
:调试器在异常处中断时,在调用堆栈视图中显示的标签的前景颜色。debugView.exceptionLabelBackground
:调试器在异常处中断时,在调用堆栈视图中显示的标签的背景颜色。debugView.stateLabelForeground
:调用堆栈视图中显示当前会话或线程状态的标签的前景颜色。debugView.stateLabelBackground
:调用堆栈视图中显示当前会话或线程状态的标签的背景颜色。debugView.valueChangedHighlight
:用于高亮调试视图(例如变量视图)中值变化的颜色。debugTokenExpression.name
:调试视图(例如变量或监视视图)中显示的令牌名称的前景颜色。debugTokenExpression.value
:调试视图中显示的令牌值的前景颜色。debugTokenExpression.string
:调试视图中字符串的前景颜色。debugTokenExpression.boolean
:调试视图中布尔值的前景颜色。debugTokenExpression.number
:调试视图中数字的前景颜色。debugTokenExpression.error
:调试视图中表达式错误的前景颜色。
源代码管理
打开资源命令新增 preserveFocus 参数
调用 SourceControlResourceState.command
命令时,会传递一个额外的 preserveFocus: boolean
参数,这允许扩展作者提供更好的用户体验。
输入文本 MIME 类型
源代码管理输入文本现在有一个专用的 MIME 类型:text/x-scm-input
。
控制输入框可见性
扩展现在可以使用 SourceControlInputBox.visible
属性控制每个仓库的源代码管理输入框的可见性。
Git
远程源提供程序
Git 扩展 API 现在允许其他扩展提供远程源,以便参与Git: 克隆命令。
以下是 GitHub 拉取请求和问题扩展提供的示例
凭据提供程序
Git 扩展 API 已扩展,以便扩展可以提供认证凭据,以便对工作台和集成终端中针对 HTTPS Git 仓库调用的 Git 命令进行认证。
SignatureInformation.activeParameter
SignatureInformation
的新属性 activeParameter
允许您单独为每个签名指定活动参数。如果提供,此属性将覆盖顶级 SignatureHelp.activeParameter
属性。
EventEmitter 的严格空修复
在 VS Code 1.44 及更低版本中,EventEmitter.fire
的参数是可选的。
// Valid in VS Code 1.44
const emitter = new EventEmitter<number>();
emitter.event((x: number) => console.log(x));
// Calling fire with no argument was valid but resulted in the `x` above being `undefined`
emitter.fire();
这违反了严格空检查,但未导致编译错误。
在 VS Code 1.45 中,fire
现在需要一个参数。如果您仍然希望能够在源代码中不带参数调用 .fire()
,请使用 new EventEmitter<void>
。
语言服务器协议
规范的3.16 版本的工作已经开始。作为第一步,调用层次结构支持已从提议状态移出。请注意,3.16 规范尚未最终确定,并可能根据反馈进行更改。
提议的扩展 API
每个里程碑都会带来新的提议 API,扩展作者可以试用它们。一如既往,我们非常渴望您的反馈。要试用提议的 API,您需要执行以下操作:
- 您必须使用 Insiders 版本,因为提议的 API 经常更改。
- 您的扩展程序的
package.json
文件中必须包含以下行:"enableProposedApi": true
。 - 将最新版本的 vscode.proposed.d.ts 文件复制到您的项目源位置。
请注意,您不能发布使用提议 API 的扩展。下一个版本可能会有重大更改,我们不希望破坏现有扩展。
贡献终端环境
这项新的提议 API 是上个月引入的,以便扩展作者可以贡献终端环境。本月主要是在该功能之上应用了一些 UI 并进行完善。现在,当终端环境“过时”时,会显示一个警告图标,该图标会显示一个丰富的悬停,解释即将发生的变化,并包含一个方便的重新启动终端操作。当更改处于活动状态时,还有一个信息图标可用,但默认情况下此图标处于禁用状态。
动态提供调试配置
我们更新了调试扩展 API,为调试扩展作者提供了一种基于工作区或项目中找到的信息动态添加调试配置的方法。这些调试配置显示在与 launch.json
中的静态调试配置相同的 UI 位置。
在此版本中,动态调试配置显示在调试视图的配置下拉菜单和选择并启动调试快速选择中。在未来的版本中,我们正在考虑也在“欢迎”视图中显示它们。
新的 API 基于现有 DebugConfigurationProvider
的 provideDebugConfigurations
方法。在此版本之前,VS Code 调用 provideDebugConfigurations
方法以提供初始“静态”调试配置,以便复制到新创建的 launch.json
中。通过新的 API,现在可以通过向新的可选 triggerKind
参数传递值 DebugConfigurationProviderTriggerKind.Dynamic
,来通过 vscode.debug.registerDebugConfigurationProvider
注册 DebugConfigurationProvider
以处理“动态”情况。通过此新的注册,每当要在 UI 中显示所有调试配置列表时,VS Code 都会调用 provideDebugConfigurations
方法。
为了及时激活使用此新 API 的扩展,引入了一个新的激活事件 onDebugDynamicConfigurations:<debug type>
。<debug type>
是必需的,表示为哪个调试器指定动态调试配置。
在 Mock Debug 中可以找到一个使用示例。
二进制自定义编辑器 API
我们在此迭代中重构了二进制自定义编辑器的提议 API,以便为稳定做准备。提醒一下,自定义编辑器允许扩展提供自己的编辑器用户界面,而不是 VS Code 的普通文本编辑器。我们已经稳定了对基于文本文件的自定义编辑器的支持。提议的 API 将自定义编辑器扩展到图像或十六进制转储等二进制文件格式。
我们希望您就此 API 提供反馈,以便我们有望在下一次迭代中最终确定它。请查看自定义编辑器扩展示例,以查看二进制文件自定义编辑器的实现示例。自定义编辑器 API 文档现在也涵盖了二进制文件的自定义编辑器。
如果此 API 对您有用,或者您在实现自定义编辑器时遇到任何问题,请告知我们。
工程
原生迭代器
我们现在使用原生 ES6 迭代器来提高性能。您可以在问题 #94540 中找到更多详细信息。
编译守护进程
感谢 deemon 实用程序,我们现在将自托管编译任务作为后台进程运行:即使 VS Code 重启,它也会保持运行。
自动化问题分类
我们继续将问题分类流程转移到 GitHub Actions 的工作,并为自动问题分类创建了 Actions。这些 Actions 通过自动下载所有问题并生成机器学习模型,按计划将问题分类到功能区域。所有 Actions 的完整实现都在我们的GitHub Triage Actions 仓库中。
新文档
Docker Compose
有一个新的Docker Compose 主题,解释了 Microsoft Docker 扩展如何帮助您向项目添加 Docker Compose 文件,以便轻松使用多个 Docker 容器。
Java 主题
Java 主题已更新,包括使用Java 扩展对 Java 源代码进行代码检查和重构的新主题。
GitHub
随着 GitHub 集成的扩展,新增了一个使用 GitHub 主题,展示了如何在 VS Code 中使用 GitHub。
显著修复
- 46886:无法调整调试侧边栏中断点部分的大小
- 85344:当我点击 VSCode 中的链接时 Firefox 崩溃。
- 86425:集成终端宽度太窄
- 90714:将调试控制台字体大小设置应用到输入字段
- 90734:Windows 终端作为外部终端未在工作区目录中启动
- 93973:[SSH] 在侧边栏中自动显示不工作
- 94574:居中布局:显示差异编辑器时使用全宽
- 94982:Bash 调试在版本 1.44.0 下无法启动
- 95108:serverReadyAction debugWithChrome 突然停止工作
- 95319:getWordRangeAtPosition 可能会冻结扩展宿主
感谢
最后但同样重要,向以下帮助改进 VS Code 的人员致以非常感谢!
对问题跟踪的贡献
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Simon Chan (@yume-chan)
- ArturoDent (@ArturoDent)
- Alexander (@usernamehw)
- Marco Zehe (@MarcoZehe)
- joanmarie (@joanmarie)
- José Vilmar Estácio de Souza (@jvesouza)
- Michał Zegan (@webczat)
对 vscode
的贡献
- Andrew Casey (@amcasey)
- Anthony Van de Gejuchte (@avdg):不允许 git 使用分页器 PR #95549
- Richard Willis (@badsyntax):更新 vscode.d.ts - 修复 Pseudoterminal.onDidClose 的代码注释块 PR #96206
- @bkis:修复 git 扩展配置文件描述中的拼写错误 PR #94993
- @bolinfest:确保 Monarch 语法中 @rematch 和 nextEmbedded 可以一起使用 PR #95742
- Borja Zarco (@bzarco):在有条件解析某些变量时,除使用
folderUri
外,还使用argument
。PR #95483 - Christos Pappas (@ChrisPapp)
- Connor Skees (@connorskees)
- Edgar Cumbreras (@cumbreras):功能:#94285 运行任务前保存的选项 PR #94466
- Duncan Walter (@DuncanWalter):TS:添加设置以提示用户关于工作区 TSDK PR #95566
- Dusty Pomerleau (@dustypomerleau):将所有
wordHighligher
实例更改为wordHighlighter
PR #95830 - Evan Krause (@evangrayk):限制状态栏加载动画以节省 CPU PR #96096
- Jonathan Fleckenstein (@fleck):移除重复的 git.pullFrom 命令 PR #95780
- Phil Marshall (@flurmbo):添加 git.showCommitInput 配置选项 (#_79074) PR #81982
- Gaurav Makhecha (@gauravmak):拼写修正 PR #94687
- @Git-Lior:bugfix - typescript 代码补全在存在多个属性修饰符时不识别属性修饰符 PR #94165
- John Murray (@gjsjohnmurray):fix #95510 大小写敏感文件系统导致“在侧边栏中显示”混乱 PR #95555
- Gustavo Cassel (@GustavoASC):开发了在查找小部件中从文档开头或结尾循环搜索的设置 PR #92243
- Ilia Pozdnyakov (@iliazeus)
- Andrii Dieiev (@IllusionMH)
- Jean Pierre (@jeanp413)
- jedwards (@jheiv):在“终端:清除”命令面板操作后聚焦终端 PR #92100
- Jon Bockhorst (@jmbockhorst)
- John Blackbourn (@johnbillion):默认将
.gitignore_global
视为忽略文件。PR #96080 - Kodai Nakamura (@kdnk):添加聚焦查询编辑器小部件的操作 PR #94799
- Lenny Anders (@lennyanders):在拖动元素时为 backdrop-filter 添加过渡 PR #95217
- Lukas Spieß (@lumaxis):将 keytar 更新到最新的公共版本 PR #95351
- Yaşar Yıldız (@MonoLizard):修复 #90734 为新的 Windows 终端添加起始目录参数 PR #90773
- Marvin Heilemann (@muuvmuuv):功能:添加窗口标题分隔符属性 PR #94371
- @NickDebug:添加了缺少的单词 PR #95043
- Richard Townsend (@richard-townsend-arm):添加 gulp 目标,修复 Windows on Arm 的构建 PR #85326
- Robert Rossmann (@robertrossmann)
- Dmitry Sharshakov (@sh7dm):在时间线中正确显示未来事件 PR #94459
- Tobias (@Shegox):更新自动化问题管理 actions 仓库链接 PR #96568
- Josh Smith (@smithjosh115):问题 #93589:将 'renameShorthandProperties' 设置重命名为 'useAliasesForRenames' PR #94480
- Thomas Weingartner (@Thoemmeli):修复“Markdown 预览中的相对链接丢失路径中的‘host’” PR #95092
- Tyler James Leonhardt (@TylerLeonhardt):添加 PowerShell heredoc 自动关闭对 PR #95245
- Alexander (@usernamehw):在 OS 中显示文件应适用于 settings.json 等特殊文件 PR #95193
- Christopher Makarem (@x24git):防止 CodeLens CSS 选择器名称无效 PR #95005
- @xisui-MSFT:在 launch.json, workspace.json 或 .code-workspace 不存在时添加 configurations 字段 PR #95488
对 vscode-json-languageservice
的贡献
- Alex Kreidler (@alexkreidler):添加基本覆盖率信息 PR #54
- Anantha Kumaran (@ananthakumaran):添加对 textDocument/definition 的支持 PR #50
对 vscode-html-languageservice
的贡献
- Liam Newman (@bitwiseman):将 js-beautify 更新到 1.11.0 PR #82
对 language-server-protocol
的贡献
- Sam McCall (@sam-mccall):使 didSave server capability 名称一致 PR #958
- Sora Morimoto (@imbsky):修复到 lsif-util 的链接 PR #971
对 debug-adapter-protocol
的贡献
- Nick Battle (@nickbattle):将 VDMJ-LSP 添加到适配器列表 PR #109
对 vscode-generator-code
的贡献
- Neeraj Kashyap (@nkashy1):更新了注释掉的 myExtension 导入 PR #199
对 vscode-textmate
的贡献
- Yan Pashkovsky (@Yanpas):添加语法性能警告 PR #128
对 vscode-vsce
的贡献
- Ilia Pozdnyakov (@iliazeus):打印失败的 prepublish 脚本输出 PR #442
对 localization
的贡献
有超过 800 名 Cloud + AI 本地化社区成员使用 Microsoft 本地化社区平台 (MLCP),其中有约 170 名活跃贡献者贡献 Visual Studio Code。我们感谢您的贡献,无论是提供新翻译、对翻译投票还是建议流程改进。
这是贡献者快照。有关项目详情(包括贡献者名单),请访问项目网站:https://aka.ms/vscodeloc。
- 中文 (简体, 中国) Tingting Yi, Yizhi Gu, Charles Dong, Justin Liu, Joel Yang, Tony Xia, 朱知阳, meng shao, 普鲁文, paul cheung, 张锐, Yiting Zhu, Nong Zhichao, Liam Kennedy, 武 健, Zhao Liguo, 宁 倬, Bochen Wang, 一斤瓜子, 顺 谭, 云 何, Yun Liu, yungkei fan, 杨 越鹏。
- 中文 (繁体, 台湾) 船長, Winnie Lin, 予 恆, TingWen Su。
- 捷克语 David Knieradl。
- 丹麦语 (丹麦) Javad Shafique, Lasse Stilvang。
- 英语 (英国) Martin Littlecott, Oren Recht, Faris Ansari。
- 芬兰语 (芬兰) Teemu Sirkiä。
- 法语 (法国) Antoine Griffard, Thierry DEMAN-BARCELÒ, Rodolphe NOEL, Nathan Bonnemains。
- 希伯来语 (以色列) Chayim Refael Friedman, Asaf Amitai。
- 匈牙利语 Bucsai László。
- 印度尼西亚语 (印度尼西亚) Gerry Surya, Laurensius Dede Suhardiman。
- 意大利语 (意大利) Alessandro Alpi, Riccardo Cappello。
- 日语 (日本) Ikko Ashimine, Aya Tokura, Takayuki Fuwa, ちゃん きさらぎ, 住吉 贵志, Koichi Makino, Yoshihisa Ozaki, TENMYO Masakazu。
- 韩语 (韩国) Kyunghee Ko, June Heo。
- 挪威语 (挪威) Torbjørn Viem Ness。
- 波兰语 (波兰) Makabeus Orban, Kacper Łakomski, Karol Szapsza。
- 葡萄牙语 (巴西) Alessandro Trovato, Marcelo Fernandes, Arthur Lima, Luciana de Melo, Luiz Gustavo Nunes。
- 葡萄牙语 (葡萄牙) Pedro Filipe, António Pereira。
- 俄语 (俄罗斯) Andrey Veselov, Vadim Svitkin, Минаков Антон。
- 西班牙语 (西班牙,国际排序) Sifredo Da Silva, Ariel Costas Guerrero, David Roa, Abdón Rodríguez P., Luis Manuel, Carlos A. Echeverri V, A. Jesus Flores A., Ricardo Estrada Rdez, Alfonso Jesus Flores。
- 瑞典语 (瑞典) Per Ragnar Edin。
- 泰米尔语 (印度) krishnakoumar c。
- 土耳其语 (土耳其) Umut Can Alparslan, Mehmet Yönügül。
- 乌克兰语 (乌克兰) Nikita Potapenko, igor oleynik。
- 越南语 (越南) Hieu Nguyen Trung, LN Quang。