2018 年 9 月(版本 1.28)
更新 1.28.2:此更新解决了这些 问题。
更新 1.28.1:此更新解决了这些 问题。
下载:Windows:x64 | Mac:Intel | Linux 64 位:deb rpm tarball | 32 位:deb rpm tarball
欢迎使用 2018 年 9 月发布的 Visual Studio Code。正如在 9 月迭代计划 中宣布的那样,我们专注于整理 GitHub 问题和拉取请求。在我们所有 VS Code 代码库中,我们关闭(分类或修复)了 3918 个问题。在我们关闭问题的过程中,您又创建了 2187 个新问题。这导致了 1731 个问题的净减少。主要 vscode 代码库 现在有 2472 个开放的功能请求和 625 个开放的错误。此外,我们关闭了 212 个拉取请求。
看到您对我们进展的关注,真是太好了。 Benjamin Lannon 发布了一个个人网站,其中包含 我们 主要代码库 中问题编号的实时跟踪器。它很好地展示了自 9 月 11 日以来我们取得的进展。
它还显示了当我们停止关注减少问题时会发生什么。以下是上周我们为此次发布做准备的最后三天。如您所见,我们未来将进行更多问题整理迭代。
在此整理里程碑期间,我们解决了几个功能请求,并且社区 拉取请求 也带来了新功能。以下是本次发布的一些亮点。
- 自定义文件图标 - VS Code 文件图标反映了您操作系统资源管理器中的文件类型。
- 项目级代码片段 - 针对每个工作区调整您的代码片段集合。
- 编辑器 Tab 补全 - 使用 Tab 轻松循环浏览 IntelliSense 建议。
- 跳转到上次编辑位置 - 用于转到上次编辑位置的新命令。
- 保存而不格式化 - 保存文件而不更改现有格式。
- Git 改进 - 更好的删除冲突处理,新的同步时变基选项。
- 通过导入路径重命名 - 通过导入路径重命名 JS/TS 文件。
- 转换为异步重构 - 快速更新函数以使用异步和等待。
- 更好的 Markdown 折叠 - 折叠代码块、多行列表和嵌入的 HTML。
如果您想在线阅读这些发行说明,请访问 更新,网址为 code.visualstudio.com。
您还可以查看此 1.28 版本的 亮点视频,该视频来自云开发倡导者 Brian Clark。
内部人员:想要尽快看到新功能?您可以下载夜间版 内部人员 版本,并在新功能可用后立即试用。
工作台
Windows 上默认情况下使用自定义标题栏和菜单栏
以前 发行说明 中描述的自定义标题栏和可主题化菜单现在已在 Windows 上默认启用。设置 "window.titleBarStyle"
在过去一个月内在 Windows 内部人员版本中默认设置为 "custom"
,现在我们已准备好将其作为默认体验。
每个文件类型都有文件图标
在 macOS 和 Windows 上,VS Code 注册为众所周知文件类型的默认编辑器。VS Code 现在为一些常见的 VS Code 文件类型提供自定义图标。当图标大小配置为中等或大时,这些图标将显示在操作系统资源管理器中。对于较小的图标大小,我们决定保留 VS Code 徽标作为图标。
项目级代码片段
代码片段现在可以限定到项目范围,并与您的团队共享。只需使用 首选项:配置用户代码片段 命令,或在 .vscode
文件夹中创建 *.code-snippets
文件。项目级代码片段的工作方式与其他代码片段相同,它们会显示在 IntelliSense 中,并在 插入代码片段 操作中显示,现在它们有自己的类别。
代码片段现在还支持多个前缀。如果您无法决定版权页眉代码片段应该以 header
、stub
或 copyright
为前缀,您可以全部使用它们。只需将字符串数组用作 prefix
属性即可。
{
"prefix": ["header", "stub", "copyright"],
"body": "Copyright. Foo Corp 2028",
"description": "Adds copyright...",
"scope": "javascript,typescript"
}
打开文件夹时支持符号链接
长期以来,VS Code 一直在打开文件夹时解析符号链接。这意味着即使符号链接存在是有原因的,VS Code 也忽略了它,并且始终打开解析的链接路径。我们决定更改此行为并保留符号链接。
注意:当将文件夹作为符号链接打开时,某些功能将以降低的功能水平工作(例如 调试 和 Git 集成)。
录制和搜索键盘快捷键
在键盘快捷键编辑器(⌘K ⌘S(Windows、Linux Ctrl+K Ctrl+S))中,您现在可以通过键入击键来搜索键盘快捷键,而不是键入键名称(例如“shift”)。开启 录制键 模式,然后键入要搜索的击键。
您还可以使用 ⌥⌘K(Windows、Linux Alt+K) 进入 录制键 模式。按 Esc
键退出 录制键 模式。
切换面板更改
我们决定重新审视我们用于切换面板(终端、输出、问题、调试控制台)的命令的行为。您可以关注问题 19400 以了解更改的背景。
旧行为是
- 如果面板不可见,则显示面板。
- 如果面板可见,则隐藏面板。
新行为是
- 如果面板不可见,则显示面板。
- 如果面板具有键盘焦点,则隐藏面板。
- 如果面板可见但未获得焦点,则面板将获得焦点。
要恢复以前的行為,您可以配置一个键盘快捷键,以便在相关面板处于活动状态时关闭面板。
例如,对于输出面板
{
"key": "cmd+shift+u",
"command": "workbench.action.closePanel",
"when": "activePanel==workbench.panel.output"
}
面板标识符列表为
terminal
- 集成终端workbench.panel.markers
- 问题面板workbench.panel.output
- 输出面板workbench.panel.repl
- 调试控制台面板
复制相对路径
将文件路径复制为相对路径的命令现在在文件资源管理器的上下文菜单以及编辑器选项卡中更突出地显示。
从快速打开中排除最近打开的文件
新的设置 search.quickOpen.includeHistory
允许您控制最近打开的文件是否应作为快速打开文件选择器的一部分。默认情况下,最近打开的文件将显示在搜索结果的顶部,工作区中的其他文件将显示在下方。如果您希望最近打开的文件不要显示在顶部,可以将此设置更改为 false
。
删除文件时禁用废纸篓
如果您在从资源管理器中删除文件时遇到了问题,这些文件被移动到操作系统废纸篓,您现在可以将 files.enableTrash
设置为 false
,以便在删除时永远不使用操作系统废纸篓。这样做会更改文件资源管理器的 删除 操作和键盘快捷键,以绕过操作系统废纸篓并永久删除。在删除之前,您仍然会看到一个提示。
如果检测到工作区文件,则提示打开
当打开一个在根目录中包含一个或多个 .code-workspace
文件的文件夹时,VS Code 现在会显示一个通知,询问您是否要打开工作区文件。打开工作区文件通常比仅打开文件夹提供更好的体验。您可以在我们的 文档 中了解有关多根工作区的更多信息。
重新打开文件时不恢复视图状态
VS Code 一直以来都记住文件的视图状态(光标位置、折叠的部分等),即使在文件关闭后也是如此。现在有一个新的设置 workbench.editor.restoreViewState
,可以在关闭文件时丢弃此视图状态。这允许您在重新打开文件后始终从文件顶部开始。
在所有编辑器组中关闭文件
新的命令 在所有组中关闭编辑器(workbench.action.closeEditorInAllGroups
)允许您在所有编辑器组中关闭当前活动文件。
问题面板
显示错误代码
如果问题面板有任何错误代码,它现在会显示该错误代码。
改进的键盘导航
问题面板已变得更加键盘友好。
- 当面板获得焦点时,您可以开始键入以进行筛选。
- 您可以使用 ⌘F(Windows、Linux Ctrl+F) 将焦点移至筛选框,并使用 ⌘↓(Windows、Linux Ctrl+Down) 将焦点从筛选框移至问题列表。
遥测事件的输出通道
在 7 月份的版本中,我们添加了一项功能,即当您使用 **开发者:设置日志级别...** 命令将日志级别设置为 **跟踪** 时,VS Code 发送的所有遥测事件也会被记录到本地文件中。您现在可以在 **输出** 面板的 **日志(遥测)** 频道中查看此文件的内容。与之前一样,您可以使用 **开发者:打开日志文件...** 命令直接查看该文件。
将焦点赋予自定义视图
您现在可以使用命令将焦点赋予自定义视图。每个自定义视图都提供一个单独的命令。
Linux URL 处理
这项功能曾经只限于 Windows 和 macOS,现在您也可以在 Linux 上打开 VS Code URL!这些 URL 可用于许多不同的功能,例如自动安装扩展,例如 vscode-insiders:extension/vscodevim.vim
。
编辑器
制表符补全
编辑器制表符补全现在可以完成所有类型的建议。在设置 "editor.tabCompletion": "on"
之后,按 Tab 将完成任何前缀,而不仅仅是代码片段。此外,按 Tab 将插入下一个建议,而按 ⇧Tab (Windows、Linux Shift+Tab) 将插入上一个建议。
导航到上次编辑位置
添加了一个新命令 **转到上次编辑位置** (workbench.action.navigateToLastEditLocation
),可以快速导航到文件中上次编辑的位置。默认的键绑定是 ⌘K ⌘Q (Windows、Linux Ctrl+K Ctrl+Q)。
保存不带格式化程序
新的命令 **保存不带格式化** (workbench.action.files.saveWithoutFormatting
) 可用于保存文件,而不会触发任何保存参与者(例如,格式化程序、删除尾随空格、最终换行符)。默认的键绑定是 ⌘K S (Windows Ctrl+K Ctrl+Shift+S、Linux Ctrl+K S)。当编辑文件位于正常的项目之外时,这很有用,因为它们可能具有不同的格式约定。
IntelliSense 位置加成
现在可以根据建议距离光标的距离对建议进行排序。设置 "editor.suggest.localityBonus": true
,您将看到,例如,函数参数会显示在 IntelliSense 列表的顶部。
Emmet
我们在本次迭代中对 Emmet 功能进行了一些改进
- 如果您在 JavaScript 文件中启用了 Emmet,那么您现在可以在 HTML 文件中的
<script>
标签内进行 Emmet 缩写扩展。 - **Emmet:用缩写包装** 功能不再局限于具有
.html
扩展名的文件。 - **Emmet:平衡(向内)** 功能现在即使没有选择,也能在当前节点上运行。
- 错误地将 SCSS 文件中的包含
#
的 CSS 选择器视为有效缩写的 错误 现已修复。
源代码管理
更改 SCM 提交键绑定
您现在可以使用 scm.acceptInput
命令更改默认的键绑定,以便在 SCM 视图中接受提交消息。
SCM 状态栏跟踪活动文件
左下角的 SCM 状态栏贡献现在跟踪当前活动文件所属的存储库。当在多文件夹工作区中编辑文件时,这将减少混淆。
Git 集成
更好地处理删除冲突
删除冲突一直由 VS Code 检测到。现在有一个更好的 UI 流程来处理它们,您将在打开更改时看到未删除的版本,并且您可以决定在暂存文件时发生的事情:保留它还是删除它。
配置长提交消息警告阈值
git.inputValidationLength
设置现在允许您配置提交消息在编辑时必须达到多长才会出现警告。
在“git init”之后将文件夹添加到工作区
初始化 Git 存储库后,VS Code 现在会询问您是否要将其添加到当前工作区。
配置分支验证规则
您现在可以使用功能强大的 git.branchValidationRegex
和 git.branchWhitespaceChar
设置来控制分支名称验证的工作方式。有关更多详细信息,请参见问题 50241。
在运行同步时始终变基
git.rebaseWhenSync
设置将允许您配置 **同步** 命令在运行时始终使用变基而不是合并。
禁用进度报告
使用 git.showProgress
设置,您现在可以禁用在 Git 操作期间显示进度。
Push --force
在您的日常开发过程中,有时您会想冒险。运行 git push --force
就是一个很好的例子!VS Code 现在允许您强制将提交推送到远程,而无需进入终端。使用 git.allowForcePush
、git.useForcePushWithLease
和 git.confirmForcePush
设置来控制此行为。有关更多详细信息,请参见问题 53286。
Stash apply
全局命令面板中现在包含以下 git stash apply
命令:**Git:应用 Stash...**、**Git:应用最新 Stash**。
始终可见的暂存更改部分
您现在可以使用 git.alwaysShowStagedChangesResourceGroup
设置始终让 **暂存更改** 部分在 SCM 视图中可见,即使它为空也是如此。
终端
定义键绑定以发送自定义序列
已添加新的命令 workbench.action.terminal.sendSequence
,它允许您将自定义序列直接发送到活动终端。这允许使用 \u
格式发送 Unicode 字符来发送诸如箭头键、enter 等内容。
{
"key": "ctrl+u",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[1;5D\u007f" }
}
查找改进
在终端中查找已得到改进,现在它的行为更像是在编辑器中查找
- 支持正则表达式、区分大小写和匹配单词。
- 标准的查找下一个/上一个键绑定 (F3、shift+F3) 现在可以正常工作。
- 会返回跨行换行的查找结果。
语言
TypeScript 3.1
VS Code 1.28 附带了 TypeScript 3.1.1。此版本带来了新的语言特性,例如 可映射的元组和数组类型,以及许多工具改进和错误修复。
重命名导入路径
意识到导入的文件可以使用更好的名称了吗?现在,您可以只通过重命名导入来重命名引用的文件。
转换为异步函数
针对 JavaScript 和 TypeScript 的新的 **转换为异步函数** 建议会将使用 .then
Promise 链的函数重写为使用 async
和 await
。
请注意,此功能要求
javascript.validate.enable
设置设置为 true。
JS/TS 建议的新设置
我们已经清理了 JavaScript 和 TypeScript 建议的设置名称,并添加了一些提供更细粒度控制的其他设置。
- 所有与建议相关的设置现在都在
javascript.suggest.*
和typescript.suggest.*
下。 typescript.useCodeSnippetOnMethodSuggest
已重命名为javascript.suggest.completeFunctionCalls
和typescript.suggest.completeFunctionCalls
。javascript.nameSuggestions
已重命名为javascript.suggest.names
。typescript.autoImportSuggestions.enabled
已重命名为javascript.suggest.autoImports
和typescriptscript.suggest.autoImports
。- 新的
javascript.suggest.enabled
和typescript.suggest.enabled
允许您完全禁用 JS 或 TS 建议。
分号作为 JS/TS 的提交字符
分号现在是 JavaScript 和 TypeScript 建议的提交字符。这意味着您只需键入 ;
即可接受当前建议。现有的提交字符还包括 .
和 (
。
您可以通过将 "editor.acceptSuggestionOnCommitCharacter": false
设置为 false 来禁用提交字符。
HTML 和 CSS 路径补全排除点文件
现在从路径补全结果中排除了以 .
开头的文件。
更好的 Markdown 折叠
现在可以在 Markdown 文件中折叠多行列表、围栏代码块和原始 HTML。
Markdown 预览现在在预览中打开指向本地文件的链接
在 Markdown 预览中,单击指向本地文件的链接现在将打开该文件的预览。
这使得浏览文档更容易。使用 markdown.preview.openMarkdownLinks
设置来配置如何处理链接。有效设置值是
inEditor
- 在编辑器中打开本地 Markdown 链接。inPreview
- 在当前预览中打开本地 Markdown 链接。这是新的默认行为。
扩展
搜索过滤改进
您现在可以使用 @category
过滤器与其他过滤器(如 @installed
、@enabled
、@disabled
和 @outdated
)一起组合您的扩展搜索查询。例如,您可以使用查询 @installed @category:themes
搜索已安装的主题,或者使用 @installed @category:snippets
搜索贡献代码片段的已安装扩展。
禁用的扩展不被视为已过时
扩展视图中的活动栏上的徽章会显示已过时扩展的数量,现在将排除禁用的扩展。该徽章的目的是让您知道有一些已过时的扩展可能需要更新。由于禁用的扩展当前没有使用,因此将它们包含在计数中只会分散注意力。
扩展主机无响应
VS Code 在一个名为 **扩展主机** 的单独进程中执行扩展。此进程使用消息传递与渲染器/UI 进程通信。我们已经添加了对扩展主机消息的更好跟踪,如果一条消息在 10 秒内没有得到确认,我们将显示以下通知
**这意味着什么**:很可能是扩展正在执行 CPU 密集型操作,最终导致 **扩展主机进程被阻塞超过 10 秒**。
**该怎么做**:一个选项是 **等待** 操作完成,然后简单地忽略通知。另一个选项是 **调查** 哪个扩展导致了高 CPU 使用率,方法是转到 **正在运行的扩展** 视图,并 开始分析扩展主机。然后,您可以直接针对有问题的扩展创建问题。最后,如果您认为扩展已进入无限循环,并且它似乎不会恢复,则可以 **重启** 扩展主机。
工程
扩展和 webpack
我们已经继续了我们的 webpack 工作,现在大多数捆绑的扩展都已使用 webpack 处理。作为提醒:这有助于减少扩展的启动时间,因为要加载的文件更少,要解析的源代码更少。它还有助于减少安装时间,因为需要提取并写入磁盘的文件更少。
在这个里程碑中,我们又减少了 2803 个文件的包。我们在 7 月份从 9000 个文件开始,到 8 月份减少到了 4650 个,到 9 月份减少到了 1847 个!
预览功能
预览功能尚未准备好发布,但其功能足以使用。我们欢迎您在开发过程中提供早期反馈。
继续探索 Electron 3.0
在本里程碑期间,我们继续探索将 Electron 3.0.0 捆绑到 VS Code 中。这是一个主要的 Electron 版本,附带了 Chrome 66 和 Node.js 10.x(与我们当前的版本相比,这是一个重大进步,当前版本包含 Chrome 61 和 Node.js 8.x)。我们计划在不久的将来将更新发布给我们的内部人员用户,以收集更多反馈。如果您有兴趣帮忙,请确保安装 VS Code 内部人员。
其他
macOS Mojave 上的模糊
如果您已更新至 macOS 10.14(Mojave),您可能会注意到,如果您没有使用高 DPI 显示器,VS Code 中的字体会看起来很模糊。
解决此问题的方法是运行
defaults write com.microsoft.VSCode.helper CGFontRenderingFontSmoothingDisabled -bool NO
从终端,然后重新启动计算机。
请注意,此更改对所有应用程序都是全局性的,并非特定于 VS Code。有关相关讨论,请参见问题 51132。
Electron 更新
在此版本中,我们从 Electron 2.0.7 更新到 2.0.9。最值得注意的是,这允许 VS Code 再次在 ArchLinux 上运行(问题 55934)。
扩展开发
处理已卸载扩展的 URL
早在七月,我们发布了 URI 处理程序 API,供扩展处理系统范围的 URI。在最新版本中,VS Code 甚至可以处理尚未安装的扩展的 URI。一旦用户打开此类 URI,VS Code 将在市场中搜索该扩展,建议用户安装它,然后启动 VS Code 并传入 URI。这允许扩展拥有一个流畅的启动流程,将用户从网页引导到运行具有特定状态的扩展。
诊断错误代码
由于诊断错误代码现在已在 问题面板 中显示,因此扩展不再需要将错误代码添加到 Diagnostic.message
属性中。
更好的配置 when 子句
在编写键绑定或菜单可见性时,会使用 when 子句。在 when 子句中,您可以通过在配置(设置)值前添加 config.
来引用该值,例如 config.editor.tabCompletion
。以前只支持布尔型配置属性,但在本版本中,您还可以使用字符串和数字值。
更改文本文档的语言
有一个新的 API 函数用于更改文档的语言模式,即 vscode.languages.setTextDocumentLanguage
。此 API 接受一个文档和要使用的语言 标识符。若要了解可用的语言 ID,请使用 vscode.languages.getLanguages
。
workspaceContains
激活
扩展可以使用 workspaceContains
激活事件,当打开包含与某个模式匹配的文件的工作区时激活。例如,PHP 扩展可能会要求在打开包含与 **/*.php
匹配的文件的工作区时激活。这不是新功能,但用户指出,当打开大型工作区时,搜索过程可能会运行很长时间并使用大量 CPU。
我们进行了一些更改,使这些搜索的影响较小。第一个更改是,这些搜索现在将尊重用户的 files.exclude
、search.exclude
和 search.useIgnoreFiles
设置。换句话说,如果用户无法通过普通文本搜索或通过快速打开进行文件搜索找到文件,则 workspaceContains
模式将不会匹配该文件。这极大地减少了我们需要搜索 workspaceContains
的文件数量,并减少了当它匹配实际上不属于项目的某个文件时(例如,埋藏在 node_modules/
中的某个文件)的错误激活。
第二个更改是,对这些搜索实施 7 秒的限制。如果搜索在 7 秒后尚未完成,我们将终止搜索进程并照常激活扩展。
总体而言,这应该可以减少在 VS Code 中打开大型工作区后笔记本电脑神秘发热的情况。
新主题颜色
有一些新的主题颜色
menu.separatorBackground
:菜单中分隔符菜单项的颜色。sideBarSectionHeader.border
:侧边栏部分标题边框颜色。inputValidation.infoForeground
:信息严重性级别输入验证的前景色。inputValidation.warningForeground
:警告严重性级别输入验证的前景色。inputValidation.errorForeground
:错误严重性级别输入验证的前景色。editor.snippetTabstopHighlightBackground
:代码段制表位突出显示的背景颜色。editor.snippetTabstopHighlightBorder
:代码段制表位突出显示的边框颜色。editor.snippetFinalTabstopHighlightBackground
:代码段最终制表位突出显示的背景颜色。editor.snippetFinalTabstopHighlightBorder
:代码段最终制表位突出显示的边框颜色。activityBar.inactiveForeground
:活动栏项处于非活动状态时的前景色。
调试 API
resolveDebugConfiguration
需要显式返回 null
以打开 launch.json
以前,如果 resolveDebugConfiguration
返回的启动配置没有 type
属性,VS Code 会自动打开一个基础的 launch.json
文件。在收到扩展作者的反馈后,我们决定让扩展对这种情况有更多控制权。
现在,resolveDebugConfiguration
必须显式返回 null
值才能阻止调试会话启动并改为打开 launch.json
。返回 undefined
值将阻止调试会话启动。与以前一样,返回带有 type
属性的配置将启动调试会话。
建议的扩展 API
每个里程碑都会带来新的提议 API,扩展作者可以试用它们。与往常一样,我们热切期待您的反馈。以下是您试用提议 API 的步骤
- 您必须使用内部版,因为提议的 API 经常发生变化。
- 您必须在扩展的
package.json
文件中包含以下行:"enableProposedApi": true
。 - 将最新版本的 vscode.proposed.d.ts 文件复制到您的项目中。
请注意,您不能发布使用提议 API 的扩展。我们可能会在下一个版本中进行重大更改,我们绝不希望破坏现有扩展。
调试 API
新的 DebugConfigurationProvider.provideDebugAdapter
替换了 DebugConfigurationProvider.debugAdapterExecutable
命令
以前,我们添加了提议 API DebugConfigurationProvider.debugAdapterExecutable
,以便扩展可以返回一个动态计算的路径(以及相应的程序参数),用于 VS Code 将要启动的调试适配器。在本里程碑中,我们根据收到的反馈修改了最初的设计(例如 #45220、#56646、#57706、#54465)。
新的 API 方法 称为 provideDebugAdapter
,现在我们传入调试会话、工作区文件夹、来自 package.json
的可执行文件信息以及已解析的启动配置。借助这些信息,扩展在被要求创建调试适配器时将拥有“完整视图”。
此外,我们现在支持更多启动和连接到调试适配器实现的方法。为此,可以从 provideDebugAdapter
方法返回一个描述符对象
DebugAdapterExecutable
描述符可用于将调试适配器作为每个会话的外部进程启动,并通过 stdin/stdout 与其通信。借助新 API,现在可以指定调试适配器的运行目录和环境变量。DebugAdapterServer
描述一个处理多个会话并通过套接字进行通信的服务器进程。DebugAdapterImplementation
可用于没有通信开销的本地实现。此选项依赖于对 基于 Node.js 的 DAP 客户端库 的少量修改,计划在 10 月发布。
请注意,这是提议的 API,不能在发布到市场上的扩展中使用。但是,我们感谢您在问题 45220 上就 DebugConfigurationProvider.provideDebugAdapter
提出您的反馈。
注释编辑和删除
在上一次迭代中,我们引入了 DocumentCommentProvider
,允许扩展在编辑器中创建和管理注释。我们已在该提供程序中添加了 新方法 以支持注释的编辑和删除。注释本身现在也具有 标志,指示它们是否支持编辑或删除。如果扩展设置了其中一个标志并提供适当的编辑或删除方法,则在将鼠标悬停在编辑器中的注释上或将焦点置于注释上时,将显示用于编辑或删除注释的操作
新命令
键 | 命令 | 命令 ID |
---|---|---|
⌘K ⌘Q(Windows、Linux Ctrl+K Ctrl+Q) | 导航到上次编辑的位置 | workbench.action.navigateToLastEditLocation |
⌘K S(Windows Ctrl+K Ctrl+Shift+S,Linux Ctrl+K S) | 保存文件而不运行保存参与者(格式化程序等) | workbench.action.files.saveWithoutFormatting |
关闭所有编辑器组中的活动文件 | workbench.action.closeEditorInAllGroups |
|
切换差异编辑器内联和并排模式(弃用 toggle.diff.editorMode ) |
toggle.diff.renderSideBySide |
新文档
GitHub Pull Request 扩展博客文章
您可以阅读 Kenneth 最近的 博客文章,其中宣布了新的 GitHub Pull Request 扩展,并讨论了 VS Code 和 GitHub 编辑器团队之间的合作。
使用 Azure Pipelines 博客文章
在 Visual Studio Code 使用 Azure Pipelines 中,VS Code 工程师 João Moreno 描述了 VS Code 如何现在使用 Azure Pipelines 作为其构建和持续集成 (CI) 基础设施。
新的 PowerShell 主题
Visual Studio Code 中的 PowerShell 展示了通过 Microsoft PowerShell 扩展实现的 PowerShell 集成。该扩展支持强大的语言功能,例如 IntelliSense、转到定义和查找所有引用,以及调试和代码片段。
新的 Python Django 教程
有一个新的 在 Visual Studio Code 中使用 Django 教程,展示了如何在 VS Code 中快速创建、编辑和调试 Python Django Web 应用程序。
值得注意的修复
- 48051:格式化后需要向左滚动
- 31619:必须在代码段中遍历已删除的制表位
- 58327:调试工具栏按钮已禁用
- 35935:“清除最近打开的”也应清除编辑器快速选择历史记录
- 58799:保存时显示未命名的文件
- 29553: 在按下 Escape 键时保留快速打开输入
- 58222: UriDisplayService 缺少远程共享路径名称
- 54213: 中断调试启动的机制,无需显示 launch.json
- 52511: 调试悬停小部件 - 启用小部件调整大小以适应溢出隐藏的长项目
- 50569: 条件断点提示应提供在断点已禁用时启用断点的选项
- 42737: 扩展:允许右键单击以调出齿轮菜单
- 58434: 使用
--force
参数来防止从 CLI 安装扩展时出现提示。
致谢
最后但同样重要的是,衷心感谢以下人士帮助使 VS Code 变得更好
对 vscode
的贡献
- Sribalaji M (@1AmNegan): 使用键绑定将视窗居中到 nextChange/previousChange PR #51235
- Agustín Rodríguez (@agurodriguez): Markdown 预览中 diff 的样式 PR #59289
- Andrew Casey (@amcasey): 为 typescript-language-features/languageserviceerrorresponse 添加 GDPR 注解 PR #57182
- Andy Li (@andyli): 覆盖 Ubuntu 的默认集成终端字体选项 (#_35901) PR #56429
- Aliaksandr Stelmachonak (@ava1ar): 添加了 ARM64 构建支持 PR #52119
- Beau Allison (@beauallison): 将 GIT 浅色复选标记图标与深色对齐 PR #50526
- Andre Wachsmuth (@blutorange): 修复 Promise polyfill,Promise 链式操作有效 PR #57723
- Bruno Finger (@brunofin): 在创建分支时也替换方括号 PR #57374
- David Staheli (@DavidStaheli): 使用新的 VSTS YAML 语法 PR #57745
- Dave Williams (@davnicwil): 新配置用于关闭 TypeScript 自动完成建议 PR #58011
- Dustin Campbell (@DustinCampbell): 更新 C# 语法 PR #57451
- Eric Amodio (@eamodio): 具有查询字符串的图像 URI 无法正常检测到 PR #58314
- @Git-Lior
- Guy Waldman (@guywald1)
- Jay Rodgers (@headmelted)
- Eric Gang (@Hirico): 从 git-diff 编辑器使用“打开文件”后保留显示区域(修复 #53465) PR #54867
- Jatin Sandilya (@jats22): 移除 Python 的绝对路径 PR #56943
- Jason Bright (@jgbright)
- Jim Hessin (@jhessin): 更新 language-configuration.json PR #44566
- JYX (@jjyyxx): 修复 tsconfig.schema.json 中不准确的描述 PR #58582
- Jonathan Perret (@jonathanperret): 修复 workbench.editor.labelFormat 中的拼写错误 PR #59155
- Konstantin Müller (@konstantin-mueller): #54204 添加命令以应用 stash PR #54300
- limerick (@limerickgds): 类自动完成的生成器方法导致添加星号(*)… PR #51557
- Luis Zuniga (@luiszun): 在发送之前检查路径是否存在空格。避免文件名被 inte… PR #56966
- @lzmkony: 删除重复的函数 PR #57700
- Muhammad Azeem (@manixate): 阻止滚动条被视为拖放的放置目标 PR #49747
- Matt Hardcastle (@MattHardcastle): 以打开结尾时不要自动关闭 PR #55315
- Maarten Fonville (@mfonville): 将 Electron 更新至 2.0.9 PR #58382
- Marat Abdullin (@mshoho): 仅将纯文本复制到剪贴板的选项。 PR #54155
- Néstor Hernández Ojeda (@nesukun): 添加对强制推送和强制推送(带租赁)的支持 PR #53286
- Nilesh Kevlani (@njkevlani): 添加了用于向终端发送自定义序列的新命令 PR #56962
- Noam Yogev (@noamyogev84): 允许代码段 JSON 前缀为数组,以支持同一代码段的多个前缀 PR #59092
- Alexandre ZANNI (@noraj): 添加更多 Markdown 扩展 PR #58072
- Sardorbek (@oneslash)
- Karthikayan (@ParkourKarthik)
- Chi Wang (@patr0nus): 修复“无效的起始索引”错误 PR #57617
- Morten N.O. Nørgaard Henriksen (@raix): 添加分支名称验证和空格配置 PR #50712
- Rik Smeets (@rik-smeets): 添加菜单项中缺少的访问键(助记符) PR #58412
- Rodrigo Varas (@rodrigovaras): 修复使 EH 调试在实时共享代理调试适配器时工作 PR #58227
- Segev Finer (@segevfiner)
- @sucicf1: 修复 #35905 PR #58380
- Thomas Basche (@tombasche): 允许空 Git 提交 PR #56048
- tsangint (@tsangint): 修复拼写错误 PR #57192
- Alexander (@usernamehw): 修复与选项卡焦点相关的 issue PR #57821
- Winner Crespo (@wistcc)
对 language-server-protocol
的贡献
- Tyson Andre (@TysonAndre): 修复更多拼写错误 PR #568
对 vscode-languageserver-node
的贡献
- Mathias R. Jessen (@IISResetMe): 修复错误消息中“received”的拼写错误 PR #414
对 debug-adapter-protocol
的贡献
- Antonino Perricone (@APerricone): 由 APerricone 添加的 Harbour 语言 PR #6
对 vscode-recipes
的贡献
- Daryl Knowles (@darylknowles): 端到端调试应使用 ng e2e 启动本地服务器 PR #122
- Karuppasamy M (@karuppasamy): 添加 Ruby on Rails 的配方 PR #59
- Trivikram Kamat (@trivikr): 添加了在 VS Code 中调试 node-tap 测试的配方 PR #128
对 vscode-chrome-debug
的贡献
- Sasha (@stristr): 为高级调试使用可为空的
targetTypes
属性。 PR #727
对 vscode-chrome-debug-core
的贡献
对 localization
的贡献
Transifex VS Code 项目 团队拥有近 1200 名成员,每月约有 100 名活跃贡献者。感谢您通过提供新翻译、投票翻译或建议流程改进的方式做出贡献。
以下是此版本贡献者快照。有关项目详细信息,包括贡献者姓名列表,请访问项目网站:https://aka.ms/vscodeloc。
- 孟加拉语: Anisuzzaman Khan, abm_prottoy, Mushiar Khan, Mehedi Hassan.
- 保加利亚语: Любомир Василев.
- 克罗地亚语: Nikša Mihaica.
- 捷克语: Vít Staniček.
- 丹麦语: Kenneth Greig, Johan Fagerberg, Martin Fruensgaard.
- 荷兰语: Gerald Versluis, Marco van den Hout.
- 法语: Antoine Griffard, MayakoLyyn, Smrman, Etienne Blanc-Coquand.
- 德语: J.M., Carsten Kneip, Volkmar Rigo, SetTrend.
- 希腊语: Nikolaos Maliakkas.
- 印地语: Ashwini Gupta, Shaswat Rungta.
- 匈牙利语: Tar Dániel.
- 简体中文: Joel Yang, 子实 王, pluwen, Chris Pan 潘冬冬, danyeh.
- 繁体中文: Duran Hsieh, Poy Chang, Alan Tsai, Han Lin, Shih-Ming Tung, Will 保哥.
- 印度尼西亚语: G-RiNe Project, Wildan Mubarok, Rizki A. Wibowo, Riwut Libinuko, Azhe-kun, rodin, Febrian Setianto (Feber).
- 意大利语: Luigi Bruno, Luca Bruni, Alessandro Alpi, Emilie Rollandin, Pascal Brax, Andrea Dottor, Riccardo Cappello.
- 日语: Satoshi Kajiura, Shunya Tajima, Yuichi Nukiyama, yoshioms, daisuke osada (daiskeh).
- 韩语: Kyunghee Ko, jaeyeon Kim, Junseong Jang, Jisan Oh.
- 立陶宛语: Martynas Jusys.
- 马拉雅拉姆语: Kiren Paul.
- 挪威语: Espen Klein Nilsen.
- 波兰语: Artur, Patryk Brejdak, Adam Borowski, Mateusz Wyczawski.
- 葡萄牙语(巴西): Roberto Fonseca, Bruno Sonnino, Danilo Dantas, Marcelo Fernandes, Thiago Custodio, Rodrigo Crespi, Marcelo Andrade, Alessandro Fragnani, Lucas Miranda, Otacilio Saraiva Maia Neto.
- 葡萄牙语(葡萄牙): António Santos,Diogo Barros, António Lourenço, jp2masa, Ruben Mateus, Henrique Silva, André Vala.
- 俄语: Ivan Kuzmenko, Roman Slauta.
- 西班牙语: Jorge Serrano Pérez, José M. Aguilar, Alberto Poblacion, Carlos Mendible, Alejandro Medina, Andy Gonzalez,Carlos Herrera.
- 泰米尔语: Vijay Nirmal, rajakvk, Anand AV.
- 土耳其语: Mustafa Turhan, Fırat Payalan, Selim Ata.