尝试以扩展 VS Code 中的代理模式!

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 个开放 bug。此外,我们还关闭了 212 个拉取请求。

很高兴看到您如此关心我们的进展。Benjamin Lannon 发布了一个个人网站,其中包含我们主仓库中问题数量的实时追踪器。它很好地展示了我们自 9 月 11 日以来取得的进展

Burn down of issues

它还显示了我们一旦停止关注减少问题时会发生什么。以下是我们为此次发布做准备时上周的最后三天。正如您所看到的,未来我们将进行更多的问题整理迭代。

Increase of issues

在本次整理里程碑中,我们解决了多项功能请求,社区拉取请求也带来了新功能。以下是本次发布的一些亮点

如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新页面。
您还可以观看云开发倡导者 Brian Clark 制作的 1.28 版本亮点视频

Insider 版本:想尽快看到新功能?您可以下载每晚更新的 Insiders 版本,并在新功能可用时立即尝试。

工作台

Windows 上默认启用自定义标题栏和菜单栏

之前发行说明中描述的自定义标题栏和可主题化菜单现在在 Windows 上默认启用。在 Insiders 版本中,过去一个月 "window.titleBarStyle" 设置在 Windows 上一直默认为 "custom",我们现在准备将其作为默认体验。

Custom title and menu bar with a dark theme on Windows

按文件类型显示文件图标

在 macOS 和 Windows 上,VS Code 注册为已知文件类型的默认编辑器。VS Code 现在为一些常见的 VS Code 文件类型提供了自定义图标。当图标大小配置为中等到大时,这些图标将显示在操作系统文件管理器中。对于小图标尺寸,我们决定保留 VS Code 标志作为图标。

File Icons

项目级代码片段

代码片段现在可以限定到项目并与您的团队共享。只需使用首选项:配置用户代码片段命令,或在.vscode文件夹中创建*.code-snippets文件。项目代码片段的功能与其他代码片段类似,它们会显示在 IntelliSense 和插入代码片段操作中,现在它们拥有自己的类别。

Project Level Snippet

代码片段现在还支持多个前缀。如果您无法决定您的版权标题代码片段应该使用headerstubcopyright作为前缀,您可以同时使用它们。只需将字符串数组用作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”)。打开录制按键模式并键入您要搜索的按键组合。

Record Keys

您还可以使用⌥⌘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 - 调试控制台面板

复制相对路径

将文件路径复制为相对路径的命令现在在文件资源管理器和编辑器选项卡的上下文菜单中更突出地显示。

Copy Relative Path

从快速打开中排除最近打开的文件

新的设置search.quickOpen.includeHistory允许您控制最近打开的文件是否应包含在快速打开文件选择器中。默认情况下,最近打开的文件将显示在搜索结果的顶部,工作区中的其他文件显示在其下方。如果您不希望最近打开的文件显示在顶部,可以将此设置更改为false

删除文件时禁用回收站

如果您在从文件管理器删除文件并将其移至操作系统回收站时遇到问题,现在可以将files.enableTrash设置为false,以便在删除时永不使用操作系统回收站。这样做将使文件资源管理器上的删除操作和键绑定绕过操作系统回收站并永久删除。在删除发生之前,您仍然会看到提示。

如果检测到工作区文件,则提示打开

当打开一个根目录下包含一个或多个.code-workspace文件的文件夹时,VS Code 现在会显示通知,询问您是否希望改为打开工作区文件。打开工作区文件通常会比仅打开文件夹提供更好的体验。您可以在我们的文档中了解更多关于多根工作区的信息。

Workspace file prompt

重新打开文件时不恢复视图状态

VS Code 始终会记住文件的视图状态(光标位置、折叠部分等),即使在文件关闭后也是如此。现在有一个新设置workbench.editor.restoreViewState,可以在文件关闭时丢弃此视图状态。这允许您在重新打开文件后始终从文件顶部开始。

关闭所有编辑器组中的文件

新的命令关闭所有组中的编辑器workbench.action.closeEditorInAllGroups)允许您关闭所有编辑器组中当前活动的文件。

问题面板

显示错误代码

问题面板现在会显示问题的错误代码(如果有)。

Problems panel shows error codes

改进的键盘导航

问题面板变得更加键盘友好

  • 当面板获得焦点时,您可以开始输入以进行筛选。
  • 您可以使用⌘F (Windows, Linux Ctrl+F) 将焦点移至筛选框,并使用⌘↓ (Windows, Linux Ctrl+Down) 将焦点从筛选框移至问题列表。

遥测事件的输出通道

在 7 月份的版本中,我们添加了一个功能,当您使用开发者:设置日志级别...命令将日志级别设置为跟踪时,VS Code 发送的所有遥测事件也会记录到本地文件中。您现在可以在输出面板的日志(遥测)通道中查看此文件的内容。与以前一样,您可以使用开发者:打开日志文件...命令直接查看文件。

将焦点移至自定义视图

您现在可以使用命令将焦点移至自定义视图。每个自定义视图都提供了一个单独的命令。

Custom view focus commands

Linux URL 处理

曾是 Windows 和 macOS 独有的功能,现在您也可以在 Linux 上打开 VS Code URL!这些 URL 对于许多不同功能非常有用,例如自动安装扩展,例如vscode-insiders:extension/vscodevim.vim

编辑器

Tab 补全

编辑器 Tab 补全现在可以完成各种建议。将"editor.tabCompletion"设置为"on"后,按Tab键将补全任何前缀,而不仅仅是代码片段。此外,按Tab将插入下一个建议,按⇧Tab (Windows, Linux Shift+Tab)将插入上一个建议。

Tab completion

导航到上次编辑位置

添加了一个新命令转到上次编辑位置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 列表的顶部。

Locality bonus

Emmet

本次迭代我们对 Emmet 功能进行了一些改进

  • 如果您在 JavaScript 文件中启用了 Emmet,那么现在可以在 HTML 文件中的<script>标签内进行 Emmet 缩写展开。
  • Emmet:用缩写包裹功能不再仅限于.html扩展名的文件。
  • Emmet:平衡(向内)功能现在即使没有选择也能作用于当前节点。
  • 在 SCSS 文件中错误地将带有#的 CSS 选择器视为有效缩写的问题已修复

源代码管理

更改 SCM 提交键绑定

您现在可以使用scm.acceptInput命令更改在 SCM 视图中接受提交消息的默认键绑定。

SCM 状态栏跟踪活动文件

左下角的 SCM 状态栏现在会跟踪当前活动文件所属的仓库。这减少了在多文件夹工作区中编辑文件时的混淆。

Git 集成

更好地处理删除冲突

VS Code 一直能够检测到删除冲突。现在有了更好的 UI 流程来处理它们,当您打开更改时,您将看到未删除的版本,并且您可以决定在暂存文件时如何处理它:保留或删除。

Keep or delete deletion conflicts

配置长提交消息警告阈值

git.inputValidationLength设置现在允许您配置提交消息在编辑时显示警告之前的长度。

在 'git init' 后将文件夹添加到工作区

初始化 Git 仓库后,VS Code 现在会询问您是否希望将其添加到当前工作区。

配置分支验证规则

您现在可以使用强大的git.branchValidationRegexgit.branchWhitespaceChar设置来控制分支名称验证的工作方式。有关更多详细信息,请参见问题50241

运行同步时始终 rebase

git.rebaseWhenSync设置将允许您配置同步命令,使其在运行时始终使用 rebase 而不是 merge。

禁用进度报告

通过git.showProgress设置,您现在可以在 Git 操作期间禁用进度显示。

强制推送 (--force)

在您日常的开发工作中,有时您可能想冒一下险。运行git push --force就是一个很好的例子!VS Code 现在允许您强制推送提交到远程仓库,而无需进入终端。使用git.allowForcePushgit.useForcePushWithLeasegit.confirmForcePush设置来控制此行为。有关更多详细信息,请参见问题53286

暂存应用

以下git stash apply命令现在在全球命令面板中提供:Git: 应用暂存...Git: 应用最新暂存

始终可见的暂存更改部分

您现在可以使用git.alwaysShowStagedChangesResourceGroup设置,即使为空,也能在 SCM 视图中始终保持暂存更改部分可见

Staged changes visible

终端

定义键绑定以发送自定义序列

已添加新命令workbench.action.terminal.sendSequence,它允许您直接向活动终端发送自定义序列。这允许使用\u格式发送 Unicode 字符,例如发送箭头键、回车键等。

{
  "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。此版本带来了新的语言特性,例如可映射元组和数组类型,以及多项工具改进和错误修复。

重命名导入路径

意识到导入的文件可以使用更好的名称?现在您只需通过重命名导入即可重命名引用的文件

Renaming an JavaScript import to rename a file

转换为 async 函数

JavaScript 和 TypeScript 的新转换为 async 函数建议会将使用.then Promise 链的函数重写为使用asyncawait

Converting a promise chain to an async function

请注意,此功能要求将设置javascript.validate.enable设置为 true。

JS/TS 建议的新设置

我们清理了 JavaScript 和 TypeScript 建议的设置名称,并添加了一些提供更精细控制的新设置

  • 所有与建议相关的设置现在都在javascript.suggest.*typescript.suggest.*下。
  • typescript.useCodeSnippetOnMethodSuggest已重命名为javascript.suggest.completeFunctionCallstypescript.suggest.completeFunctionCalls
  • javascript.nameSuggestions已重命名为javascript.suggest.names
  • typescript.autoImportSuggestions.enabled已重命名为javascript.suggest.autoImportstypescriptscript.suggest.autoImports
  • 新的javascript.suggest.enabledtypescript.suggest.enabled允许您完全禁用 JS 或 TS 建议。

分号作为 JS/TS 的提交字符

分号现在是 JavaScript 和 TypeScript 建议的提交字符。这意味着您只需键入;即可接受当前建议。现有提交字符还包括.(

您可以通过将"editor.acceptSuggestionOnCommitCharacter"设置为false来禁用提交字符。

HTML 和 CSS 路径补全排除点文件

.开头的文件现在已从路径补全结果中排除。

更好的 Markdown 折叠

多行列表、围栏代码块和原始 HTML 现在在 Markdown 文件中可折叠

Folding Markdown code blocks and lists

在 Markdown 预览中,单击指向本地文件的链接现在将打开该文件的预览

Local file link open in preview

这使得浏览文档更加容易。使用markdown.preview.openMarkdownLinks设置来配置链接的处理方式。有效设置值为

  • inEditor - 在编辑器中打开本地 Markdown 链接。
  • inPreview - 在当前预览中打开本地 Markdown 链接。这是新的默认行为。

扩展

搜索筛选改进

您现在可以使用@category筛选器以及其他已安装扩展的筛选器(如@installed@enabled@disabled@outdated)来组合您的扩展搜索查询。例如,您可以使用查询@installed @category:themes搜索已安装的主题,或使用@installed @category:snippets搜索贡献代码片段的已安装扩展。

禁用扩展不计为过时

活动栏中用于扩展视图的徽章(显示过时扩展数量)现在将排除已禁用的扩展。此徽章的目的是让您知道有您可能想要更新的过时扩展。由于当前未在使用已禁用的扩展,将其包含在计数中只会造成干扰。

扩展主机无响应

VS Code 在一个名为扩展主机的单独进程中执行扩展。此进程使用消息传递与渲染器/UI 进程通信。我们已改进对扩展主机消息的跟踪,如果消息在 10 秒内未得到确认,我们将显示以下通知

Extension Host Unresponsive

这意味着什么:很可能某个扩展正在执行 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 的版本相比,这是一个巨大的飞跃)。我们计划在近期向 Insiders 用户推出此更新,以收集更多反馈。如果您有兴趣提供帮助,请务必安装 VS Code Insiders

杂项

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

早在 7 月,我们发布了 URI 处理程序 API,允许扩展处理系统范围的 URI。通过最新版本,VS Code 甚至可以处理尚未安装的扩展的 URI。一旦用户打开此类 URI,VS Code 将在 Marketplace 中搜索该扩展,建议用户安装它,然后启动 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.excludesearch.excludesearch.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 所需的操作:

  • 您必须使用 Insiders 版本,因为提议的 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,不能用于在 Marketplace 上发布的扩展。但是,我们非常感谢您就问题45220DebugConfigurationProvider.provideDebugAdapter提供反馈。

评论编辑和删除

在上次迭代中,我们引入了DocumentCommentProvider以允许扩展在编辑器中创建和管理评论。我们已向此提供程序添加了新方法,以支持评论的编辑和删除。评论本身现在也具有标志,指示它们是否支持编辑或删除。如果扩展设置了其中一个标志并提供了相应的编辑或删除方法,则在将鼠标悬停或聚焦于编辑器中的评论时,将显示编辑或删除评论的操作

Comment editing

新命令

命令 命令 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:在按下 Esc 时保留快速打开输入
  • 58222:UriDisplayService 缺少远程共享路径名
  • 54213:中止调试启动而不显示 launch.json 的机制
  • 52511:调试悬停小部件 - 启用长项目(溢出隐藏)的小部件大小调整
  • 50569:如果断点已禁用,条件断点提示应提供启用断点
  • 42737:扩展:允许右键单击以调出齿轮菜单
  • 58434:使用--force参数在从 CLI 安装扩展时防止提示。

感谢

最后但同样重要的是,衷心感谢!以下帮助使 VS Code 变得更好的各位:

vscode 的贡献

language-server-protocol 的贡献

vscode-languageserver-node 的贡献

debug-adapter-protocol 的贡献

vscode-recipes 的贡献

vscode-chrome-debug 的贡献

vscode-chrome-debug-core 的贡献

  • @digeff
    • 更新日志记录机制以不记录源 PR #355
    • 修复 Chrome 69 第一行断点 PR #352
    • 修复加载时中断以使附加断点工作 PR #332

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.