October 2018 (version 1.29)

更新1.29.1 :此更新解决了这些问题 .

下载:Windows: 用户 系统 | Mac | Linux 64位: deb rpm tarball | Linux 32位: deb rpm tarball


欢迎使用Visual Studio Code的2018年10月版. 我们希望您喜欢此版本中的许多重要更新,其中一些重要的重点包括:

如果您想在线阅读这些发行说明,请访问code.visualstudio.com上的更新 .
您也可以查看来自Cloud Developer Advocate Brian Clark的 1.29版本重点视频 .

在与VS Code重点领域相关的以下各节中安排了发行说明. 以下是一些进一步的更新:

  • 工作台 -特定于平台的行尾字符,突出显示已修改的文件选项卡.
  • 集成终端 -拆分终端cwd选项,将Cmd + Backspace删除以删除到行首.
  • 语言 -悬停时显示CSS特异性,处理未知的CSS属性.
  • 调试 -多个调试控制台,从停止输入开始,样式为console.log消息.
  • 扩展创作 -活动终端API,可更好地控制自定义视图.

有问必答:希望尽快看到新功能? 您可以下载每晚的Insiders内部版本,并在可用时立即尝试最新更新. 有关最新的Visual Studio Code新闻,更新和内容,请在Twitter @code上关注我们!

VS Code现在支持多行搜索! 与编辑器相同,仅当正则表达式搜索包含\n文字时,才以多行模式执行. "搜索"视图在每个多行匹配项旁边显示一个提示,以及其他匹配项的数量.

Multiline search

由于在ripgrep工具中完成了多行搜索,这项功能得以实现.

现在,通过设置"search.usePCRE2": true ,还可以在正则表达式搜索中使用反向引用超前断言. 这会将ripgrep配置为使用PCRE2正则表达式引擎. 尽管PCRE2支持许多其他功能,但我们仅支持在JavaScript中仍然有效的正则表达式,因为仍使用基于JavaScript的搜索来搜索开放式编辑器.

Fancy regex search

如果您仍然缺少后置断言,请不要担心! JavaScript刚刚支持了该功能,并且在以后的Electron Shell更新中,VS Code应该会使用该功能.

我们添加了一个设置search.showLineNumbers ,它将在"搜索"视图中显示每个匹配项的行号.

Disable search and replace preview

有一个新设置search.useReplacePreview ,它允许您禁用在"搜索"视图中执行搜索/替换时出现的预览差异.

line numbers

Git允许您使用core.excludesfile config属性配置全局gitignore文件. 默认情况下,搜索不遵守全局gitignore文件,但是您现在可以通过启用新设置search.useGlobalIgnoreFiles来更改它.

Workbench

macOS Mojave Dark Mode support

VS Code现在更好地支持macOS Mojave暗模式. 以前,即使macOS以深色主题运行,VS Code菜单和对话框也将以默认的浅色主题显示. 现在,如果启用,所有本机UI元素将以暗模式显示.

macOS Mojave Dark Mode

macOS full screen support

引入了一个新的设置window.nativeFullScreen ,如果将其设置为false ,则将为不使用本机macOS全屏功能的VS Code启用全屏模式. 这样做的好处是进入全屏模式不会在桌面上创建macOS空间. 默认情况下,VS Code仍将使用macOS本机全屏显示.

New default for files.eol: auto

现在, files.eol行尾设置具有新的默认值auto . 设置为auto ,新文件的行尾字符特定于操作系统. 在Windows上为\r\n ,在macOS和Linux上为\n . 您仍然可以将file.eol显式设置为\n\r\n .

Highlight modified tabs

每当编辑器变脏(有未保存的更改)时,新的设置workbench.editor.highlightModifiedTabs就会在编辑器选项卡的顶部显示一个粗边框. 这样可以更轻松地查找需要保存的文件. 边框的颜色可以自定义(请参见下文).

Highlight modified tabs

Centered editor layout auto resize

现在,当打开多个编辑器组时,居中布局视图将自动调整为最大宽度. 这应该使居中布局更易于使用,并且需要较少的手动切换. 此行为由新设置workbench.editor.centeredLayoutAutoResize控制,该设置默认为启用.

Symbol order in Breadcrumbs

有一个新设置可控制面包屑选取器中的符号排序方式: breadcrumbs.symbolSortOrder .

允许的值为:

  • position文件中的位置(默认)
  • name -字母顺序
  • type -符号类型顺序

下面的示例显示按名称排序的面包屑符号列表:

Breadcrumb picker ordered by name

Breadcrumbs and preview editors

在"面包屑"导航中单击鼠标中键时,它们现在会在新的编辑器中打开,并且不会重复使用预览编辑器. 现在,此行为与资源管理器中的单击中间文件匹配.

Notifications automatically hide even when showing buttons

以前,如果VS Code包含按钮,它们将永远不会隐藏通知. 这导致通知可能堆积在右下角并覆盖了编辑器的各个部分. 在此版本中,即使显示了按钮,通知也会在超时后隐藏.

有两个例外:

  • 假设用户需要采取某些措施,则不会隐藏具有error严重性的通知.
  • VS Code的一些特定通知将保持打开状态. 例如,在浏览VS Code Marketplace后询问您是否要安装扩展的通知.

注意:即使隐藏了通知,您也可以始终从通知中心访问所有通知,方法是单击状态栏中的小铃铛图标,或通过显示通知notifications.toggleList )命令.

Panel position button to context menu

为了保留水平空间并减少混乱,我们从"面板"标题区域中删除了"切换面板位置"按钮(" 移至右侧" ," 移至底部" ). 现在,该操作在"面板标题区域"上下文菜单以及" 视图" >" 外观" >" 切换面板位置"主菜单中可用. 删除此按钮的另一个原因是,我们认为用户只需设置一次布局,通常就不会来回切换.

Move panel

Updated file icons per file type

以前的版本中 ,我们为常见的VS Code文件类型添加了自定义图标. 现在,我们将这些图标添加到了较小的视图中,以便它们将显示在列表视图中.

Updated file icons

在"设置"编辑器中,当在当前选定范围之外的范围(用户,工作区)中配置设置时,我们将显示提示. 另一个作用域提示现在是一个链接,它将带您进入另一个作用域中的设置.

modified in link

Tree widget performance

VS Code树小部件控件在VS Code UI中的许多地方都使用过,但在某些特定用例("问题"面板,"大纲"视图)中达到了性能极限. 我们一直在研究更快的虚拟树小部件实现,可以实现不同级别的性能以及API便利性. 您可以在这里阅读以了解更多信息.

现在,"问题"面板中正在使用新的ObjectTree小部件,我们已经看到了重大改进. 我们能够极大地增加工作台可以处理的问题项目的数量,并提高某些操作(如Collapse All )和高级筛选方案的速度. 现在,这些改进使处理更大的馆藏变得可行.

Workbench navigation commands

添加了四个命令来改善工作台导航:

  • workbench.action.nextSideBarView :转到侧边栏中的下一个视图.
  • workbench.action.previousSideBarView :转到边栏中的上一个视图.
  • workbench.action.nextPanelView :转到下一个面板.
  • workbench.action.previousPanelView :转到上一个面板.

默认情况下,这些命令没有键盘快捷键.

还添加了两个上下文键, sideBarFocuspanelFocus . 这允许对不同工作台区域中的不同命令使用相同的键绑定:

[
  { "key": "cmd+]", "command": "workbench.action.nextEditor" },
  { "key": "cmd+[", "command": "workbench.action.previousEditor" },
  {
    "key": "cmd+]",
    "command": "workbench.action.nextSideBarView",
    "when": "sideBarFocus"
  },
  {
    "key": "cmd+[",
    "command": "workbench.action.previousSideBarView",
    "when": "sideBarFocus"
  },
  {
    "key": "cmd+]",
    "command": "workbench.action.nextPanelView",
    "when": "panelFocus"
  },
  {
    "key": "cmd+[",
    "command": "workbench.action.previousPanelView",
    "when": "panelFocus"
  }
]

workbench-navigation

Show view group parent

现在," 打开视图"命令("快速打开"中的view )将显示每个视图组的父级,以更好地表示视图层次结构. 例如,Explorer组现在显示为Side Bar / Explorer ,Terminal组显示为Panel / Terminal .

structured-view

Editor

File and folder icons in IntelliSense

IntelliSense小部件现在会根据"文件图标"主题显示文件和文件夹图标,以完成文件. 这提供了统一的外观,并帮助您快速识别不同的文件类型.

File Icons in IntelliSense

Format Selection

为了加快小型格式化操作的速度,不带编辑器选择的格式化选择命令现在将格式化当前行.

Show error codes

现在,如果定义了错误代码,则编辑器将显示问题的错误代码. 错误代码显示在该行的末尾方括号中.

在下面,您可以看到TypeScript显示错误代码'2339':

error codes

Integrated Terminal

Split terminal can inherit working directory

添加了一个设置terminal.integrated.splitCwd ,以在拆分终端时控制新终端的当前工作目录(cwd):

  • workspaceRoot先前的行为; 一个新的拆分终端将使用工作区根作为工作目录. 在多根工作区中,提供使用哪个根文件夹的选择.
  • initial新的拆分终端将使用父终端开始的工作目录.
  • inherited -在macOS和Linux上,新的拆分终端将使用父终端的工作目录. 在Windows上,其行为与initial相同.

Cmd+Backspace to delete to the start of the line

在macOS上为Cmd+Backspace添加了新的键绑定,该键绑定将\u0015 (Ctrl + U)发送到终端. 在bash中,这将从光标删除到行的开头,在zsh中,它删除整行.

Experimental buffer improvements

新设置的terminal.integrated.experimentalBufferImpl允许更改终端将其缓冲区存储到基于TypedArray / ArrayBuffer的实现中的方式. 如果您愿意加入,则可以期望全面提高性能,包括减少内存使用量和垃圾回收,并全面提高终端的吞吐量.

{
  "terminal.integrated.experimentalBufferImpl": "TypedArray"
}

这仅仅是开始,我们期望在将其设置为默认实现之前,在接下来的两个版本中进一步提高吞吐量和内存使用率. 特别感谢@jerchxterm.js队,谁一直在这背后的主要驱动力多月的项目 .

Tasks

Clear terminal before executing task

新的属性clear已添加到任务presentation配置. 将clear属性设置为true以在运行任务之前清除终端.

Debugging

Collapsible stack frames

有时,调试器中的调用堆栈包含用户不感兴趣的堆栈帧(外部代码,跳过的文件等). 为了减少混乱并节省垂直空间,我们现在将那些无趣的堆栈帧渲染为折叠状态.

stack frames

Improved Loaded Scripts view

在此里程碑中,我们更新了" 加载的脚本"视图以支持文件图标,并添加了将相关资源显示为子元素的功能. 调试扩展可以使用此功能来显示已转换为脚本的源文件.

以下来自Node.js调试器的图片显示了JavaScript文件的TypeScript源(在源映射中可用):

loaded scripts view

请注意,相关资源功能需要调试扩展选择加入. 在十月份的发行版中,只有node-debug对<8.0版的Node.js版本(即旧版)提供了对该功能的实验性支持.

Multiple debug consoles

When debugging multiple debug sessions, we now show their output in different debug consoles. This makes it easier to distinguish which debug session is responsible for which output and evaluation.

multiple debug consoles

Start debugging with stop on entry

对于Node.js调试,我们添加了新命令Debug:启动调试并在进入时停止extension.node-debug.startWithStopOnEntry ). 如果要开始调试并立即停止程序进入,请使用此命令. 默认的键绑定是F11 (Windows,Linux F10 . 请注意,仅当您选择的启动配置为node类型时,is命令才可用.

Node debugging supports console.log styling

现在,在调试Node.js(或使用" Chrome调试器"扩展程序的Chrome)时,您可以使用%c来设置console.log消息的样式,类似于Chrome DevTools支持的样式. 支持的属性是colorbackgroundfont-weight: boldtext-decoration: underline .

console styles

Breakpoint widget expands to multiple lines

The Breakpoint widget can now expand to multiple lines, use Shift+Enter to insert an additional line, or simply paste a multiline condition or log message. This should help when editing more complex conditions and log messages.

breakpoint widget

Languages

TypeScript 3.1.4

此版本包括TypeScript 3.1.4,这是一个小的更新, 修复了一些重要的错误 .

Markdown snippet improvements

内置的Markdown片段(例如链接和代码块的片段)现在默认使用当前选定的文本. 这使您可以创建将当前选定的文本转换为链接或标题的键绑定

{
  "key": "cmd+k",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "langId": "markdown",
    "name": "Insert link"
  }
}

CSS Specificity in hover message

CSS悬停现在向您显示CSS 特异性 .

css-specificity

Handle unknown CSS properties

通过CSS预处理器(如PostCSS) ,您可能会使用无效的属性,这些无效的属性会在开发期间编译为有效的属性. [css/less/scss].lint.validProperties设置可防止VS Code将那些无效的属性标记为错误的.

Improved CSS zero unit warning

CSS现在可以减少CSS速记属性值中使用的零单位 . 例如, 0px现在将引发警告.

Graceful handling of JSON schema loading error

如果VS Code无法下载用于IntelliSense的JSON模式或无法对JSON文件进行错误检查,则状态栏中将显示警告:

json-schema-loading

过去,您会在编辑器中看到错误.

Engineering

Continued Electron 3.0 exploration

在这个里程碑期间,我们继续探索将Electron 3.0.0捆绑到VS Code中. 这是Electron的主要版本,并带有Chrome 66和Node.js 10.x(与我们当前具有Chrome 61和Node.js 8.x的版本相比,是一个重大的飞跃). 我们计划在不久的将来向内部人员发布更新,以收集更多反馈. 如果您有兴趣提供帮助,请确保安装VS Code Insiders .

Strict null checking core VS Code

这个里程碑,我们也开始着手在核心VS Code源中启用TypeScript的严格null检查 . 严格的null检查有助于捕获许多常见的编程错误,并使程序员的意图更加明确. 我们已经看到对VS Code的内置扩展使用严格的空检查会带来明显的好处.

由于VS Code的核心源包含数千个文件,因此我们逐渐采用严格的null检查. 我们从没有导入的严格空检查文件开始,现在迭代地在仅导入其他严格空检查文件的文件中启用严格空检查. 这将一直持续到整个代码库都转换完为止.

启用严格的null检查是一项重大的工程工作,但我们认为从源代码和产品质量上获得回报是值得的. 您可以在此处跟踪我们严格的null检查进度.

Miscellaneous

Low contrast menu bar

如果您使用的是Ubuntu 18.10或将亮或暗上下文菜单与应用程序菜单栏的相反主题混合在一起的GTK主题,则可能会遇到难以阅读的低对比度菜单栏.

有两种可能的解决方法:

  • 通过将window.titleBarStyle设置为custom尝试使用VS Code自定义标题栏样式.
  • 更改您的GTK主题. 您可以通过安装Gnome Tweaks应用程序并使用以前的默认主题Adwaita .

可以在版本62593中跟踪有关此问题的信息.

Electron update

在此版本中,我们从Electron 2.0.9更新至2.0.12.

Preview Features

预览功能尚未准备发布,但足以使用. 我们欢迎您在开发过程中提早提供反馈.

References View

有一个新命令" 查找所有参考" ,该命令显示专用的侧栏视图,显示参考搜索结果. 这是对现有Peek视图演示文稿的补充,并提供了更稳定的参考列表. 在上下文菜单中,选择" 查找所有引用"⇧⌥F12 (Windows,Linux Shift + Alt + F12 ),并且引用与搜索结果一样显示在单独的视图中.

References View

结果是稳定的,可以清除单个结果,如果您将该视图用作"待办事项"列表,则效果很好. 您可以使用F4⇧F4 (Windows,Linux Shift + F4浏览结果,而无需松开键盘.

让我们知道您的想法,我们将在下一次更新中完善您的体验.

Extension Authoring

Normalized extension samples

The VS Code extension samples at vscode-extension-samples have been updated for consistency.

每个扩展示例现在包括:

  • 统一的编码样式和结构.
  • 一个自述文件,以简短的动画说明了示例的功能.
  • A listing of the vscode API or Contribution Points used in each sample.

Bundling extensions

捆绑的扩展程序加载速度更快. 因此,我们创建了一个示例,展示了如何对扩展进行webpack .

Develop extensions without requiring a publisher

为了简化初始扩展开发,已从Yeoman Extension Generator模板中删除了publisher字段. 对于没有publisher标识符的扩展,VS Code现在以undefined_publisher作为发布者来加载它们. 但是,如果您在尝试将扩展发布到Marketplace时缺少有效的发布者,则vsce发布工具会警告您.

Active terminal APIs

提议的可访问活动终端window.activeTerminalwindow.onDidChangeActiveTerminal API现在稳定.

Notifications with buttons hide after a timeout

如果您的扩展程序使用带非模式选项和按钮的showInformationMessageshowWarningMessage API,请注意,这些通知现在将在特定超时后隐藏. 仅通过showErrorMessage触发并具有按钮的通知将保持打开状态. 如果必须立即从用户那里输入信息,或者需要突出显示一条消息,则仍然可以使用modal: true作为选项. 这将弹出一个模式对话框,阻止用户执行任何操作,直到被解雇为止. 但是,我们不鼓励过度使用此选项,因为它会打扰用户.

Custom views: Expand revealed elements

现在,您可以使用reveal API中的expand选项来expand要显示的元素. 它还通过传递级别数来支持递归扩展子元素.

注意:您最多只能扩展到3个级别.

/**
 * Reveals the given element in the tree view.
 * If the tree view is not visible then the tree view is shown and element is revealed.
 *
 * By default revealed element is selected.
 * In order to not to select, set the option `select` to `false`.
 * In order to focus, set the option `focus` to `true`.
 * In order to expand the revealed element, set the option `expand` to `true`. To expand recursively set `expand` to the number of levels to expand.
 * **NOTE:** You can expand only to 3 levels maximum.
 *
 * **NOTE:** [TreeDataProvider](#_TreeDataProvider) is required to implement [getParent](#_TreeDataProvider.getParent) method to access this API.
 */
reveal(element: T, options?: { select?: boolean, focus?: boolean, expand?: boolean | number }): Thenable<void>;

New theme colors

有新的主题颜色:

  • tab.activeModifiedBorder :活动组中已修改(脏)活动选项卡顶部的边框.
  • tab.inactiveModifiedBorder :活动组中已修改(脏)的非活动选项卡顶部的边框.
  • tab.unfocusedActiveModifiedBorder :未聚焦组中已修改(脏)的活动选项卡顶部的边框.
  • tab.unfocusedInactiveModifiedBorder :未聚焦的组中已修改(脏)的非活动选项卡顶部的边框.
  • editor.stackFrameHighlightBackground :编辑器中顶部调试堆栈框架突出显示的背景颜色. 默认情况下,此颜色为黄色.
  • editor.focusedStackFrameHighlightBackground :编辑器中聚焦调试堆栈框架突出显示的背景颜色. 默认情况下,此颜色为绿色.

Git extension API additions

Git扩展API已更新,以显示每个存储库实际更改的详细信息.

此外,还公开了以下方法:

Using Azure Pipelines for extension CI

我们已经更新了有关如何使用Azure Pipelines 为您的扩展程序设置持续集成解决方案的文档. 新指南提供了一种配置,您可以使用该配置在Windows,macOS和Linux上同时运行扩展测试.

Azure Pipelines CI results

Proposed Extension APIs

每个里程碑都随附了新提议的API,扩展作者可以尝试一下. 一如既往,我们热切希望收到您的反馈. 您必须尝试以下提议的API:

  • 您必须使用Insiders,因为建议的API经常更改.
  • 您的扩展程序的package.json文件中必须包含以下行: "enableProposedApi": true .
  • 将最新版本的vscode.proposed.d.ts文件复制到您的项目中.

请注意,您无法发布使用建议的API的扩展. 我们可能会在下一个版本中进行重大更改,而我们永远也不想破坏现有的扩展.

Clipboard API

我们建议使用API​​来访问剪贴板. 它遵循即将面世的浏览器Clipboard API,目前允许读取和写入文本:

export interface Clipboard {
  readText(): Thenable<string>;
  writeText(value: string): Thenable<void>;
}
export namespace env {
  const clipboard: Clipboard;
}

Completion text insert rules

提出了一个新的API,用于修改完成项的插入行为. 默认情况下,多行补全被"重新格式化"以匹配当前行的缩进. 有时,这种缩进是不需要的,新提议的API允许完成以将其关闭. CompletionItemInsertTextRule是一个位掩码,具有可以设置CompletionItemInsertTextRule全的KeepWhitespace规则.

Custom views

收起所有动作

您可以通过在创建TreeView时将showCollapseAll选项设置为true来向视图添加" 折叠全部"操作.

/**
 * Options for creating a [TreeView](#_TreeView]
 */
export interface TreeViewOptions<T> {
  /**
   * A data provider that provides tree data.
   */
  treeDataProvider: TreeDataProvider<T>;

  /**
   * Whether to show collapse all action or not.
   */
  showCollapseAll?: boolean;
}

namespace window {
  export function createTreeView<T>(
    viewId: string,
    options: TreeViewOptions<T>
  ): TreeView<T>;
}

VS Code提供" 全部折叠"功能,并为所有选择的视图显示相同的图标和位置.

Collapse All

TreeItem标签突出显示

您可以通过使用TreeItem选项提供范围来highlights TreeItem标签. 由于它是建议的API,因此您必须使用TreeItem2更新突出显示.

/**
 * Label describing the [Tree item](#_TreeItem)
 */
export interface TreeItemLabel {
  /**
   * A human-readable string describing the [Tree item](#_TreeItem).
   */
  label: string;

  /**
   * Ranges in the label to highlight. A range is defined as a tuple of two number where the
   * first is the inclusive start index and the second the exclusive end index
   */
  highlights?: [number, number][];
}

export class TreeItem2 extends TreeItem {
  /**
   * Label describing this item. When `falsy`, it is derived from [resourceUri](#_TreeItem.resourceUri).
   */
  label?: string | TreeItemLabel | /* for compilation */ any;

  /**
   * @param label Label describing this item
   * @param collapsibleState [TreeItemCollapsibleState](#_TreeItemCollapsibleState) of the tree item. Default is [TreeItemCollapsibleState.None](#_TreeItemCollapsibleState.None)
   */
  constructor(label: TreeItemLabel, collapsibleState?: TreeItemCollapsibleState);
}

Label highlights

Hide Source Control input box

SourceControlInputBox实例上有一个新的建议的API属性,可让您隐藏源控件提供程序UI视图顶部的输入框.

export interface SourceControlInputBox {
  /**
   * Controls whether the input box is visible (default is  true`).
   */
  visible: boolean;
}

SignatureHelpContext

建议的 SignatureHelpContextSignatureHelpProviders提供有关为何请求签名帮助的其他信息:

export interface SignatureHelpProvider {
  provideSignatureHelp(
    document: TextDocument,
    position: Position,
    token: CancellationToken,
    context: SignatureHelpContext
  ): ProviderResult<SignatureHelp>;
}

The SignatureHelpContext includes:

  • 什么动作导致签名帮助被触发
  • 触发字符(如果有)
  • 这是重新触发吗? (签名帮助已经显示)
/**
 * Contains additional information about the context in which a
 * [signature help provider](#_SignatureHelpProvider.provideSignatureHelp) is triggered.
 */
export interface SignatureHelpContext {
  /**
   * Action that caused signature help to be requested.
   */
  readonly triggerReason: SignatureHelpTriggerReason;

  /**
   * Character that caused signature help to be requested.
   *
   * This is `undefined` when signature help is not triggered by typing, such as when invoking signature help
   * or when moving the cursor.
   */
  readonly triggerCharacter?: string;

  /**
   * Whether or not signature help was previously showing when triggered.
   *
   * Retriggers occur when the signature help is already active and can be caused by typing a trigger character
   * or by a cursor move.
   */
  readonly isRetrigger: boolean;
}

/**
 * How a [Signature provider](#_SignatureHelpProvider) was triggered
 */
export enum SignatureHelpTriggerReason {
  /**
   * Signature help was invoked manually by the user or by a command.
   */
  Invoke = 1,

  /**
   * Signature help was triggered by a trigger character.
   */
  TriggerCharacter = 2,

  /**
   * Signature help was triggered by the cursor moving or by the document content changing.
   */
  ContentChange = 3
}

此外,该提案允许SignatureHelpProvider与一组登记triggerCharacters和一组不同的retriggerCharacters

export interface SignatureHelpProviderMetadata {
  readonly triggerCharacters: ReadonlyArray<string>;
  readonly retriggerCharacters: ReadonlyArray<string>;
}

namespace languages {
  export function registerSignatureHelpProvider(
    selector: DocumentSelector,
    provider: SignatureHelpProvider,
    metadata: SignatureHelpProviderMetadata
  ): Disposable;
}

retriggerCharacters仅在已经显示签名帮助的情况下才导致调用签名帮助提供程序.

Contributions to Extensions

我们的团队维护或贡献了许多VS Code扩展. 本月最值得注意的是:

Go

以下是在Go 1.11中使用新的Go模块Go扩展现在支持的一些关键功能:

  • 代码导航(转到定义,签名帮助,悬停时的符号信息)
  • 代码完成
  • 代码覆盖率
  • 代码诊断
  • 与软件包相关的命令,例如Go:添加导入Go:浏览软件包

有关更多详细信息,请阅读Visual Studio Code中Go模块支持上的Wiki.

Go扩展程序中的其他显着功能包括:

  • Windows现在也支持Sourcegraph的Language Server.
  • 现在,自动完成小部件将显示建议符号的文档. 按⌃Space键 (Windows,Linux Ctrl + Space展开/折叠自动完成窗口小部件的详细信息部分.
  • 现在,在交叉编译时支持自动完成. 当您在Go 1.11中尝试新的WebAssembly支持时,这特别有用.
  • 现在,"调试"视图的"变量"窗格中提供了带有" 复制值" ," 复制为表达式"和" 添加到监视"选项的上下文菜单.
  • 选择仅将当前文件保存在文件保存中.

TypeScript TSLint plugin

新的TypeScript TSLint插件使TSLint成为TypeScript语言服务插件. 这些插件可在使用TypeScript语言服务的任何编辑器中使用,包括VS Code,Visual Studio,Atom和Sublime Text.

我们还提供捆绑了TypeScript TSLint插件的扩展程序 ,因此您无需在工作区中配置插件.

GitHub Pull Requests

我们致力于改进GitHub Pull Requests扩展这一里程碑. 该扩展程序现在支持在编辑器内和描述页面上编辑和删除注释,并且可以更好地缓存尚未提交的注释. 您可以在此处阅读扩展的完整发行说明.

New Documentation

Deploy Python tutorials

有两个新的Python教程,展示了如何使用VS Code部署Python Web应用程序.

Debugging recipes

有针对PHPPythonRuby on Rails的新VS Code调试食谱 .

Notable Fixes

  • 54214 :即使构建失败,vscode中的startDebugging方法仍然返回true
  • 57289 :设置用户界面应记住重新加载时的搜索
  • 57321 :当设置搜索未返回结果时,显示"清除搜索"和"清除过滤器"按钮
  • 59305 :在.code-workspace文件中显示"打开工作区"按钮
  • 59430 :无法再中断节点内部文件
  • 61711 :所有断点未经验证
  • 62085 :debugAdapter未收到PauseRequest
  • 62346 :初始化时无法取消调试会话
  • 62354 :节点10.12之后的远程调试问题

Thank You

最后但同样重要的是,非常感谢! 致使VS Code变得更好的以下人员:

vscode贡献:

vscode-eslint贡献:

vscode-languageserver-node贡献:

language-server-protocol贡献:

vscode-html-languageservice贡献:

vscode-css-languageservice贡献:

vscode-json-languageservice贡献:

debug-adapter-protocol贡献:

vscode-debugadapter-node贡献:

vscode-chrome-debug-core贡献:

  • @digeff
    • 我们适应了使用file:///的最新版本的Node.js,并且不为存在PR#373的文件发送sourceRef
    • 修复NTVS单元测试PR#369第一行未触及BP的问题
    • 修复节点未达到网络路径中的断点PR#368
  • @rdegelo
    • 改进调试控制台样式. 添加下划线和背景支持PR#374
    • 在调试控制台PR#367上增加了对基本颜色转义序列的支持

vscode-generator-code贡献:

vscode-vsce贡献:

vscode-extension-samples贡献:

vscode-recipes贡献:

inno-updater贡献:

localization贡献:

Transifex VS Code项目团队中大约有1400名成员,每月约有100名活跃参与者. 通过提供新的翻译,对翻译进行投票或建议改进流程,我们对您的贡献表示感谢.

这是此版本贡献者的快照. 有关项目的详细信息(包括贡献者姓名列表),请访问项目站点, 网址https://aka.ms/vscodeloc .

  • 波斯尼亚人:达里奥(Dario Fuzinato).
  • 保加利亚语: ЛюбомирВасилев.
  • 加泰罗尼亚语: joanmiro比萨.
  • 捷克文: VítStaniček,KryštofČerný,Michal Franc.
  • 荷兰语: Gerald Versluis,文森特·韦伯斯特(Vincent Verbist).
  • 英语(英国): Matthew John Cheetham,Alexander Ogilvie.
  • 芬兰语: PetriNiinimäki,Feetu Nyrhinen.
  • 法语:安东尼·格里弗德(Antoine Griffard),阿德里安·克莱布瓦(Adrien Clerbois).
  • 德语: JMRütter,Volkmar Rigo.
  • Greek: Dimitris Siakavelis, Christos Koutsiaris.
  • 印地语: Ashwini Gupta,Bimal.,梵天Dev,Rahul Bhammarker.
  • 匈牙利语: TarDániel.
  • 简体中文: Joel Yang,pluwen,Zijian Zhou,Simon Chan.
  • 繁体中文:杜然(Duran Hsieh),张德宝(Poy Chang),蔡艾伦(Alan Tsai),杨凯文(Kevin Yang),林小薇(Winnie Lin).
  • 印尼文: Rizki A. Wibowo,Laurensius Dede Suhardiman,Fahmi Irsyad khairi,Wildan Mubarok,G-RiNe Project,Pratikto Ariestyadi,Joshua Siagian,William Tantiono,Herman Prawiro,Febrian Setianto(Feber),Angger Rafi Akbar,Joseph Aditya bRionZ,罗丹.
  • 意大利语:亚历山德罗·阿尔皮(Alessandro Alpi),里卡多·卡佩罗(Riccardo Cappello),马可·达·皮诺(Marco Dal Pino),罗伯托·阿尔巴诺(Roberto Albano),安德里亚·杜托(Andrea Dottor),路易吉·布鲁诺(Luigi Bruno).
  • 日语:田岛顺也,沼山雄一,香岛聪,尾崎义久.
  • 卡纳达语:桑杰!
  • 朝鲜语:高京熙,张俊成.
  • 立陶宛语: Martynas Jusys.
  • 马拉雅拉姆语: Ajith S Punalur,Anand Chalakkal Jose Mohan和Kiren Paul.
  • 挪威语Bokmål: Espen Klein Nilsen.
  • 波兰语: Artur,Andrzej Supermocny,JanBońkowski,Mateusz Wyczawski,Warchlak.
  • 葡萄牙语(巴西):罗德里戈·克雷斯皮,罗伯托·丰塞卡,达尼洛·丹塔斯,蒂亚戈·阿拉贡,蒂亚戈·莫雷拉·德·索萨·阿拉伊斯,阿蒂利奥·达达勒托,马塞洛·费尔南德斯,道格拉斯·海特,罗伯逊·卡西亚诺,卢卡斯·米兰达,蒂亚戈·库斯托迪奥.
  • 葡萄牙语(葡萄牙): Diogo Barros,安东尼奥·桑托斯,安东尼奥·洛伦科.
  • 俄语:伊万·库兹曼科(Ivan Kuzmenko),罗曼·斯劳塔(Roman Slauta),迈克尔·克兰(Michael Crane).
  • Spanish: José M. Aguilar, Matias Menich, Alberto Poblacion, Daniel J. Pérez Nieto, Andrés Reyes Galgani.
  • 泰米尔语:纳达尔·所罗门·桑德,萨拉·贾斯林,萨克提·拉吉,拉贾克,阿维纳什,阿南德·AV,杰扬西纳特·穆图拉姆,纳拉亚南·辛加拉姆.
  • 泰卢固语: Rama Chandu,Hari Jujjavarapu,Sai Pavan Koundinya Upadhyayula.
  • 乌克兰语: Svitlana Galianova,Borys Lebeda,Dmytro Kyrychuk,Victor Kubrak,Volodymyr Holovka.
  • 乌尔都语:哈西卜·安维尔(Haseeb Anwer),萨奇布·阿缅(Saqib Ameen),艾哈迈德·阿威斯(Ahmad Awais).
  • Vietnamese: Thanh Phu, Daniel Nguyen, Nguyễn Nhật Tân, Hung Nguyen, Vuong.