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日以来我们所取得的进展:

问题燃尽图

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

问题增加

在这个重要的维护里程碑中,我们处理了几个功能请求,社区的拉取请求也带来了新功能。以下是发布的一些亮点:

如果您想在线阅读这些发布说明,请访问更新code.visualstudio.com上。
您还可以查看这个1.28版本的亮点视频,由云开发者倡导者Brian Clark提供。

内部人员:想要尽快看到新功能吗?您可以下载每晚的内部版本,并在更新可用时立即尝试最新更新。

工作台

默认情况下Windows上的自定义标题和菜单栏

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

Windows上的自定义标题和菜单栏,采用深色主题

每种文件类型的文件图标

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

文件图标

项目级代码片段

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

项目级别代码片段

代码片段现在还支持多个前缀。如果你无法决定你的版权头代码片段应该使用headerstub还是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) 从筛选框聚焦到问题列表。

遥测事件的输出通道

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

将焦点赋予自定义视图

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

自定义视图焦点命令

Linux URL 处理

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

编辑器

Tab 补全

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

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文件中的
  • Emmet: 使用缩写包裹功能不再仅限于扩展名为.html的文件。
  • Emmet: Balance (inward) 功能现在即使没有选择也可以在当前节点上工作。
  • 错误地将SCSS文件中带有#的CSS选择器视为有效缩写的bug现已修复。

源代码控制

更改SCM提交快捷键

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

SCM状态栏跟踪活动文件

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

Git 集成

更好地处理删除冲突

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

保留或删除删除冲突

配置长提交消息警告阈值

git.inputValidationLength 设置现在允许您配置在编辑提交消息时,消息必须达到多长才会出现警告。

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

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

配置分支验证规则

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

运行同步时始终进行变基

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

禁用进度报告

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

强制推送

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

Stash 应用

以下git stash apply命令现在已添加到全局命令面板中:Git: Apply Stash...Git: Apply Latest Stash

始终可见的暂存更改部分

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

可见的暂存更改

终端

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

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

重命名导入路径

意识到导入的文件可以使用更好的名称吗?现在你可以通过重命名导入来重命名引用的文件:

重命名JavaScript导入以重命名文件

转换为异步函数

新的转换为异步函数建议,针对JavaScript和TypeScript,重写了使用.then Promise链的函数,以使用asyncawait

将承诺链转换为异步函数

请注意,此功能需要将设置 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文件中可折叠:

折叠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的版本相比,这是一个巨大的飞跃)。我们计划在不久的将来向我们的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

在七月,我们发布了URI处理程序API,供扩展处理系统范围内的URI。随着最新版本的发布,VS Code甚至可以处理尚未安装的扩展的URI。一旦用户打开这样的URI,VS Code将在市场中搜索该扩展,建议用户安装它,并启动VS Code并传入URI。这使得扩展能够拥有一个流畅的启动流程,将用户从网页带到运行具有特定状态的扩展。

诊断错误代码

由于诊断错误代码现在显示在问题面板中,扩展不再需要将错误代码添加到Diagnostic.message属性中。

更好的配置条件

在编写键绑定或菜单可见性时,使用when clauses。在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的客户端库的小修改,计划在十月份完成。

请注意,这是提议的API,不能用于在市场上发布的扩展中。然而,我们非常感谢您对问题45220DebugConfigurationProvider.provideDebugAdapter的反馈。

评论编辑和删除

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

评论编辑

新命令

Key Command Command id
⌘K ⌘Q (Windows, Linux Ctrl+K Ctrl+Q) Navigate to the last location edited workbench.action.navigateToLastEditLocation
⌘K S (Windows Ctrl+K Ctrl+Shift+S, Linux Ctrl+K S) Save file without running save participants (formatters, etc.) workbench.action.files.saveWithoutFormatting
Close the active file across all editor groups workbench.action.closeEditorInAllGroups
Toggle diff editor inline and side-by-side mode (deprecates toggle.diff.editorMode) toggle.diff.renderSideBySide

新文档

GitHub Pull Request 扩展博客文章

你可以阅读Kenneth最近的博客文章,宣布新的GitHub Pull Request扩展,并讨论VS Code与GitHub编辑器团队之间的合作。

使用 Azure Pipelines 博客文章

使用Azure Pipelines的Visual Studio Code中,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网络应用程序。

显著的修复

  • 48051: 格式化后需要向左滚动
  • 31619: 必须通过删除的代码片段中的制表位进行制表
  • 58327: 调试工具栏按钮被禁用
  • 35935: "清除最近打开的文件" 也应该清除编辑器快速选择历史记录
  • 58799: 保存时显示未命名的文件
  • 29553: 在按下Escape键时保留快速打开输入
  • 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.
  • Chinese Simplified: Joel Yang, 子实 王, pluwen, Chris Pan 潘冬冬, danyeh.
  • Chinese Traditional: Duran Hsieh, Poy Chang, Alan Tsai, Han Lin, Shih-Ming Tung, Will 保哥.
  • 印尼语: G-RiNe 项目, 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.