注冊
    閩南網(wǎng) > 科技 > 軟件應(yīng)用 > 電腦軟件新聞 > 正文

    Visual Studio 2017 15.8正式發(fā)布 詳細性能改進內(nèi)容

    來源:開源中國 2018-08-15 19:44 http://www.iosapp77.com/

    ­  Visual Studio 2017 15.8 版本已正式發(fā)布,現(xiàn)可選擇在開始安裝之前下載所有安裝文件。要使用這一新選項,請在安裝程序中選擇“全部下載后再安裝”選項。 如果 Internet 連接速度較慢,建議使用此選項。默認選項仍為“下載時安裝”,它可并行下載和安裝。

    ­  性能

    ­  此版本包含以下性能改進:

    ­  由于無需再重新加載解決方案,因此可更快地對大型解決方案執(zhí)行 C#、VB 和 C++ 項目的分支切換。

    ­  縮短在大型解決方案中卸載和重載一小組 C# 和 VB 項目的時間 - 從數(shù)分鐘縮短到數(shù)秒鐘。

    ­  添加了一個選項,用于禁止重新打開已在上一會話中打開的文檔,因為重新打開某些類型的文件或設(shè)計器會延遲解決方案加載。

    ­  通過“工具”>“選項”>“項目”>“解決方案”>“常規(guī)”切換此選項。

    ­  測試性能

    ­  顯著提升了在運行包含多個測試項目的大型解決方案期間的性能。 在我們的實驗室中,超過 10,000 個 MSTest 的解決方案執(zhí)行單個測試的速度提高了 82%!

    ­  Visual Basic 性能改進

    ­  Visual Basic 現(xiàn)顯著提升了使用 CInt(Fix(number)) 模式將非整數(shù)類型轉(zhuǎn)換為整數(shù)時的性能。

    ­  性能分析

    ­  此版本在以下方面增強了性能分析功能:

    ­  添加了“啟動但暫停分析”功能:

    ­  性能探查器 (ALT-F2) 中的 CPU 使用情況工具現(xiàn)可啟動但暫停分析。 如果 CPU 使用情況調(diào)查在一段時間后才提供有價值的結(jié)果,則此功能非常有用。 通過在禁用 CPU 使用情況收集的情況下啟動,性能探查器將不收集任何 CPU 使用情況示例堆棧數(shù)據(jù),直到專門啟用此類數(shù)據(jù)。 這樣一來,收集和分析的數(shù)據(jù)量大幅降低,從而使性能調(diào)查更加高效。

    ­  要在禁用 CPU 使用情況示例收集的情況下啟動會話,請在性能探查器啟動頁中單擊 CPU 使用情況工具旁邊的設(shè)置(齒輪)圖標,以顯示 CPU 使用情況屬性頁,然后取消選中標記為“啟用 CPU 分析(采樣)”的復(fù)選框。 最后,按“確定”以保存這些設(shè)置。

    ­  \*啟動目標應(yīng)用程序后(按性能探查器啟動頁中的“開始”按鈕),將看到一個顯示 CPU 使用率圖的監(jiān)視屏幕,你可通過它控制 CPU 分析**。 要啟用 CPU 使用情況示例堆棧數(shù)據(jù)收集功能,請按視圖中間的“啟用 CPU 分析”鏈接,或單擊 CPU 使用率圖下方的“記錄 CPU 配置文件”按鈕。 可單擊“記錄 CPU 配置文件”按鈕,根據(jù)需要多次啟用/禁用示例數(shù)據(jù)收集。 CPU 使用率圖的顏色出現(xiàn)相應(yīng)變化,表示在該時間點是否啟用/禁用示例收集。

    ­  添加了 .NET 對象分配跟蹤工具:

    ­  向性能探查器提供的工具系列增添了 .NET 對象分配跟蹤工具。 如果為性能探查器會話調(diào)用此工具,將為目標應(yīng)用程序中發(fā)生的每個 .NET 對象分配收集堆棧跟蹤。 此堆棧數(shù)據(jù)和對象類型及大小信息一同進行分析,以顯示應(yīng)用程序的內(nèi)存活動詳情。 你可以快速確定代碼中的分配模式并識別異常。 此外,對于垃圾回收 (GC) 事件,用戶可輕松確定已收集和保留了哪些對象,從而快速確定占用應(yīng)用程序大部分內(nèi)存的對象類型。

    ­  這對 API 編寫器來說尤其有用,有助于最大程度減少分配。 許多應(yīng)用程序都會超出診斷數(shù)據(jù)收集中涉及的緩沖區(qū)限制,但仍可很好地診斷執(zhí)行 API 關(guān)鍵方案的小型測試應(yīng)用程序。 測試應(yīng)用程序執(zhí)行過程中,性能探查器會顯示一個監(jiān)視視圖,其中包含實時對象(計數(shù))的折線圖和對象增量(百分比變化)的條形圖。

    ­  要使用 .NET 對象分配跟蹤工具,請調(diào)出性能探查器啟動頁,選擇要分析的目標(默認目標是解決方案中的啟動項目),從可用工具列表中勾選“.NET 對象分配跟蹤”,然后按“開始”按鈕。

    ­  性能分析(CPU 使用情況)

    ­  此版本對性能探查器的 CPU 使用情況工具做出了以下改進(可通過 ALT-F2 獲得):

    ­  默認情況下,“調(diào)用樹”視圖現(xiàn)按邏輯調(diào)用堆棧顯示異步執(zhí)行。 可通過取消選中 CPU 使用情況主視圖的“篩選器”下拉列表中的“拼結(jié)異步代碼”選項來關(guān)閉此行為。

    ­  添加了“模塊/函數(shù)”視圖,該視圖按模塊 (dll) 和模塊內(nèi)的函數(shù)顯示性能信息。 在 CPU 使用情況主視圖中選擇函數(shù)時,可從上下文菜單中顯示“模塊/函數(shù)”視圖,也可以從“調(diào)用樹”或“調(diào)用方/被調(diào)用方”視圖的“查看”下拉列表中顯示“模塊/函數(shù)”視圖。

    ­  在 CPU 使用情況工具的主視圖中,為 CPU 使用情況圖添加了“實例指示”。 雙擊任意 CPU 使用情況視圖中列出的函數(shù),即可在函數(shù)執(zhí)行時(例如在堆棧上)查看實例。

    ­  生產(chǎn)力

    ­  此版本在以下方面提升了生產(chǎn)力:

    ­  可使用格式文檔(Ctrl + K、D 或 Ctrl + E、D)執(zhí)行其他代碼清理進行 C# 開發(fā)。 按以下方式配置清理:轉(zhuǎn)到“工具” > “選項” > “文本編輯器” > “C#” > “代碼樣式” > “格式” > “常規(guī)”。

    ­  增添了更多使用 Ctrl + . 或 Alt + Enter 的重構(gòu)和快速操作:

    ­  dotnet_style_prefer_conditional_expression_over_assignment

    ­  dotnet_style_prefer_conditional_expression_over_return

    ­  dotnet_style_parentheses_in_arithmetic_binary_operators

    ­  dotnet_style_parentheses_in_relational_binary_operators

    ­  dotnet_style_parentheses_in_other_binary_operators

    ­  dotnet_style_parentheses_in_other_operators

    ­  “倒轉(zhuǎn) If”可讓 if-else 語句中的邏輯反轉(zhuǎn)。 將光標置于 if 關(guān)鍵字,以觸發(fā)此重構(gòu)。

    ­  通過從方法調(diào)用站點添加參數(shù),可向方法調(diào)用站點添加參數(shù)并觸發(fā)“快速操作和重構(gòu)”,從而向方法添加參數(shù)。

    ­  刪除不必要的括號時會一并刪除對編譯不重要的二元運算符兩側(cè)的括號。 可通過“工具” > “選項” > “文本編輯器” > “C#” > “代碼樣式” > “常規(guī)”或以下 .editorconfig 配置此樣式規(guī)則:

    ­  此外,還可通過“工具” > “選項” > 或以下 .editorconfig 將“在分配中使用三元條件并返回語句”配置為樣式規(guī)則:

    ­  在“轉(zhuǎn)到所有”窗口中添加了新的命令和改進功能:

    ­  通過“轉(zhuǎn)到封閉塊”(Ctrl + Alt + 向上鍵),可快速導(dǎo)航到封閉代碼塊的開頭。

    ­  通過“轉(zhuǎn)到下一個/上一個問題”(Alt + PgUp/PgDn),可跳到下一個/上一個問題(錯誤、波形曲線和燈泡)。

    ­  “轉(zhuǎn)到成員”(Ctrl + T、M)現(xiàn)默認適用于文件。 可通過將作用域切換到當前文檔 (Ctrl + Alt + C),使默認值更改回解決方案。

    ­  借助對多個插入點的支持,現(xiàn)可在文件中的多個任意位置創(chuàng)建插入點并選擇內(nèi)容。 這樣,你可以同時在多個位置添加、編輯或刪除文本。

    ­  通過“Ctrl + Alt + 單擊鼠標左鍵”插入點。

    ­  使用 Shift + Alt + Ins 在與當前所選內(nèi)容匹配的下一個位置添加所選內(nèi)容和插入點。

    ­  有關(guān)完整操作列表,請參閱“‘編輯’>‘多個插入點’”。

    ­  使用 Alt + ` 訪問上下文導(dǎo)航菜單。

    ­  讓鍵綁定與 Visual Studio Code 和 ReSharper (Visual Studio) 這兩個新的鍵盤配置文件保持一致:。 可訪問“工具”>“選項”>“常規(guī)”>“鍵盤”,再使用頂部的下拉菜單查找這些方案。

    ­  調(diào)試

    ­  此版本在以下方面增強了調(diào)試功能:

    ­  如果安裝有多個 Visual Studio 2017 實例,在調(diào)試時現(xiàn)在可選擇要將擴展部署到的實例。 這樣,在預(yù)覽通道中調(diào)試時可以在諸如 Visual Studio 版本等通道中開發(fā)。

    ­  \*現(xiàn)在可以直接從發(fā)布摘要頁附加 Snapshot Debugger__。

    ­  適用于通用 Windows 平臺開發(fā)的工具

    ­  在 Windows 10 Fall Creators Update(內(nèi)部版本 16299)或更高版本的目標平臺版本中,我們對面向通用 Windows 平臺的項目的 XAML 設(shè)計器進行了許多重要改進。

    ­  現(xiàn)可在屬性檢查器中編輯集合。

    ­  設(shè)計器現(xiàn)在允許對模板和樣式進行編輯,包括這些實體的定義在其他文檔中定義時。

    ­  類型 IconElement(如 AppBarButton 中的圖標)的屬性現(xiàn)在在屬性檢查器中有一個自定義編輯器,使設(shè)置這些屬性變得更容易。

    ­  設(shè)計器、編輯器和“編輯并繼續(xù)”現(xiàn)都應(yīng)適用于 x:DefaultBindMode。

    ­  Blend 中的視覺狀態(tài)管理器體驗現(xiàn)在支持 AdaptiveTrigger。

    ­  用于 Visual Studio 的 F# 4.5 和 F# 工具

    ­  此版本中我們引入了 F# 語言版本 4.5。 這也與新的 FSharp.Core 4.5.x 系列(F# 核心庫)保持一致。 可以在 F# RFC 存儲庫中閱讀每個更改的說明。 此版本中還有對用于 Visual Studio 的 F# 工具的諸多改進。

    ­  F# 4.5

    ­  下面是 F# 語言版本 4.5 中的一些亮點:

    ­  Span 支持

    ­  我們實現(xiàn)了 Span 和相關(guān)功能,因此在 F# 中可通過 Span、Memory 和 ref 之類的構(gòu)造來有效使用和生成 API。 功能包括:

    ­  新的 voidptr 類型。

    ­  FSharp.Core 中新的 NativePtr.ofVoidPtr 和 NativePtr.toVoidPtr 函數(shù)。

    ­  新的類型 inref 和 outref,分別是只讀的 byref 和只寫的 byref。 此值對應(yīng)于 C# 中的 in ref 和 out ref。

    ­  能夠生成 ByRefLike 結(jié)構(gòu)(如 Span 和 ReadOnlySpan)。

    ­  能夠生成 IsReadOnly 結(jié)構(gòu)。

    ­  隱式取消引用方法中的 byref 返回值和 inref 返回值。

    ­  能夠在 byref/inref/outref 上生成擴展成員。

    ­  此功能集修復(fù)了 F# 4.1中 byref 返回值初始設(shè)計的一個 bug - 即返回 byref 的函數(shù)、方法和屬性未隱式取消引用返回值。 我們進行此更改,使該功能與 C# 處理 ref 返回值的方式保持一致。 當類型批注指示現(xiàn)在使用 ref 返回值的隱式取消引用時,將用到錯誤消息。

    ­  此外,此功能集還修復(fù)了 F# 編譯器中的一個 bug - 即可以進行“不良結(jié)構(gòu)替換”,也就是說,調(diào)用 F# 結(jié)構(gòu)上的方法時可以使用其他結(jié)構(gòu)替換正調(diào)用的實際結(jié)構(gòu)。 現(xiàn)將結(jié)構(gòu)上的 this 參數(shù)視為 inref,其中包含一條錯誤:如果你希望修改該結(jié)構(gòu)則該錯誤建議添加可變字段。

    ­  可在此功能集的 RFC 中詳細了解 span 和 ref 之類的構(gòu)造。

    ­  計算表達式中的 Match!

    ­  F# 4.5 引入了 match!,一個用在計算表達式中的新關(guān)鍵字(由 John Wostenberg 獨立提供)。 此語法糖等同于在結(jié)果中 let! 后跟 match。 可在 match! 的 RFC 中了解詳細信息。

    ­  放寬了使用 yield 時序列、列表和數(shù)組表達式中的向上轉(zhuǎn)換要求

    ­  F# 4.5 現(xiàn)在放寬了某些限制:使用 yield 時需要向上轉(zhuǎn)換來將子類型轉(zhuǎn)換為超類型。 自 F# 3.1 起如果不使用 yield 這些表達式中已無此限制,因此此項改進使得與現(xiàn)有行為更加一致。 可在此功能的 RFC 中了解詳細信息。

    ­  列表和數(shù)組括號上允許縮進

    ­  F# 4.5 現(xiàn)在放松了列表和數(shù)組括號的縮進規(guī)則,此前如果列表和數(shù)組括號位于自己的行上需將其向前縮進一個作用域。 這項要求一直以來都非常令人困惑,尤其是對 F# 初學(xué)者。 此外,F(xiàn)# 序列表達式無此要求。 現(xiàn)在,數(shù)組表達和列表表達式與序列表達式一樣,不再受此要求限制。 可在此功能的 RFC 中了解詳細信息。

    ­  枚舉用例以公共形式發(fā)出

    ­  現(xiàn)在 F# 4.5 在所有情況下以公共形式發(fā)出枚舉用例,以與 C# 發(fā)出枚舉用例的方式保持一致。 這也更便于分析工具分析來自 F# 代碼的日志,其中發(fā)出的是值而不是標簽名稱。 可在此功能的 RFC 中了解詳細信息。

    ­  F# 編譯器改進

    ­  F# 4.5 中不僅包括之前提到的語言功能改進,也包括對 F# 編譯器的改進。 這些方法包括:

    ­  我們刪除了 F# 編譯器中高達 2.2% 的分配(各種情況下),改進了編譯器性能。

    ­  修復(fù)了對基于結(jié)構(gòu)的可枚舉對象使用 yield! 時 AccessViolatioNException 中產(chǎn)生的 bug。

    ­  現(xiàn)可再次從 FSharpFunc 中繼承。

    ­  對于 F# for .NET Core 的調(diào)試版本默認禁用尾調(diào)用。 它們在發(fā)布版本中啟用,因此與桌面版 F# 編譯器匹配。

    ­  修復(fù)了 F# 引用規(guī)范化,允許你控制寫入輸出文件的可傳遞程序集引用。 你便可執(zhí)行 .NET Core 上程序集重定向的等效操作。

    ­  修復(fù)了以下 bug:忽略了嘗試在內(nèi)聯(lián)函數(shù)上使用動態(tài)調(diào)用時用到的錯誤消息。 錯誤消息現(xiàn)將傳送。

    ­  F# 現(xiàn)在尊重你可在項目文件中設(shè)置的 WarningsNotAsErrors 標志。

    ­  Isaac Abraham 更新了模式匹配分支不返回相同類型時出現(xiàn)的錯誤消息,使其更加友好。

    ­  Steffen Forkmann 修復(fù)了編譯缺少重載方法實現(xiàn)的接口實現(xiàn)時出現(xiàn)內(nèi)部錯誤這一 bug。

    ­  Gauthier Segay 刪除了編譯器文法階段中一些沒必要的數(shù)組復(fù)制。

    ­  F# 枚舉上不完整的模式匹配現(xiàn)在生成詳細的警告,給出未涵蓋的用例示例(由 John Wostenberg 提供)。

    ­  `#nowarn "2003" 現(xiàn)在受到尊重(由 Matthias Diitrich 提供)。

    ­  Steffen Forkmann 修復(fù)了在 F# 重載解析中使用 C# 擴展方法可能失敗這一 bug。

    ­  Steffen Forkmann 修復(fù)了內(nèi)部 QueueList 數(shù)據(jù)結(jié)構(gòu) bug。

    ­  Steffen Forkmann、Eugene Auduchinok 和 ncave 還提供了各種小的優(yōu)化并進行了代碼清除工作。

    ­  F# 核心庫 4.5.x

    ­  現(xiàn)在推出了對 F# 核心庫的下列補充內(nèi)容:

    ­  完成了大量工作來改進 async { } 計算表達式的堆棧跟蹤。 現(xiàn)在應(yīng)能夠在堆棧跟蹤中查看用戶代碼和用戶行號。 可在此功能的 RFC 中了解詳細信息。

    ­  提供類型 System.Func 和 System.Action 重載的 FuncConvert.FromFunc 和 FuncConvert.FromAction API,幫助 C# 中的互操作。 可在此功能的 RFC 中了解詳細信息。

    ­  提供了新類型 ValueOption,它是旨在為活動模式帶來更好性能的系列未來功能中的首個功能。 可在此功能的 RFC 中了解詳細信息。

    ­  TryGetValue 現(xiàn)在是 F# Map 類型上的新成員。 可在此功能的 RFC 中了解詳細信息。

    ­  我們解決了首次調(diào)用 MailboxProcessor.TryReceive 時 CPU 使用率較高的問題。

    ­  bool 比較現(xiàn)在使用快速泛型比較(由 Vasily Kirichenko 提供)。

    ­  Array.allPairs 的摘要文本已更新為正確(由 Patrick McDonald 提供)

    ­  F# 工具改進

    ­  此版本中提供 F# 工具的重大改進,例如性能改進和一些新的編輯器功能。 與往常一樣,F(xiàn)# 開源社區(qū)提供了大量內(nèi)容,作出了巨大貢獻。 以下是一些亮點:

    ­  我們改進了所有形式的 .NET SDK 樣式項目的 IntelliSense 性能,包括那些使用多目標的項目。

    ­  Vasily KirichenkoSteffen Forkmann 和 Gauthier Segay 進行了社區(qū)驅(qū)動的工作,分析和改進了非常大的文件的 IntelliSense 性能。 非常大的文件(10k 以上的代碼行)中的 IntelliSense 現(xiàn)在約是原來的兩倍快。

    ­  過時 FSharp.Core(盡管安裝了包)的警告不再出現(xiàn)在 .NET SDK 樣式項目中。

    ­  IntelliSense 中 . 之后為成員顯示 XML 文檔的說明工具提示在 10 秒后不再超時。

    ­  修復(fù)了無法在對象構(gòu)造函數(shù)參數(shù)中設(shè)置斷點這一 bug。

    ­  修復(fù)了重命名符號屬于泛型參數(shù)時將進行復(fù)制這一 bug。

    ­  .NET Framework 的模板(經(jīng)典 F# 模板)現(xiàn)在使用來自 NuGet 包的 FSharp.Core,以便與 .NET SDK F# 模板保持一致。

    ­  現(xiàn)在為 ()、[]、{}、[||] 和 [] 大括號對提供自動的事務(wù)型大括號完成。 我們與 Gibran Rosa 一起完成這項工作。

    ­  現(xiàn)在,可以通過按住 Ctrl 并單擊 F# 符號來轉(zhuǎn)到定義。 此筆勢的設(shè)置在“工具”>“選項”窗口中也受到尊重。

    ­  修改了 IntelliSense 性能 UI,允許為各種 IDE 功能配置過時的 typecheck 信息。 每個選項的說明現(xiàn)在顯示在設(shè)置的工具提示中。

    ­  大括號匹配突出顯示現(xiàn)在正確地突出顯示大括號(與 Vasily Kirichenko 協(xié)作完成)。

    ­  現(xiàn)在當類型以遞歸方式定義時“轉(zhuǎn)到定義”正確導(dǎo)航(由 Vasily Kirichenko 提供)。

    ­  Vasily Kirichenko 修復(fù)了文件頂部為空時未將自動導(dǎo)入命名空間打開這一 bug。

    ­  Vasily Kirichenko 修復(fù)了將包含點的 printf 說明符錯誤地著色這一 bug。

    ­  Vasily Kirichenko 修復(fù)了將遞歸模塊內(nèi)所有打開項視為未使用這一 bug。

    ­  Vasily Kirichenko 大大提升了 Unused Opens 分析器的性能。

    ­  屬性自動完成功能現(xiàn)在僅建議確實是屬性的選項(由 Vasily Kirichenko 提供)。

    ­  現(xiàn)在為構(gòu)造函數(shù)調(diào)用站點上的類型提供程序靜態(tài)參數(shù)生成簽名幫助工具提示(由 Vasily Kirichenko 提供)。

    ­  Vasily Kirichenko 修復(fù)了將用作度量單位的值類型作為引用類型進行著色這一 bug。

    ­  Vasily Kirichenko 修復(fù)了滾動時一些文件的語義著色可能消失這一 bug。

    ­  現(xiàn)在提供了試驗性的 CodeLens 實現(xiàn)(由 Victor Peter Rouven Müller 提供)。 可在“選項”>“文本編輯器”>“F#”>“代碼透鏡”中將其打開。

    ­  Sebastian Urban 修復(fù)了 F# 編譯器服務(wù)會錯誤地省略 XML 文檔中模塊名稱的拼寫這一 bug。

    ­  使用 Dictionary 與 ContainsKey 和后續(xù) Item 調(diào)用的代碼已更改為使用 TryGetValue(由 Eugene Auduchinok 提供)。

    ­  Jakob Majoka 也參與了使用工具提示的其他 API 這一過程的創(chuàng)作。

    ­  基礎(chǔ)結(jié)構(gòu)、打包和開放源代碼改進

    ­  我們對基礎(chǔ)結(jié)構(gòu)、打包和開放源供稿體驗進行了以下改進:

    ­  隨 Visual Studio 分發(fā)的 F# 編譯器不再作為單一實例安裝在 F# 編譯器 SDK 位置。 它現(xiàn)在完全與 Visual Studio 并行,這意味著,并行安裝 Visual Studio 最后將導(dǎo)致具有真正的并行 F# 工具和語言體驗。

    ­  現(xiàn)對 FSharp.Core NuGet 包進行簽名。

    ­  ETW 日志記錄已添加到 F# 工具和編譯器。

    ­  FSharp.Core 中非常大的 control.fs/contro.fsi 文件現(xiàn)拆分為 async.fs/async.fsi、event.fs/event.fsi、eventmodule.fs/eventmodule.fsi、mailbox.fs/mailbox.fsi 和 observable.fs/observable.fsi。

    ­  我們添加了 .NET SDK 樣式版本的項目性能壓力測試項目。

    ­  從基本代碼中刪除了 Newtonsoft.Json,現(xiàn)在,你為 OSS 參與者下載的包將少一個。

    ­  我們現(xiàn)在使用最新版本的 System.Collections.Immutable 和 System.Reflection.Metadata。

    ­  C++ 符合性和工具集改進

    ­  此版本包含以下 C++ 符合性和工具集改進:

    ­  新的基于令牌的試驗性預(yù)處理器,它符合 C++ 11 項標準(包括 C99 預(yù)處理器功能),并通過 /experimental:preprocessor 開關(guān)啟用。 使用宏 _MSVC_TRADITIONAL 對其進行控制,使用傳統(tǒng)預(yù)處理器時定義為 1,使用符合標準的新試驗性預(yù)處理器時定義為 0。

    ­  Visual Studio 開發(fā)人員命令提示支持啟用 Visual C++ Spectre 變體 1 緩解運行時 (-vcvars_spectre_libs = spectre)。 有關(guān) Spectre 緩解的詳細信息,請參閱 Visual C++ 團隊博客。

    ­  向 SSA 優(yōu)化器添加的兩項新內(nèi)容重點關(guān)注新式 C++ 代碼生成:冗余存儲清除和冗余分支折疊。

    ­  優(yōu)化的內(nèi)存映射了鏈接器中的 I/O 性能以減少鏈接時間。

    ­  C++ 跨平臺開發(fā)

    ­  此版本中,我們改進了 C++ 跨平臺開發(fā),并向其添加了以下內(nèi)容:

    ­  添加了“添加” > “新項”模板,用于生成遵循“工具” > “選項”中為 ClangFormat 指定的編碼約定的 .clang 格式文件。 如果選擇 Visual Studio 約定,則生成的文件嘗試匹配“工具”>“選項”中用戶當前的 Visual Studio 格式設(shè)置配置。

    ­  將配送的 format.exe 版本更新到 6.0.0。

    ­  用于簡化向 CppProperties.json 添加配置的模板。

    ­  添加了模板以簡化向 CMakeSettings.json 添加配置。

    ­  C++ 生產(chǎn)力

    ­  下面是針對 C++ 生產(chǎn)力的增強功能和改進功能:

    ­  有關(guān)宏的 C++ 快速信息工具提示現(xiàn)在顯示它們的擴展功能,而不僅僅是其定義。 如果復(fù)雜宏在其闡明預(yù)處理器使用什么代替宏標識符時引用了其他宏,這將特別有用。

    ­  添加了新的快速修復(fù)燈泡,將基本宏轉(zhuǎn)換為 constexpr 作為使代碼變得新式的新工具。

    ­  用于模板的 IntelliSense 提供了有關(guān)模板參數(shù)的詳細信息,便于在模板正文中充分利用 IntelliSense。

    ­  我們正在努力使代碼分析體驗煥然一新。 你現(xiàn)在可以啟用“工具” > “選項” > “文本編輯器” > “C++” > “試驗” > “代碼分析”下新的進行中功能。 打開或保存文件時,代碼分析可在后臺中運行,并且結(jié)果顯示在錯誤列表中,在編輯器中顯示為綠色波形曲線。

    ­  C++ 調(diào)試改進

    ­  我們進行了以下調(diào)試改進:

    ­  僅我的代碼功能現(xiàn)在允許逐步執(zhí)行系統(tǒng)或第三方 C++ 庫中的代碼,以及折疊調(diào)用堆棧窗口中的那些調(diào)用。 當代碼使用 /JMC 進行編譯且 .natjmc 文件中指定了非用戶庫路徑時,可以為任何 C++ 庫控制此行為。 如果你在進入時系統(tǒng)庫調(diào)入用戶代碼,則調(diào)試器跳過所有系統(tǒng)代碼并在用戶代碼回調(diào)的第一行上停止。

    ­  數(shù)據(jù)斷點現(xiàn)在可在“監(jiān)視”、“快速監(jiān)視”、“自動”和“局部變量”窗口中進行設(shè)置,從而只需幾次短的單擊即可在存儲于內(nèi)存中的值發(fā)生更改時切斷。

    ­  源鏈接允許在編譯過程將可執(zhí)行的或庫的原始源代碼相關(guān)信息嵌入 PDB。

    ­  調(diào)試時,如果程序終止執(zhí)行,控制臺窗口現(xiàn)將默認保持打開狀態(tài)(類似于在沒有調(diào)試器的情況下運行程序)。 可以在“工具” > “選項” > “調(diào)試” > “常規(guī)”中將此行為切換回自動關(guān)閉控制臺。

    ­  Visual Studio Web 工具

    ­  庫管理器是 Visual Studio 2017 中包含的新功能。 有助于在 Web 項目中管理客戶端端庫。

    ­  容器工具

    ­  為 ASP.NET Core Web 項目添加了新的單個項目 Docker 容器體驗。 這補充了基于 Docker Compose 的現(xiàn)有容器工具,并提供了更簡單便捷的方法直接從 Visual Studio 創(chuàng)建、調(diào)試和生成 Docker 容器。

    ­  創(chuàng)建項目時,可以添加 Docker 支持。

    ­  或者,可以通過解決方案資源管理器中項目的上下文菜單對現(xiàn)有項目啟用 Docker 支持。 一旦執(zhí)行此操作,Visual Studio 將在項目中創(chuàng)建單個 Dockerfile。 可以選擇 Windows 還是 Linux。

    ­  Visual Studio 還添加用于 Docker 的調(diào)試器啟動配置文件,以便項目在容器內(nèi)運行時可對其進行調(diào)試。

    ­  如果有帶多個 Docker 項目的解決方案,默認情況下,選擇啟動解決方案時只有一個容器運行。 如果想要同時運行多個容器,可在解決方案資源管理器中右鍵單擊該項目,并選擇“設(shè)置啟動項目”、“多個啟動項目”,然后對要運行的所有項目將“操作”下拉列表設(shè)置為“啟動”或“啟動(不調(diào)試)”。

    ­  容器化項目按所需方式運行后,如果準備好將項目推送到 Azure 容器注冊表或 DockerHub,則可以右鍵單擊該項目并選擇“生成 Docker 映像”以本地生成映像。

    ­  此外可以通過新的“容器業(yè)務(wù)流程協(xié)調(diào)程序支持”選項向 ASP.NET Core Web 項目添加基于 Docker Compose 的現(xiàn)有功能。 在解決方案資源管理器中右鍵單擊 ASP.NET Core Web 項目,選擇“添加”>“容器業(yè)務(wù)流程協(xié)調(diào)程序支持”,然后從下拉列表菜單中選擇“Docker Compose”。

    ­  發(fā)布改進

    ­  此版本包含以下發(fā)布改進:

    ­  將 Docker 容器發(fā)布到容器注冊表時,現(xiàn)在可以自定義映像的標記。 可以手動添加標記(默認為“最新”),或使用自動生成的標記來確保每個標記是唯一的。

    ­  創(chuàng)建新的 Azure 應(yīng)用服務(wù)時,還可以配置 Application Insights 以自動收集遙測數(shù)據(jù)。 如果選擇的區(qū)域也有 Application Insights,則它默認啟用。 如果選擇的區(qū)域尚不包含 Application Insights,可以從下拉列表中為 Application Insights 資源手動指定其他區(qū)域。

    ­  發(fā)布 Azure Functions 項目時,可以選擇使用新的 Run-From-Zip 功能進行發(fā)布。

    ­  Visual Studio Tools for Xamarin

    ­  此版本包含以下 Xamarin 更新:

    ­  添加了對 Xcode 9.4 的支持。

    ­  創(chuàng)建新的 Xamarin.Forms 項目時,默認代碼共享選項現(xiàn)在為 .NET Standard。 共享項目選項仍然可用。

    ­  添加了 Android 增量生成的改進。 Xamarin.Android 利用在中間輸出目錄中生成的文件實現(xiàn)了比完整生成更快的增量生成。 以前,如果更改了項目的目標框架,它將使文件無效并在下次運行時實現(xiàn)完整生成。 在此版本中,現(xiàn)保留每個框架文件夾中的文件,這樣你可以在不同的目標框架之間進行切換,并且仍可使用增量生成。 通過清理項目,你可以回收保留的文件所占用的磁盤空間。

    ­  我們在 Visual Studio 2017 中添加了對 Xamarin.Mac 綁定項目的最低支持。 這樣,Visual Studio 就可加載 Xamarin.Mac 綁定項目并將其識別為“已受支持”。 另外,還可以生成 Xamarin.Mac 綁定項目,不過是在本地執(zhí)行生成過程而不是使用本機 Mac 工具鏈,因此在應(yīng)用中運行或調(diào)試時,不能使用生成的 IL 程序集。

    ­  Hyper-V Android Emulator 支持

    ­  此版本現(xiàn)在 Windows 10 的 2018 年 4 月更新上運行時支持使用與 Hyper-V 兼容的 Google Android Emulator。 這樣,你可以將 Google Android Emulator 與其他基于 Hyper-V 的技術(shù)(例如 Hyper-V 虛擬機、Docker 工具和 Hololens 模擬器等)并行使用。 現(xiàn)向使用 Hyper-V 的移動應(yīng)用開發(fā)人員提供一款快速運行的 Android 模擬器,該模擬器始終支持最新的 Android API、可與現(xiàn)有的 Google Play Services 配合使用,同時支持 Android Emulator 的各項功能(例如照相機、地理位置和快速啟動)。

    ­  Xamarin.Android 設(shè)計器

    ­  顯著改善了 Xamarin.Android 的設(shè)計器體驗。 亮點包括:

    ­  引入了拆分視圖編輯器,它可用于同時創(chuàng)建、編輯和預(yù)覽布局。

    ­  改善了 Intellisense 體驗,同時提升了自定義控件的可靠性。

    ­  支持對系統(tǒng)提供的值使用示例數(shù)據(jù)。

    ­  Xamarin.Forms 預(yù)覽器

    ­  當使用 Xamarin.Forms 3.1.0.583944 版或更高版本時,Xamarin.Forms 預(yù)覽器現(xiàn)提供工具箱支持。 Xamarin.Forms 控件將在工具箱中顯示,這讓工具箱新手們能更輕松地找到它們。 還可將控件拖放到 XAML 代碼編輯器中,從而在頁面上添加控件。

    ­  Python

    ­  此版本為 Python 開發(fā)人員添加了以下改進功能:

    ­  Python IntelliSense 現(xiàn)使用 typeshed 定義為無法通過靜態(tài)分析推斷出自動完成的庫提供更豐富的結(jié)果。

    ­  試驗性調(diào)試器在 15.7 預(yù)覽版中首次推出,它現(xiàn)在是 Python 使用的默認調(diào)試引擎,為 Python 代碼提供更快、更可靠的調(diào)試。

    ­  增添了對 Python 3.7 的支持且附帶修補程序,可實現(xiàn)調(diào)用附加功能、分析功能和混合模式(跨語言)調(diào)用功能。

    ­  要詳細了解上述功能,請務(wù)必查看 Visual Studio 15.8 中的 Python 博客文章。

    ­  遷移本地 Azure 函數(shù)設(shè)置

    ­  發(fā)布摘要頁中提供的“托管應(yīng)用程序設(shè)置”對話框現(xiàn)可顯示 local.settings.json 文件中的值,且支持你將這些值遷移到 Azure 中托管的遠程 Azure 函數(shù)應(yīng)用。

    ­  連接的服務(wù)

    ­  對于 Azure 函數(shù)項目的解決方案,現(xiàn)可直接通過 Visual Studio 2017 配置 Azure Functions 的持續(xù)交付。

    ­  測試資源管理器方面的改進

    ­  選中層次結(jié)構(gòu)視圖中的某個分組時,測試資源管理器現(xiàn)顯示更詳細的測試狀態(tài)摘要窗格(測試資源管理器的下窗格)。 該窗格現(xiàn)顯示該分組中失敗、通過或未運行的測試數(shù)量。

    ­  新的擴展性功能語言服務(wù)器協(xié)議

    ­  Visual Studio 現(xiàn)提供針對語言服務(wù)器協(xié)議的本機支持。 擴展作者可創(chuàng)建擴展,用于與現(xiàn)有語言服務(wù)器進行通信,從而向 Visual Studio 添加其他語言支持。 擴展用戶可安裝這些擴展,從而開始在 Visual Studio 中使用自己熟悉的語言(如 Rust)。

    ­  AsyncPackage 模板

    ­  擴展作者現(xiàn)可通過項模板創(chuàng)建 AsyncPackage,從而優(yōu)化其擴展的性能。 要詳細了解如何使用 AsyncPackage,請參閱本文檔。

    ­  擴展包

    ­  借助擴展包,可輕松共享自己偏好的一組擴展或設(shè)置新的帶有所有擴展的 Visual Studio 安裝。 利用擴展包,可創(chuàng)建擴展列表、將其打包在擴展中,并使用列表快速批量安裝這些擴展。

    ­  命令行擴展發(fā)布

    ­  使用命令行將擴展發(fā)布到 Visual Studio Marketplace。

    ­  .NET Core SDK 2.1.400

    ­  Visual Studio 15.8 附帶有 .NET Core SDK 2.1.400。 新的 SDK 功能包括:

    ­  添加了 NUnit 模板

    ­  添加了對已簽名的全局工具的支持

    ­  改進了幫助文本,使其更加清晰明了

    ­  解決了 .NET Core CLI 上的 32 個問題。 解決了 .NET Core SDK 上的 20 個問題。

    ­  源代碼管理

    ­  對于 .NET Core 項目,通過文件資源管理器直接添加到項目的文件現(xiàn)可在解決方案資源管理器中顯示正確的 Git 和 TFS 跟蹤圖標,而無需重新加載解決方案。

    ­  .NET 測試適配器擴展:中斷性變更和棄用

    ­  .Net 測試適配器具有以下中斷性變更和棄用:

    ­  中斷性變更:所有測試項目必須在其 csproj 中包含各自的 .NET 測試適配器 NuGet 引用。 如果未包含,在生成之后啟動測試適配器擴展的發(fā)現(xiàn)或用戶嘗試運行所選測試時,項目中將顯示以下測試輸出:

    ­  測試項目 {} 不引用任何 .NET NuGet 適配器。 測試發(fā)現(xiàn)或執(zhí)行可能不適用于此項目。 建議在解決方案的每個測試項目中引用 NuGet 測試適配器。

    ­  .NET 測試框架已在 NuGet 包中發(fā)布其適配器,且已遷出 Visual Studio 擴展。 棄用了通過擴展提供的 .NET 測試適配器支持(不過仍受支持)。 這意味著可通過“工具”>“選項”>“測試”使用兩個新選項。

    ­  通過第一個選項,Visual Studio 只能使用它在測試程序集文件夾(由測試適配器 NuGet 引用填充)中發(fā)現(xiàn)的或 runsettings 文件中指定的測試適配器。

    ­  通過第二個選項,Visual Studio 可“回退”至之前的行為,并為不具備測試適配器 NuGet 引用的項目搜索測試適配器擴展。 默認勾選這兩個選項,因此在該版本中,默認行為保持不變。

    ­  請注意,此項更改不影響非 .NET 測試適配器。

    ­  ASP.NET .NET Framework 密碼支持

    ­  對于面向 .NET Framework 4.7.1 或更高版本的 ASP.NET .NET Framework 項目,現(xiàn)可通過右鍵單擊項目并選擇“托管用戶密碼”,打開源代碼中不需要的密碼并將其存儲到 usersecrets.xml 中。

    ­  .NET Framework 4.7.2

    ­  Visual Studio 2017 15.8 版現(xiàn)向所有受支持的平臺提供 .NET Framework 4.7.2(包括 4.7.2 運行時)。 .NET Framework 4.7.2 提供多項新功能和改進功能,還有大量可靠性、穩(wěn)定性、安全性和性能方面的修補程序。

    ­  有關(guān) .NET Framework 4.7.2 的更多詳細信息,可參閱以下文章:

    ­  .NET Framework 4.7.2 RTM 博客

    ­  .NET framework 4.7.2 發(fā)行說明

    ­  .NET Framework 4.7.2 中的已知問題

    ­  .NET Framework 4.7.2 中的應(yīng)用程序兼容性

    ­  API 更改

    ­  延遲加載以異步方式自動加載的軟件包

    ­  Visual Studio 現(xiàn)延遲加載配置為自動加載的異步包,直到 Visual Studio IDE 完全啟動且解決方案加載完畢為止。 此項更改不影響以同步方式自動加載的包。 用戶可查看狀態(tài)欄左下角的“任務(wù)狀態(tài)中心”來監(jiān)視進度。 創(chuàng)建 asyncpackage 的擴展作者應(yīng)測試其擴展。 有關(guān)詳細信息,請參閱 Improving the responsiveness of critical scenarios by updating auto load behavior for extensions(通過更新擴展的自動加載行為來提高關(guān)鍵方案的響應(yīng)能力)。

    原標題:Visual Studio 2017 15.8 正式發(fā)布 測試速度提高 82%
    責(zé)任編輯:曾少林
    相關(guān)閱讀:
    新聞 娛樂 福建 泉州 漳州 廈門
    猜你喜歡:
    熱門評論:
    頻道推薦
  1. 雷神發(fā)布新款27寸顯示器:2K 240Hz屏僅999
  2. 春季進行有氧運動時以下哪種呼吸方式更健康
  3. 成語“畫龍點睛”出自我國古代哪位畫家的故
  4. 新聞推薦
    @所有人 多項民生禮包加速落地快來查收 三峽大壩變形?專家:又有人在惡意炒作 北京新一波疫情為什么沒出現(xiàn)死亡病例? 戴口罩、一米線 疫情改變了哪些習(xí)慣? 呼倫貝爾現(xiàn)幻日奇觀 彩虹光帶環(huán)繞太陽
    視覺焦點
    石獅:秋風(fēng)起,紫菜香 石獅:秋風(fēng)起,紫菜香
    石獅環(huán)灣生態(tài)公園內(nèi)粉黛亂子草盛放 石獅環(huán)灣生態(tài)公園內(nèi)粉黛亂子草盛放
    精彩視頻
    2025泉州時尚周啟幕大秀精彩紛呈(視頻)
    2025泉州時尚周啟幕大秀精彩紛呈(視頻)
    閩南網(wǎng)記者探班原創(chuàng)舞劇《海的一半》(視頻)
    閩南網(wǎng)記者探班原創(chuàng)舞劇《海的一半》(視頻)
    專題推薦
    關(guān)注泉城養(yǎng)老服務(wù) 打造幸福老年生活
    關(guān)注泉城養(yǎng)老服務(wù) 打造幸福老年生活

    閩南網(wǎng)推出專題報道,以圖、文、視頻等形式,展現(xiàn)泉州在補齊養(yǎng)老事業(yè)短板,提升養(yǎng)老服

    新征程,再出發(fā)——聚焦2021年全國兩會
    2020福建高考招錄
     
    48小時點擊排行榜
    饒雪漫做客南安職專,與學(xué)生暢聊青春: 鍥而不舍落實中央八項規(guī)定精神丨聚焦主題 “青春文學(xué)教母”首次來南采風(fēng) 福州市委深入貫徹中央八項規(guī)定精神學(xué)習(xí)教 余光中之女余幼珊回鄉(xiāng)參訪 總投入300多萬元 豐州明志小學(xué)教學(xué)樓主 總投入300多萬元 豐州明志小學(xué)教學(xué)樓主 古老技藝進校園
    主站蜘蛛池模板: 久久午夜综合久久| 国产青榴视频在线观看| 亚洲午夜精品一区二区| 很黄很黄的网站免费的| 妇乱子伦精品小说588| 久久精品无码一区二区三区| 美女跪下吃j8羞羞漫画| 国产精品毛片va一区二区三区| 久久精品视频大全| 热99re久久国超精品首页| 国产一区在线观看免费| 男人天堂2023| 天天影视色香欲性综合网网站| 久久久久久综合网天天| 欧美乱妇高清无乱码亚洲欧美| 国产你懂的视频| 91中文字幕在线| 妺妺窝人体色WWW聚色窝仙踪| 久久国产精品麻豆映画| 精品久久久久久无码中文字幕一区 | 健身私教弄了我好几次啊 | 欧美无人区码卡二卡3卡4免费| 全部三片在线观看直播| 1024手机在线播放视频| 婷婷色香五月综合激激情| 久久亚洲国产精品123区| 欧美人与动人物姣配xxxx| 交换美妇94系列部分| 翁熄性放纵交换高清视频| 国产寡妇树林野战在线播放| 1区2区3区产品乱码免费| 天天成人综合网| 三级波多野结衣护士三级| 日本边添边摸边做边爱边| 亚洲乱码一区av春药高潮 | 玩弄放荡人妻少妇系列视频| 国产91精品一区二区麻豆亚洲| 91精品国产综合久久青草| 怡红院在线影院| 中文精品久久久久国产网站| 日韩精品高清在线|