[TOC] # 新版 1.13.0 欢迎来到2013年5月发行的Visual Studio代码。在这个版本中有一些重要的更新,我们希望你会喜欢,一些关键的亮点包括: * [更改设置默认值](https://code.visualstudio.com/updates/v1_13#_changed-setting-defaults) - 我们默认启用了几个有用的功能,如扩展自动更新,编辑器拖放和小图。 * [使用Ctrl / Cmd +单击设置多个光标](https://code.visualstudio.com/updates/v1_13#_add-multiple-cursors-with-ctrl-cmd-click) - 添加多个光标,就像Sublime Text和Atom一样。 * [改进的Git合并](https://code.visualstudio.com/updates/v1_13#_merge-conflict-coloring-and-actions) - 使用Accept Changes CodeLens进行内联合并操作。 * [更好的IntelliSense详细信息](https://code.visualstudio.com/updates/v1_13#_suggestion-list-and-documentation-side-by-side) - 轻松切换完整的建议文档。 * [Emmet缩写显示](https://code.visualstudio.com/updates/v1_13#_emmet-abbreviation-expansion-in-suggestion-list) - 输入时预览Emmet扩展。 * [增强的片段](https://code.visualstudio.com/updates/v1_13#_multi-cursor-snippets) - 通过多光标和嵌套片段提高您的生产力。 * [更快的调试器性能](https://code.visualstudio.com/updates/v1_13#_improved-stepping-performance) - 逐步通过源代码明显更快。 * [异常堆栈跟踪中的文件链接](https://code.visualstudio.com/updates/v1_13#_file-link-detection-in-exception-peek-ui) - 从异常堆栈跟踪直接跳转到源代码。 * [Docker和MERN调试配方](https://code.visualstudio.com/updates/v1_13#_recipes-for-nonstandard-debugging-scenarios) - Docker和MERN堆栈项目的调试配置示例。 * [更多工作台主题颜色](https://code.visualstudio.com/updates/v1_13#_new-theming-colors) - 我们添加了更多的VS代码可自定义的颜色。 * [更好的NVDA支持](https://code.visualstudio.com/updates/v1_13#_better-nvda-support) - NVDA屏幕阅读器的辅助功能改进。 >如果您想在网上阅读这些发行说明,你可以去更新上code.visualstudio.com。 发行说明安排在与VS代码重点领域相关的以下部分。这里有一些进一步的更新: * [工作台](https://code.visualstudio.com/updates/v1_13#_workbench) - 符号搜索中的文件名,禁用菜单栏助记符。 * [编辑器](https://code.visualstudio.com/updates/v1_13#_editor) - 可调整大小查找小部件,新的折叠控制设置。 * [语言](https://code.visualstudio.com/updates/v1_13#_languages) - JSX / TSX组件突出显示,Markdown标题在符号搜索。 * [调试](https://code.visualstudio.com/updates/v1_13#_debugging) - 从调试控制台全部复制,启动配置中的本地/远程路径。 * [任务](https://code.visualstudio.com/updates/v1_13#_tasks) - 自动检测和自定义Gulp和Grunt任务以在VS代码中运行。 * [扩展名创建](https://code.visualstudio.com/updates/v1_13#_extension-authoring) - 资源管理器中的自定义视图,参考主题颜色。 ## 2017年4月(版本1.12) 更新1.12.1:修复了.NET调试问题。 欢迎来到2017年4月发行的Visual Studio代码。对于这种迭代,我们从我们通常关注的新特性转向改进流程和代码库。我们审查并分类了我们所有的公开问题,修复了错误,减少了工程负债。我们仍然认为,在这个版本中你会发现很多人都很兴奋。 在这个里程碑期间,我们在所有VS代码存储库中关闭了2199个问题。但是,当我们忙着关闭问题时,你正忙着打开它们。1925年的新问题确切地说,我们的总发行量减少了274.相比之下,3月份我们关闭了1719个问题,而我们收到了2221个问题,我们的总发行量增加了369个。总体而言,四月看起来相当不错。 如果你想知道,在我们目前在[github.com/Microsoft/vscode](github.com/Microsoft/vscode) 中跟踪的3775个问题中,2368是功能请求。不久之后,我们不会失去工作:-)。 有了这个,我们答应了发行说明不会是空的: * 工作台准备好作者 - 创建和分享您自己的自定义VS代码主题。 * 新的源代码管理提供商可用 - TFVC,Perforce和Mercurial的SCM扩展。 * 在JavaScript中进行类型检查 - 在类型检查中尽早捕捉JavaScript编程错误。 * 改善中国下载速度 - 用户应该看到更快的下载量(最多300x)。 * 键盘快捷键编辑器 - 改进键盘快捷搜索和冲突检测。 如果您想在网上阅读这些发行说明,你可以去更新上[code.visualstudio.com](https://code.visualstudio.com)。 发行说明安排在与VS代码重点领域相关的以下部分。这里有一些进一步的更新: * Workbench - macOS native选项卡和滑动手势,终端链接行和列支持。 * 语言 - TypeScript 2.3,在选择上应用Markdown片段。 * 调试 - 上下文菜单编辑监视表达式,更好的列断点。 * 扩展编写 - 长时间运行的进度UI,新的完成项目类型。 >内部人士:想尽快看到新功能?您可以立即下载Insiders 构建,并尽快尝试最新的更新。 ## (Workbench)工作台 ### 编辑器主题 三月份发布的工作台主持工作一直持续不断。现在大部分差距已经关闭,我们很高兴地将目前可用的状态声明为主题作者的“准备使用”。 支持列表和树(特别是文件资源管理器和建议窗口小部件),差异编辑器,活动栏,通知,滚动条,拆分视图,按钮等。 ![gif1](https://code.visualstudio.com/images/1_12_theme-activitybar.gif) 所有内置主题已更新,以利用新的颜色。您可以在[主题颜色参考](https://code.visualstudio.com/docs/getstarted/theme-color-reference)中找到所有颜色的完整列表。 ![theme-dark](https://code.visualstudio.com/images/1_12_theme-kimbie-dark.png) ![theme-light](https://code.visualstudio.com/images/1_12_theme-solarized-light.png) ![theme-light](https://code.visualstudio.com/images/1_12_theme-tomorrow-blue.png) 新的用户设置`workbench.colorCustomization`将替换该设置`workbench.experimental.colorCustomization`,并允许用户更改活动主题顶部的颜色。如果您已经使用实验设置,请使用[颜色标识映射表](https://github.com/Microsoft/vscode/wiki/Color-customization-color-id-changes)将ids标记为新格式。 Yeoman生成器已更新,以使用新的颜色主题格式创建主题。此外,一个新的命令开发商:生成颜色主题从当前设置为可用的命令面板(`Developer: Generate Color Theme From Current Settings`),以帮助您将您的自定义颜色,您可以在Marketplace上分享的一个主题。 我们还在研究如何在GitHub 的[vscode-theme-generator](https://github.com/Tyriar/vscode-theme-generator)项目中轻松创建主题。发电机的目标是尽可能少的努力生成好看的[主题](https://github.com/Tyriar/vscode-theme-generator),隐藏调整各个工作台色键和TextMate示波器的复杂性。 使用它`vscode-theme-generator`,您可以通过仅定义6种颜色来创建一个看起来像这样的主题: ![gif2](https://code.visualstudio.com/images/1_12_keyboard-shortcuts-editor.gif) ### (Keyboard Shortcuts editor)键盘快捷键编辑器 在“ Keyboard Shortcuts”编辑器中搜索改进,以支持相应平台中修饰键的所有可能术语。 * `meta`,`cmd`,`command`,`windows` * `ctrl`, `control` * `alt`, `option` * `shift` 您现在还可以按照优先顺序查看冲突。 ![gif3](https://code.visualstudio.com/images/1_12_keyboard-shortcuts-editor.gif) ### Source control 版本控制 自SCM API发布以来,在社区的源代码控制扩展方面取得了很好的进展。以下是市场上已经发布的一些SCM扩展: * Visual Studio Team Services - 支持本地TFVC工作区。 * Perforce for VS代码 - Perforce集成。 * hg - 用于Mercurial仓库。 我们对这个API的可能性感到非常兴奋,并期望在不久的将来会有更多的扩展! ### git 改进 VS代码中的Git扩展已经有了很大的进步。这个Git集成与第三方SCM提供商相同的扩展点。 >**注意:** 从6月开始,遗留的git集成将被完全删除。在此之前,您仍然可以使用`SCM:启用Legacy Git(SCM: Enable Legacy Git)`命令恢复它。 ### macOS:Sierra Tabs 在Electron更新的帮助下,我们可以恢复对本地macOS Sierra选项卡的基本支持,以进行窗口管理。您可以`window.nativeTabs`在重新启动后通过设置启用它们。一旦启用,根据您的操作系统设置,当您打开新窗口时,新标签页将打开。确保显示标签栏(`视图 > 显示标签栏`)以访问选项卡。 ![gif4](https://code.visualstudio.com/images/1_12_native-tabs.gif) >**注意:**本机选项卡不能与自定义标题一起使用。当您启用本机选项卡时,标题栏也将更改为本机样式。 ### macOS:鼠标滑动导航 我们添加了一个新设置`workbench.editor.swipeToNavigate`,允许您使用3手指滑动手势与MacOS上的触控板在编辑器之间导航。向左或向右滑动可以浏览任何编辑器组中最近使用的编辑器。这与我们已经拥有的`Go > Back`和`Go > Forward`命令类似,但会跳过在文档中发生的导航。 **注:**该触发器刷卡还可以通过在新的命令键绑定执行相同的命令`workbench.action.openPreviousRecentlyUsedEditor`和`workbench.action.openNextRecentlyUsedEditor`。 **注意:**我们目前只支持3指手指滑动手势。确保您的滑块的触控板设置配置如下,使其成功: * 在页面之间滑动:用三根手指向左或向右滚动。 * 在全屏应用之间滑动:用四个手指向左或向右滑动。 ### 集成终端连链接和列范围 现在支持具有行范围和列范围的文件的链接。 ![gif5](https://code.visualstudio.com/images/1_12_terminal-line-col-link.gif) ## (Languages)代码语言 ### TypeScript 2.3 VS代码现在附带TypeScript 2.3.2。此更新带来一些新的语言功能,并修复了一些重要的错误。 ### 键入检查JavaScript文件 TypeScript 2.3还将类型检查带入纯文本格式。这是捕获常见编程错误的好方法,这些类型检查也可以为JavaScript提供一些令人兴奋的快速修复。 ![gif6](https://code.visualstudio.com/images/1_12_ts-checkjs-example.gif) TypeScript可以推断与`.js`文件相同的`.ts`文件类型。当不能推断类型时,可以使用JSDoc注释指定类型。您可以在这里阅读更多关于TypeScript如何使用JSDocs进行JavaScript类型检查的内容。 JavaScript的类型检查是可选的,并且选择加入。现有的JavaScript验证工具(如ESLint)可以与新的内置类型检查功能一起使用。 您可以根据需要开始使用类型检查几种不同的方式。 #### per file 在JavaScript文件中启用类型检查的最简单方法是添加`// @ts-check`到文件的顶部。 ``` // @ts-check let easy = 'abc' easy = 123 // Error: Type '123' is not assignable to type 'string' ``` #### 使用设置 要在不更改任何代码的情况下启用所有JavaScript文件的类型检查,只需添加`"javascript.implicitProjectConfig.checkJs": true`到工作区或用户设置即可。这样可以对不属于`jsconfig.json`或`tsconfig.json`项目的任何JavaScript文件进行类型检查。 您可以通过文件`// @ts-nocheck`顶部的注释,将类型检查中的各个文件选择为: ``` // @ts-nocheck let easy = 'abc' easy = 123 // No error ``` 您还可以使用`// @ts-ignore`错误之前的行上的注释来禁用JavaScript文件中的单个错误: ``` let easy = 'abc' // @ts-ignore easy = 123 // No error ``` #### 使用JSConfig或TSConfig 要启用类型检查JavaScript文件的一部分,`jsconfig.json`或`tsconfig.json`只需添加`"checkJs": true`到项目的编译器选项: jsconfig.json: ``` { "compilerOptions": { "checkJs": true }, "exclude": [ "node_modules" ] } ``` tsconfig.json: ``` { "compilerOptions": { "allowJs": true, "checkJs": true }, "exclude": [ "node_modules" ] } ``` 这样可以对项目中的所有JavaScript文件进行类型检查。您可以使用它`// @ts-nocheck`来禁用每个文件的类型检查。 JavaScript类型检查需要TypeScript 2.3。如果您不确定工作空间当前处于活动状态的TypeScript版本,只需运行`TypeScript:Select TypeScript Version`命令即可进行检查。 ### 更改TypeScript版本而不重新加载VS代码 更改活动版本的TypeScript不再需要重新加载VS代码。 ### Markdown 预览和缩放 随着电子外壳的更新,我们在使用缩放时修复了Markdown预览和产品发行说明的剪切问题。 ### Markdown的环绕代码提示|补全片段 现在,您可以使用片段更快速地在Markdown文档中加粗或斜体文本。只需选择一些文本并运行`insert snippet`命令。`Markdown`的粗体,斜体和引号片段都已更新为对所选文本进行操作。 您还可以设置密钥绑定以使用这些片段: ``` { "key": "cmd+k 8", "command": "editor.action.insertSnippet", "when": "resourceLangId == 'markdown'", "args": { "name": "Insert bold text" } } ``` ## (Editor)编辑区 ### 动态IntelliSense排序 编辑器现在在键入时重新排序完成列表。这确保您需要的完成总是在顶部,容易选择。 ![gif7](https://code.visualstudio.com/images/1_12_completions-dynamic-sort.gif) ## (Tasks)任务 ### Gulp 任务自动检测 对于新的终端任务运行程序已经实现了`Grunt`自动检测。对于新的终端运行程序,如果两个对应的文件`(,)`都存在于工作空间中,则现在将检测`Grunt`和`Gulp`的任务。`Gruntfile.js`、`gulpfile.js` 此外,所提出的任务API已被抛光。如果您已经开始使用它,您可能会遇到一些细微的变化。 ## (Debugging)调试 ### 编辑Watch表达式 现在可以使用上下文菜单编辑Watch表达式。 ![](https://code.visualstudio.com/images/1_12_edit-watch.png) ## (NodeDebugging)节点调试 ### 只是我的代码改进 当`inspector`三个版本的`Node.js`调试器的协议已经可用时,跳过文件。有了这个版本,它现在也可用于`legacy`协议。要控制文件以跳过,请使用上下文菜单命令在`CALL STACK`视图中的堆栈框架上切换该文件。 ### 列断点改进 调试(尚未被释放)时,调试器for Chrome扩展以及`inspectorNode.js`调试器的协议现在支持在特定列上设置断点。节点8.可以使用<kbd>Shift + F9</kbd>或通过调试会话期间的上下文菜单。 ## (Extension Authoring)扩展制作 ### 新的API 我们添加了一些新的API: * 更多的完成和符号项目类:Event,Operator,和TypeParameter。 * 您现在可以打开一个文本文档作为预览编辑器。这意味着当打开另一个文档时,它的选项卡将被重用。这可以这样做:`vscode.window.showTextDocument(doc, { preview: true})`。 * 我们添加了一些功能来显示长时间运行的进度。现在,我们在UI中定义了两个进度的位置:源控件视图(`Source Control`)和状态栏中的窗口 - 全局进度指示。 看看下面的例子: ``` vscode.window.showProgress({ location: vscode.ProgressLocation.Window, title: 'My long running operation' }, (progress) => { // Progress is shown while this function runs. // It can also return a promise which is then awaited progress.report({ message: 'Doing this' }); await step1(); progress.report({ message: 'Doing that' }); await step2(); }) ``` ### Node.js更新(6.x至7.x) 随着Electron更新到1.6.6,用于运行所有扩展的Node.js版本从6.4.0更新到7.4.0。Node.js的这个重大更新有一些突破性的变化,尽管总体来说影响应该很小。请参阅本概述,了解从Node.js 6到7的突破更改的完整列表。 电子更新的一个后果是,承诺拒绝现在被Node.js运行时处理为未捕获的异常,即使稍后被拒绝。由于在调试扩展时这种行为令人烦恼,我们引入了一个新的异常选项来控制承诺拒绝,而与常规异常无关: ![pngs](https://code.visualstudio.com/images/1_12_promise-reject-option.png) ### 调试器扩展 `evaluateName`属性将成为强制性`Add to Watch`和`Copy Value`动作 VS代码尝试通过使用`VARIABLES`视图中的数据和用于构建可与评估请求一起使用的表达式的JavaScript偏置启发式来实现“ 添加到监视和复制值”操作。 由于这种方法对所有语言都不起作用,所以我们之前介绍了`evaluateName`变量的属性。如果`evaluateName`属性可用于变量VS代码将使用它作为评估请求“按原样”。如果`evaluateName`丢失,VS代码可以追溯到旧的方法。 由于我们计划在5月发行版中完全删除回退,所以调试适配器必须支持`evaluateName`属性,如果他们希望将来可以使用“ 添加观察(Watch)”和“ 复制值(Copy Value)”操作。 #### 新的参数terminateDebuggee的disconnect要求 可选参数`terminateDebuggee`已添加到`disconnect`请求中。如果调试适配器已选择使用此功能`supportTerminateDebuggee`,则客户端可以使用此功能来控制在调试器断开连接时是否应终止调试程序。 ## (Miscellaneous)杂项 ### 中国下载 我们改进了中国用户的安装和更新体验,中国用户在获取VS代码的版本时总是报告缓慢的下载速度。我们现在发布和发布我们的版本到位于中国的网络服务器,所以你应该开始在这个领域得到更快的速度。我们的一些测试场景见证了⚡a的加速300x! 当我们直接从我们的网站下载VS代码以及在接收到自动更新时,可以进行这些改进。 ## (New Commands)新命令 键 | 命令 | 命令id ------- | ------- | ------- 未分配 |打开前一个最近使用的编辑器 | workbench.action.openPreviousRecentlyUsedEditor 未分配 | 打开下一个最近使用的编辑器 | workbench.action.openNextRecentlyUsedEditor 未分配 | 打开键盘快捷键文件 | workbench.action.openGlobalKeybindingsFile ## (Notable Changes)显著变化 * 5745:Webview:也应用window.zoomLevel了。 * 12473:macOS Sierra:背景文物 * 24482:启动扩展调试会话时新的未捕获异常 * 24979:命中第一个断点后未显示的复合调试配置 * 13306:跳过断点似乎完全恢复执行,而步进 * 24126:如果打开并退出外部应用程序,请在终端中快速闪烁光标 * 24302:在Linux上拖放时,使用<kbd>ctrl</kbd>键作为修饰符启用复制 * 18351:支持通过键盘导航问题类似搜索结果。 这些是已关闭的错误,这些是1.12更新的封闭功能请求。 ## 对扩展的贡献 * Go * TSLint:我们为tslint语言服务器插件做了贡献,现在可以预览 VS代码。 * ESLint * Docker * Debug for chrome * Mono debug * VSCodeVim 累成![dog](https://box.kancloud.cn/7e4b2365f2611866c041969f8f0a0aa3_64x64.png)了! 英语四级没过!大家就不要喷了!![cry](https://box.kancloud.cn/50b0d14555ae34b2589bac53f0961736_64x64.png) I need ![copy](https://box.kancloud.cn/06d4e6dde787543889ca7e1d56b4b3f9_64x64.png)