[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)工作臺
### 編輯器主題
三月份發布的工作臺主持工作一直持續不斷。現在大部分差距已經關閉,我們很高興地將目前可用的狀態聲明為主題作者的“準備使用”。
支持列表和樹(特別是文件資源管理器和建議窗口小部件),差異編輯器,活動欄,通知,滾動條,拆分視圖,按鈕等。

所有內置主題已更新,以利用新的顏色。您可以在[主題顏色參考](https://code.visualstudio.com/docs/getstarted/theme-color-reference)中找到所有顏色的完整列表。



新的用戶設置`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種顏色來創建一個看起來像這樣的主題:

### (Keyboard Shortcuts editor)鍵盤快捷鍵編輯器
在“ Keyboard Shortcuts”編輯器中搜索改進,以支持相應平臺中修飾鍵的所有可能術語。
* `meta`,`cmd`,`command`,`windows`
* `ctrl`, `control`
* `alt`, `option`
* `shift`
您現在還可以按照優先順序查看沖突。

### 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`在重新啟動后通過設置啟用它們。一旦啟用,根據您的操作系統設置,當您打開新窗口時,新標簽頁將打開。確保顯示標簽欄(`視圖 > 顯示標簽欄`)以訪問選項卡。

>**注意:**本機選項卡不能與自定義標題一起使用。當您啟用本機選項卡時,標題欄也將更改為本機樣式。
### macOS:鼠標滑動導航
我們添加了一個新設置`workbench.editor.swipeToNavigate`,允許您使用3手指滑動手勢與MacOS上的觸控板在編輯器之間導航。向左或向右滑動可以瀏覽任何編輯器組中最近使用的編輯器。這與我們已經擁有的`Go > Back`和`Go > Forward`命令類似,但會跳過在文檔中發生的導航。
**注:**該觸發器刷卡還可以通過在新的命令鍵綁定執行相同的命令`workbench.action.openPreviousRecentlyUsedEditor`和`workbench.action.openNextRecentlyUsedEditor`。
**注意:**我們目前只支持3指手指滑動手勢。確保您的滑塊的觸控板設置配置如下,使其成功:
* 在頁面之間滑動:用三根手指向左或向右滾動。
* 在全屏應用之間滑動:用四個手指向左或向右滑動。
### 集成終端連鏈接和列范圍
現在支持具有行范圍和列范圍的文件的鏈接。

## (Languages)代碼語言
### TypeScript 2.3
VS代碼現在附帶TypeScript 2.3.2。此更新帶來一些新的語言功能,并修復了一些重要的錯誤。
### 鍵入檢查JavaScript文件
TypeScript 2.3還將類型檢查帶入純文本格式。這是捕獲常見編程錯誤的好方法,這些類型檢查也可以為JavaScript提供一些令人興奮的快速修復。

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排序
編輯器現在在鍵入時重新排序完成列表。這確保您需要的完成總是在頂部,容易選擇。

## (Tasks)任務
### Gulp 任務自動檢測
對于新的終端任務運行程序已經實現了`Grunt`自動檢測。對于新的終端運行程序,如果兩個對應的文件`(,)`都存在于工作空間中,則現在將檢測`Grunt`和`Gulp`的任務。`Gruntfile.js`、`gulpfile.js`
此外,所提出的任務API已被拋光。如果您已經開始使用它,您可能會遇到一些細微的變化。
## (Debugging)調試
### 編輯Watch表達式
現在可以使用上下文菜單編輯Watch表達式。

## (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運行時處理為未捕獲的異常,即使稍后被拒絕。由于在調試擴展時這種行為令人煩惱,我們引入了一個新的異常選項來控制承諾拒絕,而與常規異常無關:

### 調試器擴展
`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
累成了! 英語四級沒過!大家就不要噴了!
I need 