這很重要
不再 支援此版本。 要下載最新版本,請訪問 https://visualstudio.microsoft.com/downloads/。
Visual Studio 2015 版本
您可以檢視 Visual Studio 2015 所有版本的版本資訊:
2016 年 6 月 27 日 - Visual Studio 2015 Update 3
2016 年 3 月 30 日 - Visual Studio 2015 Update 2
2015 年 11 月 30 日 - Visual Studio 2015 Update 1
2015 年 7 月 20 日 - Visual Studio 2015
下載 Visual Studio 2015
您可以從 My.VisualStudio.com下載 Visual Studio 2015。 My.VisualStudio.com 需要免費的 Dev Essentials 訂用帳戶,或 Visual Studio 訂閱。
Visual Studio 2015
發行時間:2015 年 7 月 20 日
此版本中新功能的摘要
用於跨平台開發的 Visual Studio C++
適用於 Apache Cordova 的 Visual Studio 工具
適用於 Android 的 Visual Studio 模擬器
適用於通用 Windows 應用程式開發的 Visual Studio Tools
視覺 C++
C# 和 Visual Basic
F#
.NET 框架 4.6
實體架構
Visual Studio IDE
混合
偵錯和診斷
ASP.NET
Azure 工具
NuGet
JavaScript
TypeScript
IntelliTest
應用程式深入解析
版本管理
單一登入
Git 版本控制
CodeLens
架構、設計和建模
XAML 語言服務
其他工作
其他變更:
錯誤 (bug) 修正和已知問題
相關版本:
適用於 .NET 的 Azure SDK 2.7
Windows 10 開發套件
適用於 Visual Studio 2.2 的 Python 工具
適用於 Unity 2.0 的 Visual Studio 工具
2021 年 10 月更新:安全地更新 Visual Studio Tools for Apache Cordova Node.js
適用於 Visual Studio 2015 的 Office 開發人員工具
適用於 Visual Studio 2015 的 GitHub 延伸模組
基於雲端的負載測試
此版本中新增功能的詳細資訊
用於跨平台行動開發的 Visual C++
現在,您可以輕鬆地跨多個應用程式平台共用、重複使用、建置、部署和偵錯所有程式碼,但最平台特定的程式碼除外,所有這些都在 Visual Studio 的單一解決方案中。 以下是您可以執行的一些操作:
從 Android 原生活動應用程式的範本建立專案,或您可以在多個平臺和 Xamarin 原生 Android 應用程式中使用的共用程式碼程式庫。
使用平臺特定的 IntelliSense 來探索 API,並為 Android 或 Windows 目標產生正確的程式碼。
針對 x86 或 ARM 原生平台設定您的組建。
將您的程式碼部署到連接的 Android 裝置,或使用 Microsoft 的高效能 Android 模擬器進行測試。
在 Visual Studio 偵錯工具中設定中斷點、監看變數、檢視堆疊和逐步執行程式碼。
使用 LogCat 檢視器檢視 Android 裝置的訊息記錄。 (Logcat 是一種診斷工具,對於良好的編輯->建置->偵錯體驗至關重要。
使用 Logcat 執行下列動作:
使用搜尋列搜尋特定記錄訊息。
使用「切換自動捲動」功能,輕鬆查看即將到來的日誌訊息。
清除先前的日誌輸出訊息。
在各種日誌層級之間進行選擇。
撰寫以 iOS 平台為目標的 C++ 程式碼,並利用我們的進階程式碼撰寫功能,例如但不限於程式碼共用、跨平台 IntelliSense、重構和速查定義。 iOS 支持仍在進行中,因此請盡快關注更多信息。 您可以使用 Connect 來傳送有關錯誤的意見反應給我們。 此外,您可以使用 Visual Studio IDE 中的 Send-a-Smile 將您的快速想法傳送給我們。
我們還添加了或更新了以下內容:
支援 Android API 等級 21 (Lollipop)。
以 Android 的 make 檔案支援為基礎的新範本,允許使用外部建構系統 (包括 NDK-BUILD)。
所有範本中的預先編譯標頭(包括動態共用程式庫、靜態程式庫和跨平台行動範本)。
適用於 Apache Cordova 的 Visual Studio 工具
適用於 Apache Cordova 的 Visual Studio 工具先前稱為 Visual Studio 的多裝置混合式應用程式,可讓您輕鬆地從一個簡單的 Visual Studio 專案建置、偵錯和測試以 Android、iOS、Windows 和 Windows Phone 為目標的跨平台應用程式。
舊版 CTP 中提供的所有功能現在都可以在 Visual Studio 2015 RC 中使用,包括下列改善:
Ripple 保存更新 – 無需重建!
使用 Visual Studio 偵錯應用程式的 iOS 版本,當此應用程式部署至 iOS 模擬器或連接至 Mac 的裝置時。
改善隨附遠端 iOS 組建代理程式的安全性並簡化設定
改善的外掛程式管理體驗,包括支援從 Git 或檔案系統將自訂外掛程式新增至專案
從改進的 config.xml 設計工具中選擇平台特定的配置選項
支援 Apache Cordova 4.0.0。
我們聽取了您的意見反應,並擴大了您可以偵錯的裝置數量,如下所示:
Android 4.4、使用 jsHybugger 的 Android 4.3 及更早版本
iOS 6、7 和 8
Windows 商店 8.1
然後,我們進一步擴大了調試支持。 您現在可以偵錯以 Windows Phone 8.1 為目標的 Apache Cordova 應用程式。
您可以在 Windows Phone 8.1 模擬器或連接的裝置上設定中斷點、檢查變數、使用主控台,以及執行其他偵錯工作。
我們已為 RC 版本新增 CLI 互通性 。 Visual Studio 中的 Cordova 專案現在會與磁碟上專案資料夾所做的變更同步處理。 無論您是使用協力廠商工具還是在其他作業系統上,變更都可以流入和流出 Visual Studio。 (Cordova 專案的預設檔案結構是以 Apache Cordova 指令行工具預期的結構為基礎,可讓您更輕鬆地直接使用 Apache Cordova CLI 或其他預期該資料夾結構的工具。
適用於 Android 的 Visual Studio 模擬器
您可以在 Visual Studio (Xamarin 或 C++) 的跨平臺專案中使用適用於 Android 的 Visual Studio 模擬器,或在 Visual Studio Tools for Apache Cordova 中使用。 模擬器可讓您在不同的平台模擬器之間切換,而不會發生 Hyper-V 衝突。 它支援多種感測器和模擬,包括 GPS/位置、加速度計、螢幕旋轉、縮放、SD 卡、相機、多點觸控和網路存取。 它還支持 Android 4.4 版(KitKat,API 級別 19)和 5.0(Lollipop,API 級別 21)。
適用於 Android 的 Visual Studio 模擬器支援 WiFi 模擬,以及從數個不同裝置硬體設定中選擇的能力。
我們為 RTM 新增了以下新功能:
新平台。 Jellybean (API 17) 和 Lollipop 5.1 (API 22) 映像檔可用。
命令列介面。 在命令提示符中導航到 %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe 將允許您在沒有 UI 的情況下與模擬器管理器(列表、安裝、啟動配置文件等)進行交互。
拖放壓縮檔案庫。 現在,將可閃存的 zip 拖放到模擬器上將自動解壓縮並安裝它。
SD 卡標籤。“附加工具”窗口中的這個新選項卡允許您將數據推送到 SD 卡或從 SD 卡中提取數據。
自行獲取。 模擬器可以安裝在電腦上,而不需要您安裝 Visual Studio。 模擬器管理員的捷徑會出現在 [開始] 功能表中,讓您可以啟動它,並從任何開發工具鏈使用它。
如需詳細資訊,請參閱適用於 Android 的 Visual Studio 模擬器。
適用於通用 Windows 應用程式開發的 Visual Studio Tools
用於通用 Windows 應用程式開發的 Visual Studio 工具已與 Visual Studio 安裝程式整合。 這些工具使您能夠構建在所有 Windows 10 設備上運行的 Windows 應用程序——口袋裡的手機、包裡的平板電腦或筆記本電腦、辦公桌上的 PC、物聯網設備,以及很快家裡的 Xbox 遊戲機、Surface Hub 等等。 此外,您也可以使用這些工具來建置利用 Windows 10 API 的 Windows 傳統型應用程式。 如需詳細資訊,請參閱 適用於通用 Windows Apps 的 Visual Studio Tools 的新功能。
如需 Windows 應用程式開發的詳細資訊,請參閱 通用 Windows 應用程式指南 和 Windows 開發人員中心。 如需最新 Windows 組建和 SDK 的相關資訊,請參閱 Windows 測試人員 入口網站。
視覺 C++
在此版本中,C++ 編譯器和標準程式庫已更新,增強了對 C++11 的支援,以及對某些 C++14 功能的初始支援。 它們也包括對 C++17 標準中預期的某些功能的初步支援。
此外,還修復了 500 多個編譯器錯誤,其中包括客戶通過 Microsoft 開發人員社區 提交的許多錯誤——謝謝!
語言功能
我們新增了以下新功能,使編譯器更接近標準 C++:
可繼續函式 (繼續/等待) resume 和 await 關鍵字提供非同步程式設計的語言層級支援,並啟用可繼續的函式。 目前,此功能僅適用於 x64 目標。 針對 C++17 [N3858] 提出
泛型 (多態) Lambda 運算式 Lambda 函數參數類型現在可以使用 auto 指定;編譯器會在此內容中將 auto 解譯為閉包的函式呼叫運算子是成員函式範本,而且 lambda 運算式中每次使用 auto 都會對應至不同的範本類型參數。 C++14
廣義 Lambda 捕獲運算式 也稱為初始捕獲。 在 lambda 捕捉子句中,任意運算式的結果現在可以指派給一個變數。 這可讓僅限移動的類型按值擷取,並讓 lambda 表達式在其閉包物件中定義自定義的資料成員。 C++14
現在支援二進位常值。 這類文字以 0B 或 0b 為前綴,且僅包含數字 0 和 1。 C++14
返回類型推導 現在可以推導出普通函數的返回類型,包括具有多個返回語句的函數和遞歸函數。 這類函數定義前面有 auto 關鍵字,就像在具有尾端傳回類型的函數定義中一樣,但會省略尾端傳回類型。 C++14
decltype(auto) 類型推導:使用 auto 關鍵字初始化運算式時,會從運算式中移除 ref-qualifiers 和頂層 cv-qualifiers。 decltype(auto)會保留 ref 和 cv 限定符號,現在可以在所有可以使用 auto 的地方使用,但引入推斷或尾端返回類型的函數則例外。 C++14
隱式生成移動特殊成員函式 當條件允許時,會隱式生成移動建構函式和移動指派運算子,使編譯器完全符合 C++11 右值引用。 C++11
繼承建構函式 衍生類別現在可以指定它將繼承其基類 Base 的建構函式,方法是使用 Base::Base;在其定義中。 派生類別只能繼承其基類的所有建構函式,沒有辦法只繼承特定的基建構函式。 如果衍生類別具有具有相同簽章的建構函式,則衍生類別無法繼承自多個基底類別,而且衍生類別也無法定義與其任何繼承建構函式具有相同簽章的建構函式。 C++11
對齊查詢和控制 變數的對齊方式可以使用 alignof() 運算子查詢,並使用 alignas() 說明符進行控制。 alignof() 傳回必須配置的類型實例上的位元組邊界;對於引用,它會傳回引用類型的對齊方式,對於陣列,它會傳回元素類型的對齊方式。 alignas() 控制變數的對齊方式;它需要一個常數或一個類型,其中類型是 alignas (alignof(type)) 的簡寫。 C++11
Extended sizeof 現在可以使用 sizeof() 來確定類別或結構的成員屬性的大小,無需類別或結構的實例。 C++11
constexpr 部分支援 C++11 的 constexpr。 C++11 (部分)
使用者自訂字面值(UDL) 現在可以將有意義的字尾附加到數值和字串字面值,使它們具有特定的語意。 編譯器會將尾碼文字解譯為對適當 UDL 運算子的呼叫。 C++11
Thread-Safe “魔法”靜力學 靜態局部變數現在以執行緒安全的方式初始化,無需手動同步。 只有初始化是執行緒安全的,多個執行緒使用靜態局部變數仍必須手動同步。 您可以使用 /Zc:threadSafeInit- 旗標來停用執行緒安全的靜態特性,以避免依賴 CRT。 C++11
Thread-Local 儲存 使用 thread_local 關鍵字來宣告應該為每個執行緒建立獨立物件。 C++11
noexcept 運算子現在可用來檢查運算式是否可能擲回例外狀況。 noexcept 指定元現在可用來指定函式不會擲回例外狀況。 C++11
內嵌命名空間 現在可以將命名空間指定為內嵌,以將其內容提升至封閉的命名空間。 內嵌命名空間可用來建立版本化程式庫,預設會公開其最新版本,同時仍明確提供先前的 API 版本。 C++11
不受限制的工會 聯合類型現在可以包含具有重要建構函式的類型。 必須定義這類聯集的建構函式。 C++11
新的字元類型和 Unicode 常值 現在支援 UTF-8、UTF-16 和 UTF-32 中的字元和字串常值,並引進了新的字元類型char16_t和char32_t。 字元文字可以以 u8 (UTF-8)、u (UTF-16) 或 U (UTF-32) 為字首,如 U'a',而字串文字也可以加上原始字串對等詞 u8R (UTF-8 原始字串)、uR (UTF-16 原始字串) 或 UR (UTF-32 原始字串) 的字首。 通用字元名稱可以在 Unicode 文字中自由使用,例如 u'\u00EF'、u8“\u00EF 是 i”,而 you“\U000000ef 是 I”。 C++11
功能 預先定義的識別碼 func 會隱含定義為包含封閉函式之未限定且未修飾名稱的字串。 C++11
__restrict __restrict現在可以套用至參照。
Typename 關鍵字。 使用者現在可以在模板模板參數中使用 typename 替代 class。 C++14
全域 void 運算子 delete(void *, std::size_t) noexcept 和 void 運算子 delete[](void *, std::size_t) noexcept 現在可以重載。 C++14
數字分隔符號 現在,您可以將數字文字與單引號穿插在一起,使其更具可讀性。 例如,int x = 1'000'000;。 C++14
文字中的通用字元名稱 您現在可以將基本字元(例如「A」和換行字元)寫為文字中的字碼點。 例如,const char *s = “\u0041\u000A”;。 C++11
非靜態資料成員初始化運算式 現在可與初始化運算式清單正常運作。 C++11
屬性 您現在可以將函數指定為 [[noreturn]],以告訴編譯器該函數不會傳回(儘管它可以擲回異常)。 各種建構現在也可以標示為 "不建議使用"。 現在允許在命名空間和列舉式上使用屬性。 C++11、C++14 和 C++17
使用者定義字面值 (UDLs) 數值和字串常值現在可以具有有意義的尾碼,可對常值資料執行自訂計算。 C++11
資料相依性排序屬性 您現在可以將函數參數、lambda 參數或函數宣告指定為 [[carries_dependency]],以優化那些經常被讀取但很少被修改的並行資料結構。 C++11
帶有 braced-init-lists 的 auto 新規則,自動推導複製清單初始化現在要麼推導為 std::initializer_list,要不然就是格式不正確。 C++17
Visual C++ 程式庫功能
標準函式庫類型的 User-Defined 文字常值 (UDL)
Null 正向反覆運算器 標準程式庫現在允許建立不參照容器實例的正向迭代器。 這類迭代器會進行值初始化,並針對特定的容器類型進行相等比較。 將值起始設定的疊代器與未設定值起始設定的疊代器進行比較是未定義的。 C++14
quoted() 標準函式庫現在支援 quoted() 函數,使使用引號字串值和 I/O 變得更加容易。 使用 quoted(),整個引號字串被視為單一實體(因為非空格字元的字串位於 I/O 流中);此外,透過 I/O 作業會保留逸出序列。 C++14
異質關聯查詢 標準程式庫現在支援關聯容器的異質查閱函式。 這類函式可依key_type以外的類型進行查閱,只要類型與key_type相當即可。 C++14
Compile-Time 整數序列 標準程式庫現在支援代表整數值序列的integer_sequence類型,這些值可以在編譯時進行評估,以簡化參數套件的使用,並簡化某些範本程式設計模式。 C++14
交換() 標準函式庫現在支援 std::exchange() 實用程式函數,為物件指派新值並傳回其舊值。 對於複雜類型,exchange() 避免在移動建構函式可用時複製舊值,避免複製新值(如果它是臨時值或被移動),並利用任何轉換賦值運算子接受任何類型作為新值。 C++14
Dual-Range equal()、is_permutation()、mismatch() 標準函式庫現在支援接受兩個範圍的 std::equal()、std::is_permutation() 和 std::mismatch() 的重載。 這些多載會處理不同長度的序列。 C++14
得
tuple_element_t 標準程式庫現在支援 tuple_element_t 類型別名,這是 typename tuple_element::type 的別名。 這為模板程式設計師提供了一些便利,類似於
檔案系統「V3」技術規格 檔案系統技術規格的隨附實作已更新至最終版本。
最小配置器 標準函式庫現在支援最小配置器介面;值得注意的修復包括 std::function、shared_ptr、allocate_shared() 和 basic_string。 C++11
constexpr 已在整個 C++ 標準庫中實現。 C++11、C++14 和 C++17
quick_exit() 您現在可以透過呼叫 quick_exit() 更乾淨地終止多執行緒進程,並在 at_quick_exit() 中執行清理程式碼。 C++11
void_t 支援進階範本元程式設計。 C++17
如果已知它們是安全的,則現在允許轉換為 unique_ptr
invoke() 允許使用統一語法呼叫函數物件、指向成員函數的指標以及指向資料成員的指標。 C++17
noexcept 標準函式庫對某些函數的 noexcept 使用進行了改進。 C++17
uncaught_exceptions() 會報告飛行中的例外狀況數目 (可能超過 1 個)。 C++17
reference_wrapper 現在可以簡單地複製。 C++17
map/unordered_map 現在支援 insert_or_assign()/try_emplace()。 C++17
現在提供了 size()、empty() 和 data() 非成員函數。 C++17
auto_ptr、random_shuffle() 和舊的功能<>機制已在 C++11/14 中被取代,並在 C++17 中移除。 Visual Studio 2015 預設會提供這些定義,但在整個專案中將 _HAS_AUTO_PTR_ETC 設定為 0 會移除它們的定義。
unique_ptr 指派現在受到精確限制。 C++17
現在支援bool_constant作為
Visual C++ 建置速度提升
增量鏈路時間碼生成 (LTCG) 現在,您可以告訴 LTCG 僅重建受編輯影響的專案部分。 這可以大幅減少使用 LTCG 的應用程式的鏈結時間。 使用 /LTCG:incremental 連結器開關來啟用此功能。
靜態程式庫的增量連結 對其他程式碼模組所參照的靜態程式庫的變更現在會以累加方式連結。
/Debug:FastLink 會使用新的 PDB 建立技術,大幅減少連結時間。
對連結器進行了演算法改進,以減少連結時間。
已進行改進,允許更快地構建模板繁重的代碼。
快速設定檔引導最佳化(PGO)工具 在 PGO 中引入了一種新的、適用於遊戲和實時系統的輕量級工具模式。 連同透過 /GENPROFILE 和 /FASTGETPROFILE 連結器參數提供的其他新功能,您現在可以在使用 PGO 時平衡程式碼品質和建置速度。
物件檔案大小縮減 編譯器和 C++ 標準程式庫增強功能可大幅減少物件檔和靜態程式庫。 這些增強功能不會影響動態連結程式庫 (DLL) 或可執行檔 (EXE) 的大小,因為連結器歷來已移除冗餘程式碼。
Visual C++ 效能和程式碼品質
自動向量化的改進。 我們已改善控制流程的向量化 (if-then-else)、在 /O1 下編譯時的向量化 (最小大小),以及改善整體向量程式碼品質,包括支援平行 STL、向量化更多以範圍為基礎的 for 迴圈,以及支援 #pragma 迴圈 (ivdep)。
純量優化的改進。 我們新增了更好的位元測試作業程式碼產生、控制流程合併和最佳化 (迴圈 if 切換) ,以及其他純量最佳化 (例如,更好的 std::min 和 std::max 程式碼產生) 。
設定檔引導式最佳化 (PGO)。 我們對 PGO 進行了多項增強,包括改進的參考集、更好的資料佈局功能,以及重複使用先前進行的內聯、速度與大小以及佈局決策的能力。
控制流量防護 (CFG)。 我們新增了一項新的安全功能;只需將新選項新增至您的專案,Visual C++ 編譯器現在就會將額外的安全性檢查注入您的二進位檔中,以幫助偵測劫持程式碼的企圖。 當檢查觸發時,它將在劫持者對您的資料或電腦造成損害之前,停止執行您的程式碼。
備註
我們已更新命令選項。 您現在應該使用 /guard:cf,而不是像以前的版本中使用的 /d2guard4 選項。
Visual C++ 生產力、偵錯和診斷
我們新增了對 C++ 的重構支援,具有以下功能:
重新命名符號 將符號的所有出現位置變更為新名稱。
函數提取 將選取的程式碼移至其自己的函式中。 此重構可作為 Visual Studio 資源庫上 Visual Studio 的延伸模組使用。
實作純虛擬 為類別或結構繼承的純虛擬函數產生函數定義。 支援多重繼承和遞歸繼承。 從繼承類別定義啟動此重構,以實作所有繼承的純虛擬函數,或從基底類別指定元啟動此重構,以僅實作該基底類別的純虛擬函數。
建立宣告或定義 從現有定義產生宣告,或從現有宣告產生預設定義。 從現有的宣告或定義,或從燈泡指示器存取此重構。
移動函數定義 在原始程式碼和標頭檔之間移動函式的主體。 從函式宣告啟動此重構。
轉換為原始字串文字 將包含逸出序列的字串轉換為原始字串常值。 支援的轉義序列有 \n (換行符)、\t (定位符)、' (單引號)、“ (雙引號) 和 ? (問號)。 以滑鼠右鍵按一下字串內的任何位置來啟動此功能。
Visual C++ 中的程式資料庫 (PDB) 增強功能包括下列項目:
掃描性能已提升,尤其是在處理大型解決方案時。
在解決方案掃描期間,除第一次開啟新解決方案時的初始掃描外,移至定義等操作將不再被封鎖。
IntelliSense 可讀性改進:參數說明和 quickinfo 中簡化了複雜的模板實例化和類型定義,使其更易於閱讀。
C++ 中的偵錯工具視覺效果
將 Natvis 偵錯工具視覺效果新增至您的 Visual Studio 專案,以便輕鬆管理和原始檔控制整合。 新增至專案的 Natvis 檔案的評估優先於專案外部的 Natvis 視覺化工具。 如需詳細資訊,請參閱在 偵錯工具中建立原生物件的自訂檢視。
由於 RC,您可以在 Android 上調試 C++ 時使用 Natvis 文件。 偵錯工具包含許多常見範本的視覺效果,並支援載入新增至 C++ 專案的自訂檔案。
原生記憶體診斷
記憶體診斷工作階段 (Alt+F2) 可讓您監視原生應用程式的即時記憶體使用情況。
記憶體快照 捕捉應用程式記憶體堆的瞬時影像。 資料堆狀態的差異可以透過比較兩個記憶體快照來檢查。 在停止應用程式之後,檢視每個執行個體的物件類型、執行個體值和配置呼叫堆疊。
改善從 [監視] 和 [立即] 視窗呼叫 C++ 函式時的死結偵測和復原。
改善的編譯器診斷 - 編譯器提供可疑程式碼的增強警告。 已新增新的警告(例如,陰影變數和不相符的 printf 格式字串)。 現有的警告訊息已變得更加清晰。
/Wv 旗標 - 可以使用 /Wv:XX.YY.ZZZZ 旗標來停用在特定編譯器版本 XX.YY.ZZZZ 之後引入的警告。 除了透過 /Wv 旗標指定的警告之外,還可以特別停用其他警告。
已改善支援偵錯最佳化程式碼的功能 - 使用 /Zi、/Zo 或 /Z7 旗標啟用偵錯程式碼。
Visual C++ 圖形診斷
圖形診斷已改進,具有以下功能:
連續捕獲 在一次拍攝中最多可連續捕獲 30 張。
程式化擷取 以程式設計方式啟動影格擷取。 程式設計擷取特別適用於在從未呼叫 Present 的程式中偵錯計算著色器,或當轉譯問題難以手動擷取,但可以在執行階段從應用程式狀態以程式設計方式預測時。
增強的圖形事件清單 新增了新的 [繪製呼叫] 檢視,可在依繪製呼叫組織的階層中顯示擷取的事件及其狀態。 您可以展開繪製呼叫,以顯示繪製呼叫時目前的裝置狀態,也可以進一步展開每種狀態,以顯示設定其值的事件。
支援 Windows Phone 8.1 圖形診斷現在完全支援在手機模擬器或繫留手機上偵錯 Windows 應用程式。
圖形框架分析 此工具會收集擷取畫面的效能測量值;此外,它還執行一組預先定義的實驗,深入了解應用各種紋理技術時效能將如何受到影響。 框架分析工具同樣會從硬體收集效能計數器。
用於圖形分析的專用用戶界面新的 Visual Studio 圖形分析器視窗是用於分析圖形框架的專用工作區。
著色器編輯和應用 在擷取的記錄中檢視著色器程式碼變更的影響,而無需重新執行應用程式。
在工具-選項->圖形診斷中配置>。
用於捕獲和播放幀的命令行工具。
DirectX 12 的圖形診斷支援。 Visual Studio 圖形診斷工具現在支援偵錯 DirectX 12 應用程式中的轉譯問題。
新的 GPU 使用工具
Visual Studio 2015 中的 GPU 使用量工具可用來瞭解 DirectX 應用程式的 GPU 使用量。 影格時間、影格速率和 GPU 使用率圖表在應用程式上線運行時可用。 此外,藉由收集和分析詳細的 GPU 使用量數據,此工具可讓您深入瞭解個別 DirectX 事件的 CPU 和 GPU 執行時間,因此有助於判斷 CPU 或 GPU 是效能瓶頸。
啟用 Visual C++ 受控測試專案的偵錯
此版本中的新功能:若要啟用 Visual C++ 受控測試專案的偵錯,請移至 [工具] |選項 |偵錯 |一般」窗格,然後核取「在模組載入時隱藏 JIT 最佳化 (僅限受管理)」選項。
C# 和 Visual Basic
語言功能
在此版本中,數個新的 C# 和 Visual Basic 語言功能有助於減少日常程式碼中的樣板和雜亂,鼓勵更具宣告性的程式設計風格,並使這兩種語言更加緊密地結合在一起。 例如,針對類型和成員宣告以及 null 檢查的語法有改進。 此外,局部變數可以在表達式內宣告,await可以在catch和finally區塊中使用。 其中許多功能僅針對早期版本中的兩種語言之一實現,但在最終版本中將適用於這兩種語言。
Nameof 提供一種重構安全的方式來獲取參數、成員或類型的名稱作為字串。
使用 null 條件運算子,您可以在存取和調用成員和索引子時取得內建的 null 檢查。
字串插值:字串插值提供了一種簡明的方式,用於描述將運算式插入格式化字串的字串範本 (僅限於預覽版的 C#,正式版包含 VB 和 C#)。
方法、僅供取值的屬性等現在可以有一個單一表達式作為其本體,就像 lambda 表達式一樣。
自動屬性可以有初始化運算式,而且不再需要設定子。
索引初始化器:在物件初始化器中,您現在可以初始化新物件的特定索引。 僅限 C#。
例外狀況篩選 器可讓您查看例外狀況,並決定是否使用指定的 catch 區塊來攔截它。
對 靜態類別 使用子句可將其靜態成員直接帶入範圍,因此您可以呼叫 WriteLine() 或 Sqrt() 等,而無需以類別名稱為前置詞。
Await 現在適用於 catch 和 finally 區塊,消除了某些非常棘手的解決方法。
程式碼編輯器 UI 和編輯功能
C# 和 Visual Basic 的程式碼編輯器 UI 和編輯體驗已取代為以 .NET 編譯器平臺 (“Roslyn”) 為基礎建置的新體驗。 您今天喜愛的許多功能都已進行了改進或重新設計。
燈泡功能是您在 Visual Studio 編輯器中進行所有快速操作的新平台,包括修復常見程式碼問題和重構程式碼。 當您的程式碼中有問題時,燈泡會顯示這些問題的建議修正。 所有重構操作都已轉移到燈泡上。 您可以隨時透過鍵入 Ctrl + <點>來存取燈泡。
有兩個新的核心重構操作: 內聯臨時變數 和 引入本地。 以下是新 引入區域 功能的範例:
以及 內聯臨時變數的範例:
首次新增了對 Visual Basic 的重構支援,也已移至燈泡。
重命名功能也得到了改進; 現在,編輯器會標示出您要重新命名的識別碼的所有實例,讓您可以同時將新名稱直接輸入到所有實例中。
您可以在輸入時取得即時程式碼分析和自動修正,以及您目標之 Microsoft 平臺和 NuGet 套件的特定程式碼感知指引。 在預覽版中,您必須透過從 NuGet 畫廊取得的 NuGet 套件來新增即時 FxCop 分析器,就像您安裝任何其他套件一樣。 當您引入任何給定的實時規則時,它會取代等效的構建後 FxCop 規則,因此您不會獲得重複的點擊。
以下是適用於 Azure 套件的程式碼分析 範例。
C# 和 Visual Basic 的運算式評估器已重寫。 改善包括在監看與立即視窗中支援 LINQ 和 lambda 運算式。
F#
語言和執行階段功能
F# 4.0 包含許多新的語言和運行時間新增功能,可填補空白、讓更多內容「正常運作」,並改善關鍵區域的效能。 許多錯誤和小型效能最佳化也已在編譯器和執行階段中實作。
建構函式作為第一類函式 - 類別名稱現在可以作為第一類函式值使用,代表該類別的建構函式。
'mutable' 和 'ref' 的統一 - 'mutable' 語法現在可以在任何地方使用,並且捕獲的值將在需要時由編譯器自動轉換為基於堆的 'ref' 值。 新增了新的可選警告,以防開發人員希望在發生這種情況時收到通知。
提供方法的靜態參數 - 類型提供者所提供的個別方法現在可以指定靜態參數。
不可為 Null 的提供類型 - 現在可以透過標準 [
方法引數的隱含引用 - 類型為 Expr<'t> 的方法引數現在可以透明地自動引用,傳遞引數值及產生該值的運算式的 AST。
擴展預處理器語法 - 布林運算子 ||、&& 和 ! 現在可以與 ( ) 分組一起使用,用於 #if 預處理器指令。
測量單位中的有理指數 - 測量單位現在支持有理指數,有時用於物理科學,例如電氣工程
使用 'printf' 樣式函式簡化度量單位值的使用- 單位化數值現在可與數值 printf 格式指定元順暢地運作,而不需要移除單位。
支援高維度 .NET 陣列 - F# 程式碼現在可以使用排名 5 或更高的 .NET 陣列。
物件初始化設定式中的延伸模組屬性 - 現在可以在物件初始化設定式運算式中指派可設定的延伸模組屬性。
繼承自多個泛型介面具現化 - 現在允許 F# 撰寫的類別繼承自實作多個泛型介面具現化的類別。
'StructuredFormatDisplayAttribute' 中的多個屬性 - 透過 [
前置 'Microsoft' 命名空間為選擇性 - 在 FSharp.Core 使用或開啟模組和命名空間時,前置 “Microsoft” 現在是選擇性的。
F# 執行階段
陣列、清單和 Seq 模組的正規化 - 集合處理函式集現在在陣列、清單和 Seq 模組之間保持一致 (不適用於特定類型的 API),並為每個類型提供專用、最佳化的實作。
最佳化結構雜湊 — 已進行重大最佳化,以改善基本類型的泛型雜湊比較效能,進而透過 'distinct' 和 'groupBy' 等 API 提升效能。
最佳化的非結構比較運算子 - 現在可以開啟 FSharp.Core.Operators.NonStructuralComparison 模組,以更有效率的非結構運算子取代預設的 F# 結構比較運算子。 這可以在使用自訂運算子實作處理類型時提供顯著的效能提升,特別是值類型。
F# 清單上的切片語法 - F# 清單現在支援切片語法來取得子清單。
System.Net.WebClient 的非同步延伸模組 - WebClient 延伸模組 AsyncDownloadFile 和 AsyncDownloadData 現在可供使用。
更好的非同步堆疊追蹤 - 現在 F# 非同步計算中的例外狀況會提供更易於使用者理解的堆疊追蹤,讓您更容易診斷問題。
選項的互通 API - 各種新的 API 已被新增至選項模組,用於在 null 物件和 System.Nullable 值之間轉換。
適用於 System.Decimal 值的引用作用模式 - 現在內建作用模式,以比對引用中的常數字面值 System.Decimal 值。
F# IDE 功能
Visual F# 工具中也有新的體驗和功能,以及一些錯誤修正。
腳本偵錯 - F# 腳本現在可以直接在 Visual Studio 偵錯工具中偵錯。
專案範本中的組件中繼資料 - 現在,所有 F# 專案範本都包含一個名為 AssemblyInfo.fs 的檔案,該檔案包含一般的組件層級中繼資料屬性。
整合最新狀態檢查 - F# 專案現在會在 Visual Studio 中建置時正確報告其「最新狀態」。
物件初始化運算式中的 IntelliSense 完成 - 物件初始化運算式現在支援使用Ctrl+空格鍵完成可設定屬性的 IntelliSense。
具名參數的 IntelliSense 自動完成 - 方法與建構函式呼叫現已支援使用Ctrl+空格鍵來自動完成具名參數的 IntelliSense。
資料夾支援的錯誤修正 - Visual F# 工具不直接支援專案中的資料夾,但已修正一些專案系統錯誤,以改善 Visual F# Power Tools 延伸模組所新增的資料夾支援。
.NET Framework 4.6
.NET Framework 的最新版本是 4.6。 它具有應用程式開發技術的許多增強功能,例如 ASP.NET、Windows Communication Foundation 和 Windows Presentation Foundation。 網路、.NET Framework 基類庫和公共語言運行時(包括新的 64 位 JIT 編譯器、通用 Windows 平台應用程序的本機代碼編譯、組件加載器改進)也有變化。
變更的範例包括:
ASP.NET 模型繫結方法現在會傳回工作。
ADO.NET 現在支援 SQL Server 2016 社群技術預覽 2 (CTP2) 中提供的 Always Encrypted 功能。
Windows Presentation Foundation (WPF) 提供更好的觸控支援和改善的 HDPI 版面配置。
除了 SSL 3.0 和 TLS 1.0 之外,Windows Communication Foundation (WCF) 現在還支援 SSL 版本 TLS 1.1 和 TLS 1.2。
.NET Framework 基類程式庫包含記憶體回收、工作型非同步模式和密碼編譯的增強功能。 它還添加了支持 SIMD 的向量類型,以及對兼容性開關的支持,允許開發人員為其庫的新版本支持的功能提供統一的選擇退出機制。
如需新增至 .NET Framework 之新功能的其他詳細資料和完整清單,請參閱 .NET Framework 中的新功能。
實體架構
此版本包含 Entity Framework 7 的預覽版和 Entity Framework 6 的更新,主要包含錯誤修正和社群貢獻。
實體架構 7
新版本的 Entity Framework 支援新的平台和新的資料存放區。 Windows Phone、Windows 市集、ASP.NET 5 和傳統型應用程式現在可以使用 Entity Framework。 此版本的架構支援關聯式資料庫,以及非關聯式資料存放區,例如 Azure 資料表儲存體和 Redis。 它包含安裝在新 ASP.NET 5 專案中的 EF7 執行階段的早期預覽。 如需 EF7 的詳細資訊,請參閱 EF7 的全部內容。
實體架構 6.x
此版本包含 Entity Framework 6.1.3 版本的執行階段和工具。 Entity Framework 6.1.3 包含錯誤修正和社群貢獻;您可以看到 Entity Framework 6.1.3 中包含的變更清單。
在此版本中,Entity Framework 6.1.1 執行階段被納入多個位置。
如果您在尚未安裝 EF 執行階段的專案中使用 Entity Framework 工具建立新模型,則會安裝執行階段。
執行階段會預先安裝在新的 ASP.NET 專案中,視您選取的專案範本而定。
Visual Studio IDE
共享帳戶
此版本的新功能,您可以與其他應用程式共用您在 Visual Studio 中新增的使用者帳戶,例如與 Blend for Visual Studio 或 Microsoft Test Manager (反之亦然)。
共享項目
在此版本中,可以使用新的範本來建立 Visual Basic、C# 和 JavaScript 的空白共用專案。 這些共用專案現在可以由數個專案類型參考:
任何未風味的 VB/C# 專案(例如控制台應用程式、類別庫、Win 表單應用程式)
Windows 市集 8.1 和 Windows Phone 8.1 (VB/C#/JavaScript)
Windows Phone Silverlight 8.0/8.1 (VB/C#)
WPF 和 PCL
您可以透過「共用專案」標籤上的「參考管理員」新增/移除共用專案的參考。共用專案參考會顯示在 [方案總管] 的 [參考] 節點下,但共用專案中的程式碼和資產會被視為連結至主要專案的檔案。
程式碼編輯器 (所有語言)
檔案中尋找功能已改善,可將後續結果附加至先前的結果,並可以刪除累積的結果。
Visual Studio 編輯器現在提供觸控支援,用於下列手勢:
捲動 (在一般和增強型捲軸上的編輯器介面上點選並拖曳)
捏合縮放
點選編輯器邊界以選取整行,並點兩下以選取單字
按住呼叫編輯器內容功能表
我們意識到觸摸的一個問題,即雙擊手勢在較低的縮放級別下並不總是可靠的。 我們希望聽到有關新觸控支援的回饋,特別是您可能發現的任何問題。
XAML 設計工具
Visual Studio 客戶現在可以在其使用內容中編輯存儲在外部資源字典中的模板和樣式。 此體驗已進一步改良,可使用 Peek 在 XAML 設計工具中啟用真正的原地(In-Situ)資源編輯。
自訂視窗佈局
您現在可以按一下「視窗」功能表中的「儲存視窗配置」來儲存自訂視窗配置,並按一下「視窗」功能表中的「套用視窗配置」來套用自訂配置。 您也可以使用預先指派的鍵盤快捷鍵來套用版面配置。 前九個佈局還具有從 Ctrl + Alt + 1 到 Ctrl+Alt+9 的鍵盤快捷鍵。 您可以執行的其他工作包括刪除、重新命名和重新排序佈局,方法是從「視窗」功能表中按一下「管理視窗佈局」。
高解析度圖標
當您的裝置以超過 100% DPI 縮放比例執行時,Visual Studio 支援命令列、工具視窗工具列 (標準)、主功能表、錯誤清單、狀態列和某些方案總管專案類型中的高解析度圖示。
使用者介面改進
選單現在以標題大小寫樣式顯示,而不是全部大寫樣式。
[Visual C++ 屬性頁面] 對話方塊的 [設定] 和 [平臺] 下拉式清單值已變更,以記住關閉並重新開啟屬性頁面時的上次使用者選取。
Visual Studio 意見反應
我們增強了「發送皺眉」功能,搭配更好的工具來報告速度緩慢、掛起和崩潰。 您現在可以附加檔案或標記您的意見反應,以更好地描述問題。 此外,我們更新了 反饋 圖標和菜單項目以提高可發現性。
Visual Studio 擴充性
您現在可以在 Visual Studio 延伸模組中使用高解析度圖示。
此版本不再支援增益集。 我們移除了 Visual Studio 增益集專案範本和增益集管理員。 建議您將插件轉換成 VSPackage 擴充功能。 如需詳細資訊,請參閱 常見問題集:將增益集轉換成 VSPackage 延伸模組。
您現在可以開啟擴充性專案,即使您沒有安裝 Visual Studio SDK。
此外,您可以使用 Visual Studio 安裝程式來安裝 Visual Studio SDK;您不再需要訪問網站。 若要這麼做:在 [新增移除程式] 功能表上,以滑鼠右鍵按一下 [Visual Studio 2015],然後選取 [修改]。 從 [Visual Studio 設定] 對話方塊中,檢查 [常用工具] 底下的 [Visual Studio 擴充性工具]。
若要提高擴充專案的可攜性和共用性,您可以使用 Visual Studio SDK 參考元件的 NuGet 版本。 如需詳細資訊,請參閱 Visual Studio 擴充性所發佈的元件。
深入瞭解 Visual Studio 擴充性。
混合
我們重新設計了適用於 Visual Studio 2015 的 Blend,為您提供改進的使用者介面開發體驗,以建立漂亮的 XAML 應用程式。 Blend 具有與 Visual Studio 一致的時尚新外觀、對解決方案和團隊資源管理器的支持,以及豐富的文件重新加載體驗,以促進 Blend 和 Visual Studio 之間更好的工作流程。 我們還提供了 Blend 最想要的功能,以幫助您提高工作效率:
您現在可以使用 XAML IntelliSense 更有效率地撰寫 XAML,該功能提供語句完成和導航至來源。
您還可以使用 XAML Peek 定義在使用的情境中檢視和編輯 XAML 控制項和資源。
現在,使用 UI 工具進行 XAML 偵錯,更輕鬆地尋找和修正執行中應用程式中的 UI 問題,可讓您檢查即時視覺化樹狀結構和樹狀結構中任何元素的屬性。
新增 NuGet 支援後,您可以在 Blend 中管理 NuGet 套件。
我們也將動畫工作區功能取代為更強大的同步版面配置功能,您可以使用該功能來建立許多不同的視窗版面配置,並在電腦之間漫遊。
對於寧願使用鍵盤而不是鼠標的高級用戶,我們使 Blend 設計器窗格完全可通過鍵盤訪問。
最後,作為 Microsoft 致力於創建普遍可訪問軟體的持續努力的一部分,Blend 現在支援螢幕閱讀器及高對比度顯示模式。
若要深入瞭解 Blend 新增的新功能,請瀏覽我們的 預覽 部落格文章。
偵錯和診斷
受管理編輯並在附加時繼續
從 RC 版開始,您可以在附加至 .NET 應用程式時編輯並繼續操作,以及在環境變數
complus_forceenc在目標程序中設定為 1。
中斷點設定
新的 [岔斷點設定] 視窗可讓您指定岔斷點的條件和動作。 此視窗包含對中斷點條件和動作的改進 IntelliSense 支援。 您可以使用復原 (CTRL+Z) 來還原已刪除的岔斷點。
偵錯工具視窗中的 Lambda 運算式
您現在可以在 C# 和 Visual Basic 的 [監看]、[立即] 和其他除錯工具視窗中使用 lambda 運算式。
PerfTips
您可以使用 PerfTips 功能來查看在編輯器中設定中斷點並步進執行偵錯工具時,程式碼執行所耗費的時間。
GPU 使用量
您可以使用 GPU 使用量工具來了解 DirectX 應用程式的 GPU 使用量。 當應用程式即時執行時,可以使用影格時間、影格速率和 GPU 使用率圖表。 此外,透過收集和分析詳細的 GPU 使用數據,此工具可以提供對每個個別 DirectX 事件的 CPU 和 GPU 執行時間的深入分析,因此有助於判斷 CPU 或 GPU 是效能瓶頸。
C++ 偵錯工具的改善
當 C++ 偵錯工具在中斷點停止時,它可以執行程式碼以計算結果,例如在 [監看] 和 [立即] 視窗中顯示資料。 如果偵錯工具偵測到呼叫的函式死結,它會嘗試解決問題。
當 C++ 偵錯工具啟動進程時,Windows 現在會使用一般堆積來配置記憶體,而不是使用偵錯專用堆積。 這樣可以更快地啟動調試。
XAML 的 UI 偵錯工具
我們新增了兩個新工具,即時視覺化樹狀結構和即時屬性總管,可檢查執行中 WPF 應用程式的視覺化樹狀結構,以及樹狀結構中任何元素的屬性。 這些工具可讓您選取執行中應用程式中的任何元素,並顯示最終、計算和轉譯的屬性。 這些工具還包括以下內容:
即時視覺樹。 現在,您可以在偵錯工作階段期間檢視執行中應用程式的完整視覺化樹狀結構。 當您在 Visual Studio 中按 F5 或附加至執行中的應用程式時,即可使用即時視覺化樹狀結構。 您可以使用「即時視覺樹狀結構」來選取執行中應用程式中的元素,以便在「即時屬性總管」中進行檢查。 會顯示後代計數,如果來源資訊可用,您可以立即找到元素定義的檔案和位置。
Live Property Explorer。 使用此新工具來檢查執行中應用程式中任何元素上設定的屬性,並依設定的範圍分組。 您可以在偵錯工作階段期間修改這些屬性,並立即在執行中的應用程式中查看其變更。
在設計時,理解屬性如何相互覆寫並找出優勢行為可能會很困難。 現在,藉由使用我們適用於 XAML 的新 UI 偵錯工具,您可以在執行階段執行這些檢查。
(對 Windows 應用商店應用程序的支持將在未來的更新中發布。
例外設定
您可以使用 [例外狀況設定] 工具視窗來設定偵錯工具例外狀況設定。 新視窗是非模態的,包括改進的效能、搜尋和篩選功能。
時間軸工具
我們的新時間軸工具為您提供以場景為中心的資源檢視,瞭解您的應用程式所取用的資源,您可以使用這些檢視來檢查、診斷和改善 WPF 和 Windows 市集 8.1 應用程式的效能。
效能和診斷中樞中的 [時間表] 工具會顯示應用程式在準備 UI 框架以及服務網路和磁碟要求時所花費的時間。 該工具在應用程式載入和頁面載入等場景的內容中執行此操作。
診斷工具
我們已新增新的 [診斷工具] 視窗,當您開始偵錯時會出現 (按 F5) 。 「診斷工具」視窗包含下列功能:
事件 (使用 IntelliTrace)
事件 (使用 IntelliTrace) 可讓您存取偵錯工作階段期間收集的所有偵錯工具中斷、輸出和 IntelliTrace 事件。 資料會以時間軸和表格檢視的形式呈現。 兩個視圖是同步的,可以相互互動。
記憶體使用量
記憶體使用量工具可讓您在偵錯時監視應用程式的記憶體使用量。 您也可以建立和比較原生記憶體和受控記憶體的詳細快照集,以分析記憶體成長和記憶體流失的原因。
CPU 使用量
CPU 使用率工具可讓您在偵錯時監視應用程式的 CPU 使用率。
(此工具會取代 Visual Studio 2015 預覽版中可用的 CPU 時間 PerfTip。)
在舊版中,「診斷工具」視窗支援下列專案類型和偵錯組態:
受控 WPF、WinForms 和主控台專案
原生 Win32、主控台和 MFC 專案
ASP.NET 4 僅使用 IIS Express
在本機執行的受控或原生 Windows Store 專案
(不支援使用 JavaScript 或在手機上執行的 Windows 市集專案)
RC 版本中的 [診斷工具] 視窗有下列改進:
它可以移至 Visual Studio 內的任何視窗位置,並記住偵錯會話之間的位置和大小
當使用「偵錯 -> 附加至進程」連結至進程時,它會出現並顯示單一進程的資料
偵錯在 IIS 上執行的 ASP.NET 專案時會出現它
調試 ASP.NET 5 個專案時會出現
偵錯在遠端 Windows 桌面裝置上執行的應用程式時,會出現此畫面
停止偵錯後,即可檢視記憶體快照集
除錯器事件(僅限中斷事件)在除錯原生計畫時可用
我們也為 RC 版本新增了以下新功能:
只是我的代碼。 當您按 F5 啟動偵錯工具時,它只會顯示您的程式碼,讓您可以瞭解效能問題和例外狀況,而不會產生來自架構和其他程式碼的雜訊。 由於 IntelliTrace 中的這項新程式碼篩選功能會隱藏系統程式碼,而且只會公開使用者程式碼,因此可讓您更輕鬆地偵錯「僅我的程式碼」。
網路診斷工具。 這個新的網絡診斷工具可以幫助您在構建 Windows 應用商店應用程序以及在所有 Windows 10 設備上運行的通用應用程序(從 Windows Phone 到 Xbox 和 Windows 應用商店)時診斷與網絡相關的問題。
網路診斷工具會記錄應用程式 HTTP 網路作業的相關資訊,包括 HTTP 要求和回應標頭、要求和回應承載、Cookie 和詳細計時資訊等。 網路診斷工具也可協助回答常見問題,例如:
驗證相關問題 (例如,為什麼您無法存取資源)
快取相關問題 (例如,為什麼您無法取得資源的最新版本)
執行應用程式的常用功能時會下載多少位元組
存取和下載資源時的瓶頸在哪裡
若要存取 [網路] 工具,請在 Visual Studio 2015 中開啟 [診斷工具] 視窗。 在 [偵錯] 功能表中,選取 [啟動診斷工具(不偵錯)]。 或者,只需按 Alt+F2。
我們對偵錯時出現的 [診斷工具] 視窗進行了下列改進:
應用程式中的事件現在會出現在單一 IntelliTrace 事件追蹤中,而不是在 IntelliTrace 事件和輸出事件追蹤之間分割。
應用程式中的事件現在會在程式執行時顯示;現在您不再需要按“全部中斷”來查看事件。
您現在可以針對在程式碼中設定的追蹤點啟用 [歷程偵錯],以檢視原始程式碼和呼叫堆疊。
您現在可以在 [記憶體使用量] 圖表上查看記憶體回收和快照集事件,以便查看受管理記憶體回收何時發生,以及何時使用 [記憶體使用量] 工具建立快照集。
ASP.NET
ASP.NET 4.6
ASP.NET 模型繫結支援任務傳回方法
ASP.NET 先前返回 Task 的模型繫結方法不受支援,如果已設定,在執行時會擲回例外狀況。 如果使用這類方法部署應用程式,則現在會正確執行這些方法。 此變更僅適用於專門以 .NET 4.6 或更新版本為目標的應用程式。
在 ASP.NET 應用程式中啟用 .NET 編譯器平台 (「Roslyn」)
您可以在任何 ASP.NET 4.6 專案中使用 C# 和 VB 的新語言功能。 VS 2015 中的 Web 表單範本已預先安裝 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 套件。
新增對 HTTP/2 的支援
在 Windows 10 和 .NET Framework 4.6 中,我們新增了對 HTTP/2 的支援。 HTTP/2 的主要目標是透過使用從瀏覽器到網站的單一連線來改善效能、延遲和網路使用量。
已更新架構和控制項以支援 Entity Framework 6
我們更新了動態資料架構、實體資料來源控制和通用提供者,以便它們與 Entity Framework 6 搭配使用。
驗證更新
ASP.NET 4.6 範本現在會使用 Open Id Connect 中介軟體來向 Azure AD 進行驗證。 這可讓程式設計模型更輕鬆地向 Azure AD 進行驗證。
如果您選擇“個人用戶帳戶”選項,則 ASP.NET 4.6 模板將顯示如何使用雙因素身份驗證和使用 ASP.NET 身份的社交登錄。
ASP.NET MVC 5.2.3、網頁 3.2.3 和 Web API 5.2.3
我們已更新範本套件,以使用 MVC 5.2、網頁 3.2 和 Web API 2.2 的最新執行階段套件。 如需這些套件更新的詳細資訊,請參閱 ASP.NET MVC 5.2.3、網頁 3.2.3 和 Web API 5.2.3 版本 部落格文章。
ASP.NET Web API OData 5.3.1
我們已將 Web API OData 的程式碼樣板更新為使用 ASP.NET Web OData 5.3.1。 如需詳細資訊,請參閱 ASP.NET Web API OData 5.3 的新功能。
SignalR 2.1.2
我們已更新範本套件以使用 SignalR 2.1.2。 請參閱 GitHub 上的 SignalR 版本資訊 。
Microsoft Owin 3.0 套件
我們已更新範本套件,以使用 Microsoft Owin 3.0 NuGet 套件。 請參閱 Katana 專案。
ASP.NET 身份識別 2.2.1
ASP.NET Identity 2.2.1 比 2.1 有許多錯誤修正和效能改進。 閱讀這篇 ASP.NET 身份識別 2.2.1 部落格文章以了解更多詳細資訊。
ASP.NET 工具更新
JSON 編輯器改進
我們已在 JSON 編輯器中進行一些改善,包括效能改善,例如非同步載入 JSON 結構描述、快取子結構描述,以及支援更好的 IntelliSense。 此外,還有以下新功能:
JSON 結構描述驗證。 根據結構描述下拉式清單中定義的結構描述,新增 JSON 結構描述驗證功能。
取消縮小上下文菜單。 您可以以滑鼠右鍵按一下 JSON 編輯器,然後選取 取消縮小內容功能表 ,以取消縮小 JSON 檔案中的任何長陣列。
重新載入結構描述內容功能表。 Visual Studio 會快取從因特網下載的 Schema,即使在您重新啟動 Visual Studio 之後也會使用該快取。 如果您知道結構描述已變更,您可以使用內容功能表 重新載入結構描述 Ctrl+Shift+J 在作用中 JSON 文件中重新下載目前使用的結構描述,然後立即在目前文件上使用它。
IntelliSense 支援 package.json/bower.json。 除了證明 package.json 和 bower.json 檔案的 IntelliSense 和驗證之外,Visual Studio 也直接在 JSON 編輯器中為 Bower 和 npm 套件提供即時 IntelliSense。
重複屬性驗證。 JSON 編輯器現在會提供任何重複屬性的驗證。 這有助於發現 JSON 檔案編寫的常見問題。
透過完全支援 JSON 架構草稿 v4 規格,對 IntelliSense 和 JSON 檔案驗證的支援已大幅改善。 現在,識別所需屬性變得更加容易,編輯器可讓您輕鬆地按字母順序排序屬性。 格式化縮小的 JSON 檔案現在會自動取消縮小。
我們新增了對 SchemaStore.org 的支援,這是有用 JSON 結構描述檔案的開放原始碼集合。 這表示在 Visual Studio 中開啟的任何 JSON 檔案,如果其架構與 SchemaStore.org 相關聯,都會自動取得 IntelliSense 和驗證。
對 JSON 結構描述作者的支援也透過更好的結構描述健全性驗證得到增強。
HTML 編輯器改進
HTML 編輯器已更新 Web 標準的 IntelliSense,並引進下列新功能:
更好的客戶端模板格式。 HTML 編輯器不再解析或格式化雙重花括號語法 {{...}}。 這是為了確保該語法的內容不會被處理為 HTML 並因此失效,也不會嘗試格式化內容,這無法使用 HTML 格式化程序正確完成。 這非常適合 Angular、Handlebars、Mustache 和其他雙捲曲模板語法。
支持自定義元素、聚合物元素和屬性。 HTML 編輯器不再驗證自訂元素的未知屬性,因為不同的架構有許多自訂標籤。 未知元素下將不再有波浪線。
適用於 Web 元件的基本 IntelliSense。 HTML 編輯器針對 提供 IntelliSense,這是 Web 元件標準的一部分。
HTML 元素工具提示。 編輯器中為 HTML 元素提供工具提示。
#region 支援。 HTML 編輯器現在支援區域折疊。 您也可以使用周圍的程式碼片段來包圍目前的選取範圍。
任務列表中的待辦事項/黑客評論支持。
Angular 圖示。 兩個 Angular 指令 (例如 <
Bootstrap 圖示。 如果類別名稱是由 Bootstrap CSS 檔案定義,則 HTML 類別屬性中提供的 IntelliSense 現在會顯示與 Bootstrap 標誌一起顯示。
CSS/LESS/Sass 編輯器改進
任務列表中的待辦事項/黑客評論支持。
@viewport 修復 LESS 編輯器。 在 LESS 編輯器中, @viewport 不再顯示驗證警告。
提供更多程式碼片段。 CSS/LESS/Sass 編輯器現在提供了更多片段,讓您的開發體驗更加輕鬆。
Visual Studio 2015 現在提供擴充功能,可編譯 LESS、Scss 和 CoffeeScirpt。 在 這裡下載。
JSX 編輯器 (React.js)
Visual Studio 現在支援任何副檔名為 .jsx 的檔案的 JSX 語法。 當您輸入時,可在編輯器中同時取得 IntelliSense、格式設定及驗證功能。 該編輯器是與負責 React.js 庫的 Facebook 團隊合作構建的。
瀏覽器連結
CSS 會自動同步。 儲存 CSS 檔案或從外部變更 (例如,使用 LESS/SASS 編譯器) 會導致整個 CSS 檔案在瀏覽器中重新載入。 如果檔案無法自動同步,Ctrl + S 會導致自動重新載入,並且應該將其恢復到良好狀態,而不需要重新整理連結的瀏覽器 (Ctrl + Alt + Enter)。 可以在工具欄中禁用該功能。
進一步了解 ASP.NET。
ASP.NET 5
ASP.NET 5 是一個精簡且可組合的 .NET 堆疊,用於為雲端和內部部署伺服器建置新式 Web 應用程式。 其中包含下列功能:
新的輕量型請求管線
在 IIS 上執行,或在您自己的程式中自行裝載
建置在新的 .NET 執行環境 (DNX) 上,可在完整的 .NET Framework 或 .NET Core 上執行,這是一種新的雲端最佳化執行階段,支援真正的並存版本設定
在 Windows、Mac 和 Linux 上跨平台運行
NuGet 所有項目,甚至是執行階段本身
支援 ASP.NET MVC 6 - Web UI 和 Web API 的統一 Web 架構
基於環境的配置設定,可無縫過渡到雲端服務
開箱即用的相依性注入
新的 Visual Studio 專案系統和高生產力工具體驗
所有的開源原始碼皆透過 .NET Foundation 在 GitHub 上託管。
Visual Studio 2015 包含 ASP.NET 5 beta5 執行階段套件。 這些套件仍處於預覽狀態,不建議在生產環境中使用。 您可以在 GitHub 上 發佈的版本資訊 中找到新增的特定增強功能和修正問題的所有詳細資訊。
Visual Studio 2015 隨附新的專案系統和整合式工具體驗,可建置 ASP.NET 5 應用程式,以及使用 DNX 專案。 一些新的工具功能包括:
用於創建在 Windows、Mac 和 Linux 上構建和運行的跨平台 DNX 項目的新項目系統。
使用 MVC 6、身分識別 3 和 Entity Framework 7 建立 ASP.NET 5 個網站和 Web API 的範本。
用於建立 DNX 型類別程式庫和主控台應用程式的範本
透過 NuGet 建立和散發跨平臺命令列工具。
從開發人員命令提示字元使用 .NET 版本管理器 (DNVM) 安裝和管理不同的 DNX 版本。
尋找、安裝和還原 NuGet 套件的整合式體驗。
使用 CTRL + 。 以尋找並安裝 C# 程式碼中未解析符號的 NuGet 套件。
使用 NPM、Grunt/Gulp 和 Bower 進行用戶端 Web 開發的整合工具,包括套件管理整合和新的 Task Runner Explorer。
使用 [執行] 按鈕下拉式功能表,直接從 Visual Studio 內執行專案層級 DNX 命令。
建立啟動 IIS Express 的自訂啟動配置檔,包括自訂環境變數的設定。
從以多個架構為目標的單一專案建置 NuGet 套件,包括 .NET Core。
在從單一專案建置多個目標架構時,結合了 IntelliSense 功能。
ASP.NET 5 引入的新 Razor 功能,例如標籤助手,現在在 IntelliSense 和語法突出顯示中都會亮起。
此版本中的新功能
當您開啟需要無法使用的 DNX 版本的專案時,Visual Studio 會提示安裝所需的 DNX 版本。
您現在可以使用「加入參考」對話方塊添加參考至缺失的組件。
ASP.NET 5 Web 應用程式範本現在支援 [公司和學校帳戶] 選項進行驗證。
「新增 ASP.NET 專案」對話方塊中的「雲端主機」選項現在可用於 ASP.NET 5 個專案。
使用伺服器總管,針對裝載在 Azure 上的 ASP.NET 5 個專案,在 approot 下遠端編輯檔案。
如需其他詳細資料,請參閱 GitHub 上的 工具版本資訊 ,以及我們的 .NET Web 開發和工具部落格。
Azure 工具
帳戶選擇器整合
帳戶選擇器用於整個 Web 發佈和 Web 應用程式建立/選取對話方塊,以啟用對多個帳戶的一鍵存取。 您可以登入多個帳戶一次,並在發佈資源時快速輕鬆地選取個別帳戶。
API 應用程式
API Apps 預覽範本、發佈支援和伺服器總管可見度都已移轉至 Visual Studio 2015。 現在,您可以使用最新版本的 Visual Studio 建立和部署 Azure API Apps。 此外,我們改進了 Swagger 輸出功能,使 API 應用程式開發人員更好地支援從 ASP.NET Web API 動態產生的 Swagger,提供更完善的即時支援。
WebJobs 工具
您現在可以透過下列方式控制 Azure 網站內伺服器總管 WebJob 節點上的 Web 作業:
WebJobs 節點位於伺服器總管中網站節點下方。
從伺服器總管啟動/停止連續 WebJob。
從伺服器瀏覽器執行隨選或排程作業。
從伺服器總管檢視 WebJob 儀表板。
檢視儀表板內容功能表;使用它來移至 Azure 網站的 WebJob 儀表板。
WebJobs SDK
Azure WebJob 專案範本已預先安裝 WebJobs SDK。
NuGet
NuGet 2.8.3
我們已新增 DevExtreme 專案和 BizTalkProject 2.8.3 的支援。 如需詳細資訊,請參閱 NuGet 2.8.3 版本資訊。
NuGet 套件管理員
我們更新了 NuGet 套件管理員使用者介面,以便在 Visual Studio 2015 中更輕鬆地管理整個解決方案中的套件。 透過專案中安裝的套件的單一檢視,您可以篩選 NuGet 資源庫中的可用套件清單、已安裝的套件,以及具有可用更新的套件。
NuGet 資源庫
我們使用新的 Web 服務和整合式用戶端改善了 NuGet 資源庫的效能。 如需 NuGet 更新的詳情,請參閱http://docs.nuget.org。
JavaScript
JavaScript 編輯器支援
我們更新了 JavaScript 編輯器,使其更加有用。
AngularJS 的工具支援。 現在,當您使用 AngularJS 撰寫應用程式時,IntelliSense 會提供 Angular 控制器、服務、處理站、指示詞和動畫的建議。
支援新的 JavaScript 語言功能 (來自 ES6 版本的 JavaScript),包括類別、箭頭函數和範本字串。
導航欄共享項目支持。 您現在可以使用 Windows 通用應用程式專案的共用專案中的導覽列。
新的導航欄。 新的導覽列可讓您更輕鬆地在 JavaScript 原始程式碼中的主要元素之間瀏覽。
JSDoc 評論道。 使用 IntelliSense 時,現在會顯示以 JSDoc 格式撰寫的檔註解。 (如需 JSDoc 註解的詳細資訊,請參閱 https://jsdoc.app/。
物件字面值 IntelliSense。 JavaScript 編輯器會在將物件常值傳遞至使用 JSDoc 記載的函式時,提供 IntelliSense 建議。
展開/折疊。 您可以展開和折疊 JavaScript 程式碼的更多部分,包括多行註解、多行陣列和所有多行區塊。
任務清單支援。 您可以使用任務清單功能來檢閱 JavaScript 程式碼中的任務註解,例如 // TODO。
類型腳本
Visual Studio 2015 包含 TypeScript 工具的 1.5 版本 。 此版本新增了對 ECMAScript 6 的豐富支援,包括模組、解構、for.。of、spread、symbols、計算屬性、ES3/ES5 的 let/const,以及 ES3/ES5 的標記字串範本。 除了對 ES6 的支持外,TypeScript 1.5 還增加了對實驗性 ES7 裝飾器提案、UMD 和 System.js 模組輸出的支持,以及一個名為「tsconfig.json」的新輕量級可移植專案檔案。
IntelliTest
在 Visual Studio 2015 中,我們新增了 IntelliTest,以探索您的 .NET 程式碼以產生測試資料和一組單元測試。 對於程式碼中的每個陳述式,都會產生一個測試輸入來執行該陳述式。 會針對程式碼中的每個條件式分支執行案例分析。 例如,
會分析所有可能擲回例外狀況的作業,例如 if 條件語句和斷言。 此分析可用來產生每個方法參數化單元測試的測試資料,以建立具有最大程式碼涵蓋範圍的單元測試。 然後,您利用您的領域知識來改進這些單元測試。
我們也將下列功能新增至 IntelliTest:
參數化單元測試。 IntelliTest 會支援 API,可用來引導測試資料產生、指定受測程式碼的正確性屬性,以及指導探索受測程式碼。 此 API 可在 Microsoft.Pex.Framework 命名空間中使用,並可用於 IntelliTest 所產生的測試方法 (參數化單元測試、處理站方法)。 因此,「IntelliTest」操作功能表命令現在也可以從產生的測試方法中使用。
測試存根建立。 「建立單元測試」現在可在操作功能表上作為命令使用,提供建立和設定測試專案、測試類別和測試存根的能力。
如需 IntelliTest (先前稱為「智慧型單元測試」) 的詳細資訊,請參閱 使用 IntelliTest 產生程式碼的單元測試。
應用程式深入解析
除了各種效能增強功能和錯誤修正之外,Application Insights 現在還包含下列更新:
Visual Studio 中的 Application Insights 工具現在是 Visual Studio 連線服務的一部分。 (若要新增 Application Insights,請開啟 [連線的服務] 對話方塊,然後從服務清單中選擇 [Application Insights]。
此更新與在 Visual Studio 2013 Update 3 或 Visual Studio 2013 Update 4 中新增 Application Insights 的專案完全相容。
ASP.NET 5 位開發人員、Windows 10 通用應用程式開發人員和 Windows 8.1 通用應用程式開發人員可以直接從 Visual Studio 將 Application Insights 新增至其專案。
Windows 10 通用應用程式開發人員不需要登入 Azure 即可新增 Application Insights SDK;相反地,他們可以使用 Visual Studio 中的 Application Insights 工具來新增它。
由於 Application Insights 會在 Visual Studio 中使用全域帳戶選擇器,因此您可以在 Visual Studio 中使用相同的帳戶。
現在,您可以直接從專案的 [服務參考] 資料夾檢視 Application Insights 的「入門」資訊;只需單擊“入門”文件夾即可。
發行管理
透過此功能,您可以改善管理應用程式發行的程序、將應用程式部署至每個個別階段的特定環境,以及管理程序中的步驟,並取得每個步驟的核准。 您可以設定從簽入到部署的發行管線,而不需要使用 Visual Studio Online 的發行管理服務來安裝和維護內部部署發行管理伺服器。
Visual Studio 2015 的 Release Management 更新版本可供使用。 這與 Visual Studio 2013 的現有 Release Management 非常類似,但在下列區域提供改善的效能:
發行管理用戶端啟動頁面,顯示發行程序和通知的概觀。
透過額外快取來增強其他發行管理用戶端頁面的渲染和互動功能。
Active Directory 和 TFS 安全性群組的同步處理。
創建新版本。
您現在可以為 Team Foundation Server 2015 中包含的新組建系統的組建定義,定義其元件和發佈定義。 定義元件時,您也可以使用與建置定義中已發佈構件名稱相同 (或包含) 的元件名稱來指定元件的構件。
Git 版本控制
使用分支並查看歷史記錄中的變化如何分化會更容易。
分支
您可以指定前置詞,以階層方式組織分支:
本地分支和遠端分支(包括您尚未在本地創建的分支)將會分開顯示在樹狀檢視中。
從 RC 開始,我們重新設計了分支頁面:
您現在可以從遠端分支以及本機分支進行合併。
您要合併的分支現在已固定至目前已檢出的分支。
您現在可以從目前的分支變基到任何本機或遠端分支。
您可以按兩下遠端分支,或以滑鼠右鍵按一下它,然後選取 [簽出]來簽出遠端分支。
遙控器管理
您現在可以在團隊總管中配置您的 Git 遠程器。 在儲存庫設定中,有一個新的遠端部分,顯示目前設定的遠端,您可以在其中新增、編輯或移除遠端。
例如,如果您需要變更原始遠端的 URL,您可以按一下 編輯 並變更擷取和/或推播 URL。
詳細歷史
您現在可以看到提交在歷史記錄中的差異。
在圖表中,合併提交是灰色的,非合併提交則是較亮的顏色。 您可以在簡單視圖和詳細視圖之間來回切換。 如果圖表被截斷,您可以調整其大小。
我們對 RC 版本中的「歷程記錄」圖表進行了數項更新:
我們新增了一個工具列,可讓您控制在圖表中看到的詳細程度。
我們現在將歷史記錄行高亮顯示,以指示哪些提交可從當前選取的提交點存取。
如果本機和遠端分支不同,我們現在會顯示兩行歷史記錄。 在進行本地分支重新基底後,這特別有用。
在 Team Explorer 執行 Rebase
我們現在支援 Team Explorer 中的 rebase。 若要起始變基,請按一下 [分支] 頁面上的變基選單,或以滑鼠右鍵按一下分支,然後選取 [“變基至...”]
VSO 儲存庫
我們改善了建立 VSO 存放庫時的「快速入門」體驗,並且即將進行更多變更以簡化新存放庫的建立。 針對 RC,我們進行了小變更,以便更輕鬆地將新程式碼新增至現有的存放庫:如果您使用小組總管連線到任何存放庫,然後選取 [檔案 > 新增專案],對話方塊現在會從該已連線存放庫的根目錄開始。
發佈至 Visual Studio Online
使用 [發佈至 Visual Studio Online] 功能,可以大幅簡化將本機存放庫發佈到 Visual Studio Online 的過程。 過去需要 12 步,現在需要 2 步。 從 [小組總管同步處理] 頁面中,新的 [發佈至 Visual Studio Online] 區段可讓您選取 Visual Studio 帳戶管理員中的任何使用者帳戶。 您的 Visual Studio 線上帳戶會自動在清單中提供;無需記住 URL。 當您準備好共用程式碼時,只要挑選新的或現有的小組專案來裝載您的存放庫,按一下 [發佈],即可完成。
單一登入
與當今許多其他開發人員一樣,您在開發應用程式時會利用多個雲端服務。 例如,您可能已將雲端後端新增至應用程式以儲存資料、將原始程式碼儲存在雲端,或將應用程式發佈至存放區。
過去,這些服務中的每一個都需要單獨的登入程式,而且每個服務都會個別管理登入的使用者狀態。
在此版本中,我們會減少存取 Visual Studio 中許多整合式雲端服務所需的驗證提示。 現在,當您向 Visual Studio 中的第一個雲端服務進行驗證時,我們會自動將您登入,或減少其他整合式雲端服務的驗證提示。
CodeLens 的
進一步瞭解您的程式碼,同時專注於編輯器中的工作。 尋找程式碼參考、程式碼變更、相關 TFS 專案和單元測試,所有這些都不需要將目光從程式碼上移開。
在此版本中,我們已將 CodeLens 的「作者」指標取代為新的「小組活動時間表」和「作者和變更」歷程記錄指標。
「團隊活動時間表」指標會顯示上一位作者,以及上次進行變更的時間。 選擇此指標會開啟 [小組活動檢視],您可以在其中尋找程式碼變更中的型樣。 這可協助您評估變更隨時間推移的影響。
「 作者和變更」 指示器會顯示已變更檔案的作者數目,以及變更數目。 選擇此指標會開啟所有變更的清單、變更的詳細資料,以及取得詳細資訊和查看舊版的連結。
當您的程式碼裝載在 Team Foundation 版本控制 (Team Foundation Server 和 Visual Studio Online) 和 Git 存放庫中時,指標中的所有資訊都可用。 當您在 Team Foundation Server 或 Visual Studio Online 中工作時,您也可以取得工作專案的相關資訊。
這些指標與舊版中可用的指標一起顯示在 C# 和 Visual Basic 檔案的程式碼元素 (方法、欄位或類別) 層級。 以下是 C# 檔案的小組活動時間表指標範例:
以下是 C# 檔案的 [作者和變更] 指標範例:
不過,指示器現在會顯示在所有其他類型檔案 (例如 C++、SQL、JavaScript 及其他類型檔案) 的檔案層級。 以下是非 C# 或 Visual Basic 程式碼檔案的小組活動時間表指標的範例:
架構、設計和建模
程式碼對應和相依性圖表
當您想要瞭解程式碼中的特定相依性時,請建立 程式碼對應來視覺化它們。 然後,您可以使用程式碼旁邊顯示的地圖來導覽這些關係。 程式碼對應也可協助您在工作或偵錯程式碼時追蹤您在程式碼中的位置,因此您在深入瞭解程式碼設計的同時,會讀取較少的程式碼。
在最終的 RTM 版本中,我們透過將命令分組為與選取、編輯、管理群組和變更群組內容配置相關的區段,讓程式碼元素和連結的快捷功能表更容易使用。 另請注意,測試專案的顯示樣式與其他專案不同,而且我們已將地圖上元素的圖示更新為更合適的版本。
我們也變更了程式碼元素內容的顯示方式,因此您現在可以選取多個群組,並將您想要的版面配置樣式套用至所有群組。 現在,當您在程式碼對應上展開元件、命名空間或類型時,您一律可以取得有用的相依性圖表。
在 Visual Studio 2015 的舊版預覽版和候選版本中,我們已進行變更,可讓您:
取得改進的自上而下的圖表。 針對中型到大型 Visual Studio 解決方案,您現在可以使用簡化的 [架構] 功能表來取得解決方案更實用的程式碼對應。 解決方案的元件會依解決方案資料夾分組,因此您可以在內容中查看它們,並利用您在建構解決方案時所投入的工作。 您將立即看到專案和組合參考,然後出現連結類型。 此外,解決方案外部的組件會以更緊湊的方式分組。
更快速地取得響應式程式碼對應。 拖放操作會產生立即結果,並且更快地創建節點之間的鏈接,而不會影響後續用戶啟動的操作,例如展開節點或請求更多節點。 特別是,「略過重建解決方案」選項可讓您在建立和編輯圖表時獲得更好的效能。 當您建立程式碼對應而不建置解決方案時,現在會處理所有角落案例,例如未建置的元件。
篩選程式碼元素節點和群組。 您可以根據類別顯示或隱藏程式碼元素,以及依解決方案資料夾、元件、命名空間、專案資料夾和類型將程式碼元素分組,以快速整理地圖。
篩選關聯性,讓圖表更易於閱讀。 這包括跨群組鏈結,這使得使用過濾器視窗的干擾程度低於舊版。
「深入查看相依性連結」會考慮篩選條件。 當您展開圖解以瞭解相依性連結的貢獻時,會得到一個有用且清晰的示意圖。 圖表不那麼混亂,並且它考慮了您選擇的鏈接過濾選項。
從「類別視圖」和「物件瀏覽器」建立圖表。 從「類別視圖」和「物件瀏覽器」視窗將檔案和組合拖放到新的地圖或現有的地圖中。
總體而言,我們對程式碼映射所做的改進的完整清單包括:
測試專案的樣式不同,而且可以篩選。 您現在可以在地圖上快速識別測試專案,因為它們的樣式不同。 此外,還可以過濾掉它們,以便您可以專注於應用程式的工作程式碼。
程式碼元素會加上其上下文。 因為圖表現在會連同其相關內容顯示(包括元件和解決方案資料夾,您可以視需要將其篩選掉),所以當您從 [方案總管]、[類別檢視] 和 [物件瀏覽器] 拖曳程式碼元素時,可以獲得更實用的圖表;或者在 [方案總管] 中選取元素並選擇 [在程式碼地圖上顯示]。
簡化的外部相依性連結。 相依性連結不再代表 System.Object、System.ValueType、System.Enum 和 System.Delegate 的繼承,可讓您更輕鬆地查看程式碼對應中的外部相依性。
此版本中的其他設計和建模變更:
圖層圖。 使用「類別視圖」和「物件瀏覽器」來更新這些圖表。 為了滿足軟體設計要求,請使用圖層圖來描述軟體所需的相依性。 透過尋找不符合這些條件約束的程式碼並使用此基準驗證未來的程式碼,使程式碼與此設計保持一致。
UML 圖。 您無法再從程式碼建立 UML 類別圖和序列圖。 不過,您仍然可以使用新的 UML 元素來建立這些圖表。
建築探索者。 您無法再使用「架構總管」來建立圖表。 不過,您仍然可以使用方案總管。
XAML 語言服務
我們在 .NET 編譯器平臺 (“Roslyn”) 之上重建 XAML 語言服務,以便為您提供快速、可靠且新式的 XAML 編輯體驗,其中包括 IntelliSense。
這會讓 XAML 撰寫體驗與 Visual Studio 中的其他第一類語言相等。 我們也將以更快的速度為您提供有關跨語言重構的強大功能集。
其他
Visual Studio 2015 的代理程式不再需要測試控制器
在 Visual Studio 2015 的代理程式中,您不需要個別的測試控制器,因為代理程式可以透過與 TFS 2015 或 Visual Studio Online 通訊來處理協調流程。
在所有新的 Visual Studio 2015 和 TFS 2015 案例中,建議您使用 Visual Studio 2015 的代理程式。
不過,如果您確實需要測試代理程式或測試控制器來使用 TFS 2013,建議您使用 Visual Studio 2013 Update 5 的代理程式並設定測試控制器。
測試控制器與 TFS 2015 以及 TFS 2013 相容。 不過,Visual Studio 2015 中的負載測試支援不是代理程式的一部分,因此建議您安裝適用於 Visual Studio 2013 Update 5 的代理程式並設定控制器。
已連線的服務
Visual Studio 2015 中新的 [新增連線服務] 對話方塊可讓您輕鬆地將應用程式連線到 Azure Application Insights、 Azure 儲存體、Azure 行動服務、Office 365 和 Salesforce。 若要新增連線服務,請以滑鼠右鍵按一下 [參考] 節點,然後選取 [ 新增連線服務...]。
[新增連線服務] 對話方塊包含目前安裝的所有連線服務提供者,並提供一種方法來取得有關提供者、其使用的技術以及目前專案是否支援的詳細資訊。 其他提供者可在 [延伸模組和更新] 資源庫中使用 [尋找更多服務... ] 連結來探索。 新增 連線服務 對話方塊也是可延伸的。 如果您是服務開發人員,可以使用我們的 連線服務 SDK 來建置提供者,以提高可探索性並推動服務使用。
企業單一登入
商務應用程式的常見工作是使用 Azure Active Directory 設定企業單一登入的應用程式。 您現在可以在建構應用程式期間隨時輕鬆執行此動作,方法是以滑鼠右鍵按一下您的應用程式,然後選取 [設定 Azure AD 驗證...]。這會顯示類似於 [新增連線服務] 體驗的精靈,以引導您完成設定應用程式以使用 Active Directory 的程式。 在精靈中指定 Active Directory 網域會向該 Active Directory 註冊您的應用程式,並將您的應用程式設定為提示登入。
適用於 Visual Studio 2015 RC 的 IIS 10 Express
RC 版本包含新版本的 IIS 10 Express;它的新功能包括對 HTTP 2.0 的支持,以及與 Windows 10 的位同步。
其他變更:錯誤 (bug) 修正和已知問題
如需此版本中技術改善、錯誤修正和已知問題的完整描述,請參閱下列知識庫 (KB) 文章。
相關版本
適用於 .NET 的 Azure SDK 2.7
Azure SDK 2.7 是 Visual Studio 2015 最終版本第一個支援的 Azure SDK。 以下是一些新功能和更新,有助於改善您的 Azure 開發體驗:
Visual Studio 2015 的登入功能改進:Visual Studio 2015 的 Azure SDK 2.7 現在包含支援透過 角色型存取控制、雲端解決方案提供者、DreamSpark 以及其他帳戶和訂用帳戶類型存取 Azure 的帳戶。
適用於 Visual Studio 2015 的雲端總管:Azure SDK 2.7 包含適用於 Visual Studio 2015 的雲端總管,可提供高效能、可調整的工具,用於搜尋和檢視 Azure 資源、檢查其屬性,以及從 Visual Studio 內執行關鍵開發人員和診斷動作。
Visual Studio 2015 中虛擬機器的遠端偵錯:在使用 Azure Resource Manager 堆疊建立的虛擬機器上執行的遠端偵錯程式。
Azure Resource Manager 工具:我們已更新 Azure Resource Manager 工具,讓使用新的 Visual Studio Online 組建工作更輕鬆。 此外,我們還增強了角色型存取控制 (RBAC)的使用,並針對新訂閱類型進行了改進措施。
Azure App Service Tools:App Service Tools 現在也可在 Visual Studio 2015 中使用。 此更新帶來了對 Web 應用程序的遠程分析支持、對 API 應用程序的 Swagger 生成的改進以及多帳戶登錄支持。 App Service 工具現在會針對所有功能使用 Azure 資源管理 API,並啟用 DreamSpark 和雲端服務提供者的支援。 我們也在此更新中新增了對 Visual Studio 2015 開發人員的 Azure API Apps 預覽版的支援。
HDInsight 工具:在此版本中,我們已新增在 Tez 上執行的 Hive 作業執行圖表檢視、擴充 Hive DML IntelliSense 支援、新增 SCP.Net 的 NuGet、升級 Storm 範本,以及新增 Pig 的新範本。
Azure Data Factory 工具:現在包含在 Azure SDK 中的是 Azure Data Factory Tools。 我們的目標是簡化 Azure Data Factory 撰寫體驗,並移除上線和部署挑戰。 我們在 Azure Data Factory 工具中量身打造的體驗和豐富的工具可改善新使用者和進階使用者的生產力和效率。 在此版本中,客戶可以使用 Visual Studio 介面以互動方式撰寫和部署資料管線。 如需這些工具的詳細資訊,請參閱 Azure Data Factory 部落格文章 。
Windows 10 開發套件
此工具版本更新了 Visual Studio 2015,以提供為執行通用 Windows 平台的任何 Windows 裝置建置、偵錯和提交應用程式所需的一切。 重點包括:
使用您選擇的語言 (C#、VB、C++ 或 JS) 建立通用 Windows 應用程式,並部署至 Windows 10 裝置。
新的偵錯和診斷工具,包括 XAML 應用程式的 UI 偵錯工具和網路分析器。
建立應用程式套件以提交至統一市集。
Windows 10 移動模擬器現在利用 PC 的圖形硬件 (GPU) 來加快屏幕渲染速度。 它使用 Microsoft RemoteFx 提供更快、更靈敏的偵錯環境。
您現在可以使用 Windows 10 移動模擬器中的 NFC 模擬功能來構建和測試啟用 NFC/接近的通用應用程序。
豐富的 XAML 設計工具支援,可建立針對裝置量身打造的使用者體驗。
.NET 雲端中 .NET 應用程式的原生編譯。
如需 Windows 10 開發人員工具的詳細資訊,請參閱是 時候升級您的世界和應用程式了。
適用於 Visual Studio 2.2 的 Python 工具
Visual Studio 中完全免費的 Python 支援。
CPython、PyPy、IronPython 等
詳細的 IntelliSense
互動式偵錯
與 Visual Studio 功能整合
免費和開放原始碼
如需詳細資訊,請參閱 適用於 Visual Studio 的 Python 工具。
適用於 Unity 2.0 的 Visual Studio 工具
將 Visual Studio 變成強大的 Unity 開發環境。
構建多平台遊戲
從 Visual Studio 偵錯
在 Visual Studio 中建立 Unity 腳本
體驗 Visual Studio 增強的生產力
如需 Visual Studio Tools for Unity 的詳細資訊,請參閱 使用 Visual Studio 進行遊戲開發。
Visual Studio 1.1 的 Node.js 工具 (RC)
更新於 2021 年 10 月:
安全地更新 Node.js Visual Studio Tools for Apache Cordova
將 Visual Studio 變成強大的 Node.js 開發環境。
免費和開放原始碼
智慧程式碼補全
進階偵錯和剖析
與其他 Visual Studio 功能和第三方工具整合
Node.js、io.js、JavaScript、TypeScript、HTML、CSS 和 JSON 支持
深入瞭解 Node.js Tools for Visual Studio。
適用於 Visual Studio 2015 的 Office 開發人員工具
使用 Office 365 API 進行開發
Office 365 API 工具會使用 Visual Studio 2015 中的新連線服務,為開發人員提供引導式體驗,將 Office 365 API 整合到專案中。
現在,您只需在連線服務精靈中選取 [使用 Azure AD 設定單一 Sign-On],即可讓 Office 365 API 工具在 ASP.NET MVC Web 應用程式中自動設定單一 Sign-On。
當您將 Office 365 API 整合到專案中時,Office 365 API 工具現在會從 NuGet.org 下載並安裝最新版本的 Office 365 API 用戶端程式庫 NuGet 套件。
SharePoint 增益集開發
建立 SharePoint 外掛程式時,工具會將目標 SharePoint 版本設為您於專案建立精靈中指定的偵錯用 SharePoint 網站的版本。 精靈會顯示選取的 SharePoint 版本,並允許您覆寫該預設值。 您可以在建立專案之後,使用 [專案設計工具] 中的 [SharePoint] 索引標籤來變更目標版本。
當目標版本是 SharePoint Online 時,工具現在會將包含 SharePoint Online 用戶端物件模型 (SPO-CSOM) 的 NuGet 套件安裝到您的專案中。 這些工具會將 SharePoint Online CSOM 元件的參考新增至專案。 這些工具不再依賴 Microsoft 下載中心發行的 SharePoint Online 用戶端元件 SDK 。 這可讓您在未來使用 Visual Studio 中的 NuGet 套件管理員來更輕鬆地升級 CSOM 元件。
您現在可以使用 Microsoft Azure 服務匯流排的 SAS 或 ACS 連接字串,來 除錯和排除故障 SharePoint 插件中的遠端事件接收器。
Office 增益集開發
在此版本中,工具一律會使用 v1.1 資訊清單 (而非 v1.0) 為 Office 建立新的應用程式,讓您的應用程式可以支援 Office Web 應用程式和 Office 2013 用戶端中的新功能。 對於使用 v1.0 資訊清單的現有 Office 應用程式,當使用任何需要 v1.1 資訊清單的新功能時,工具會將資訊清單升級至 v1.1。
深入瞭解適用於 Visual Studio 的 Office 開發人員工具。
適用於 Visual Studio 2015 的 GitHub 延伸模組
在 Visual Studio 中連線到 GitHub 存放庫的最簡單方式。
易於安裝
連線到 Visual Studio 中的 GitHub
建立存放庫
一鍵複製儲存庫
將您的本機工作上傳至 GitHub
深入瞭解 Visual Studio 的 GitHub 延伸模組。
基於雲端的負載測試
來自全球 Azure 資料中心的雲端式負載測試
設定執行負載測試所需的基礎結構變得更加容易:現在,您可以從全球任何支援的 Azure 資料中心執行雲端式負載測試。
雲端式負載測試現在支援進階代理程式診斷
在此版本中,我們新增了針對雲端式負載測試執行測試代理程式診斷的功能。
在雲端中偵錯很困難,因為無法存取機器,因此不一定可以從測試代理程式收集日誌或任何其他資訊。 不過,透過進階代理程式診斷,您可以從測試代理程式收集日誌,並將其附加至雲端負載測試結果。
PBS命令和使用小米6安卓多少系统