Connect(); 2016

第 31 卷,第 12 期

本文章是由機器翻譯。

Visual Studio 開發 - Visual Studio 2017 RC 讓您的生產力變得更高

Kasey Uhlenhuth;2016

如果您想要更有效率,您必須儲存更多時間或更多的工作上執行每日的工作。Visual Studio 2017 RC 可提升產能與自動化的工作,以及改進的導覽,以及品質和狀態程式碼的立即回應。

Visual Studio 已重整、 程式碼產生、 程式碼分析、 瀏覽進步,測試和偵錯的.NET 開發人員所即可進行專案"Roslyn",重新架構 [C# 和 Visual Basic 編譯器六年鉅的任務。Visual Studio 2017 RC 會利用 Visual Studio 2015 中的投資 Roslyn 建立出大量的酷炫新功能。

導覽程式碼

當開發人員切入 bug、 探索重整的含意或設法 grok 不熟悉的程式碼基底時,它們依賴的正確性和輕鬆巡覽程式碼。此版本提供大幅改進的導覽體驗 — 尋找所有參考、 移至與縮排的輔助線 — 若要取得您從 A 到 B 更有信心與分心 (即使是在大型程式碼基底)。

以前,尋找所有參考會探索所有使用的符號,然後將結果輸出為簡單的一般清單在 [結果] 視窗中。現在,因為 [圖 1 參考會以色彩標示和排列在階層式顯示,並自訂群組、 排序、 篩選和搜尋可協助您快速首頁中的特定參考上您想要顯示 — 即使是在清單中有許多參考。此外,滑鼠游標停留於參考會顯示工具提示來提供到,您將會瀏覽至之前,請先確實那里遠見。您可以儲存或者 「 鎖定 」 的情況下您尋找所有參考的結果時,您需要多次執行命令,但希望您的原始結果,以保存 (例如,當調查,並向下切入重整的影響)。

尋找所有參考的增強功能都包括顏色標示、 自訂的組織和動態顯示預覽
[圖 1 尋找所有參考的增強功能都包括顏色標示、 自訂的組織和動態顯示預覽

若要儲存更多的時間,了解所示的便利的鍵盤快速鍵 [圖 2

[圖 2 一般瀏覽的鍵盤快速鍵

移至定義 查看定義 尋找所有參考 請移至實作 請移至所有 (檔案/型別/成員/符號)
F12 Alt + F12 Shift + F12 Ctrl + F12 Ctrl + T 或 Ctrl +

 

經過明顯的改進,在此版本中的另一項功能是 GoTo (先前為瀏覽至)。移至 All 是在方案中的任何檔案、 類型、 成員或符號宣告的快速、 完成搜尋。底部的 [搜尋] 列圖示可讓您篩選結果的群組,或調整搜尋的範圍中所示 [圖 3。(但是如果您偏好鍵盤滑鼠時,您也可以利用的查詢語法,可讓您直接輸入簡單的前置詞來篩選)。在右下角的齒輪圖示可讓您自訂少數幾個設定,包括橫條圖、 即時預覽包含反白顯示的結果,並針對每個結果的其他檔案資訊的檔案搜尋的位置。

使用圖示或查詢語法來篩選結果的檔案、 類型、 成員或符號
[圖 3 使用圖示或查詢語法來篩選結果的檔案、 類型、 成員或符號

最後,您可能會辨識縮排的指南,從受歡迎的 Productivity Power Tools 擴充功能。現在核心產品的一部分的虛線,灰色垂直線會做為地標中程式碼,以提供您檢視的範圍內的內容。當滑鼠游標停留於下方的大括號,您會取得比對括號,頂端的彩色的預覽,當滑鼠游標停留於本身的指南,您收到的程式碼,且包含相符的最上層大括號括彩色的預覽。這些功能的目標是提供您深入了解的程式碼 「 地理位置 」 和內容而不必捲動或進行巡覽。縮排指南也適用於 Visual Studio 中現有的大綱功能,而且甚至可以提供多個可展開及摺疊的區域。

您也可以在捲軸上啟用 「 對應模式 」。這會將捲軸轉換成 「 對應 」 的程式碼,可讓您檢視整份文件的縮小版本,包括錯誤、 中斷點等等。滑鼠游標停留於 「 對應 」 的任何部分將顯示程式碼的預覽此時文件中。

同樣地,您可以增加效率學習中所示的實用鍵盤快速鍵和 [圖 4

[圖 4 GoTo 的鍵盤快速鍵

  請移至所有 移至行 移至檔案 請移至型別 請移至成員 請移至符號
捷徑 Ctrl + T 或 Ctrl + Ctrl+G Ctrl + 1、 F Ctrl + 1、 T Ctrl + 1、 M Ctrl + 1、 S
查詢前置詞 沒有前置詞 : f t 分鐘 #

寫入和讀取程式碼

瀏覽,以及開發人員要花費大量時間撰寫和閱讀程式碼。Visual Studio 2017 RC 著重於協助進行正確的程式碼撰寫,以及維護開發人員程式碼基底的可讀性。這一版 Visual Studio 2015 中的功能為基礎,提供進一步調整的 IntelliSense 經驗、 多個重整和程式碼修正程式,並可自訂的程式碼樣式設定和強制執行。

IntelliSense Visual Studio 的目標是要幫助,而不會妨礙現今的各種程式碼撰寫工作流程。Visual Studio 可讓您具生產力最明顯的方法之一是使用 IntelliSense (請參閱 [圖 5)。Visual Studio 2017 RC 更新 IntelliSense 經驗數項增強功能︰ 智慧型 preselection、 篩選和 XAML 支援。

IntelliSense 現在已反白顯示和篩選
[圖 5 IntelliSense 現在已反白顯示和篩選

智慧型 preselection 將決定 [目標類型] 所需的程式碼中的位置,以及將預先選取的比對該類型的 IntelliSense 完成清單中的項目。這會加速您的輸入流量,並移除不必瞭解並預期在指定位置的負擔。IntelliSense 篩選可讓您依分類,篩選的完成清單例如,您可以篩選掉的擴充方法,或檢視只有事件。當您使用大型程式碼基底,完成清單中有多個項目,或不熟悉的程式碼處理時,這項功能可提高生產力。

最後,此版本提供全新的體驗,讓 XAML IntelliSense,可協助開發人員快速且正確地繫結,請參閱相關的資訊。 繫結事件、 路徑以及具有 x︰ 繫結; 函式時,這更聰明的完成經驗包含完成camelCase 比對 (比方說,「 RTB 」 將會完成為"RichTextBox") 的支援。和命名空間前置詞自動完成。

程式碼分析 Visual Studio 2015 導入的即時程式碼分析功能,可讓您的程式碼 」 做為輸入 「 意見。這可讓您了解問題,才能建置,而不是累積一組問題您可能永遠不會就會設法修正。若要解決程式碼即時分析中識別的錯誤,您可以使用燈泡功能表或快速鍵"Ctrl +"。 若要存取程式碼修正和重構。Visual Studio 2017 RC 會即時的分析和程式碼修正進一步 amplifying 組重整和程式碼修正,以及找出程式碼樣式問題,因為它們在輸入的程式碼樣式分析器的簡介。

Visual Studio 2015 包含一些核心重整作業︰ 擷取方法或介面,變更方法簽章、 內嵌暫存變數,引進區域變數,並移除不必要的 using 和匯入。Visual Studio 2017 RC 展開的重構功能集,並修正程式,以協助您維護可讀取的程式碼基底和 catalyze 您的開發工作流程。比方說,大量的開發人員最初撰寫它們的類別、 介面和其他類型,在同一個檔案,然後解壓縮到檔案中相符的名稱之後使用每個型別。Visual Studio 2017 RC 可以加速這個程序與重構選項 「 比對檔案移動類型 」。 其他重構功能,您可以期待包含︰

  • 同步處理檔案和型別名稱
  • 將屬性轉換成方法
  • 使用物件初始設定式
  • 轉換 null 檢查 + 使用擲回。+ 擲回
  • 將字串轉換。格式字串插值
  • 進行同步方法
  • 加入遺漏的案例
  • 加入括號

此外,此版本引進一些基本的程式碼分析和修正程式的 XAML。您可以使用相同的燈泡機制,在 C# 和 Visual Basic 中,來排序和移除不必要的命名空間,在 XAML 檔案中加入遺漏的命名空間。 

維護一致,請閱讀程式碼基底是一項困難的工作。有很好的理由可讀取的程式碼基底的典範︰ 如果所有的程式碼看起來一致,很容易建立新的開發人員。如果所有的程式碼看起來一致,程式碼檢閱專注在邏輯上,而不是格式化和樣式微末節。Visual Studio 2017 RC 會建立自訂命名慣例的內建樣式規則與設定程式碼樣式的方法。

在 RC 中,您可以移至 [工具 |選項 |文字編輯器 |[C# / 基本] |程式碼樣式 |架構類型,透過預先定義的一般來查看內建可設定的樣式規則,其中包括 var 偏好透過明確的型別,這在執行任何動作。每個規則隨附的描述,可設定的喜好設定和可設定的嚴重性。不同的嚴重性的運作方式如下︰

  • 錯誤會顯示在編輯器中以紅色波浪線,會出現在錯誤清單,將會中斷組建。
  • 警告會顯示為綠色波浪線編輯器中,會出現在錯誤清單而將會中斷組建組態 」 將警告視為錯誤 」,如果已啟用。
  • 建議以灰色點,會出現在錯誤清單並不會中斷組建會顯示在編輯器中 (請參閱 [圖 6)。
  • 無有沒有顯示在編輯器中不會出現在 [錯誤清單,並不會中斷組建。

強制執行團隊類型,並在編輯器中,讓您取得的命名慣例違反規則時,即時診斷
[圖 6 強制團隊類型,並在編輯器中,讓您取得的命名慣例違反規則時,即時診斷

因為命名樣式的喜好設定範圍相當廣泛跨.NET 開發人員社群,您可以建立您自己自訂的命名慣例,以強制執行您的小組。Visual Studio 2017 RC 提供一組預設值,可以設定為強制小組慣例,包括的成員 (欄位除外) 都應該 PascalCase、 型別應為 PascalCase、 以"I"開頭的介面和非同步方法最後會以"Async"。 您可以設定,並加入這些預設值,請前往 [工具 |選項 |文字編輯器 |[C# / 基本] |程式碼樣式 |命名。命名規則會放在方格中以如同標準的樣式規則的設定 (順序很重要這裡請注意,第一個相符的樣式規則會套用)。

若要新增自訂的命名規則,請按一下綠色的加號 ("+") 規則方格,即可開啟規則建立對話方塊底部的按鈕。您可以接著使用預設值規格 (例如,「 所有類別 」) 和樣式 (例如,[使用前置詞 __]) 來製作自訂的命名規則。如果內建的規格和樣式不足夠拼湊在一起所需的命名慣例,您可以撰寫您自己。

您也可以調整您的樣式規則,從編輯器所按下 「 Ctrl +。 」 觸發燈泡功能表,選取功能表中的規則修正程式,然後按一下 [即時程式碼預覽齒輪圖示。

測試程式碼

支援單元測試會建立有趣的張力之間選取足夠的測試,以確保程式碼仍在執行較少的測試越好讓您不必等待這麼久的測試結果正確。此正確性和時間之間的取捨通常離開開發人員覺得無效率和挫折。若要降低此負荷,Visual Studio 2017 RC 導入了 Live 單元測試的 C# 和 Visual Basic (請參閱 [圖 7)。

即時的單元測試程式碼是否接觸到傳遞,提供立即的回應或沒有測試
[圖 7 即時的單元測試程式碼是否接觸到傳遞,提供立即的回應或沒有測試

即時單元測試會分析後,編輯執行受影響的測試執行階段所產生的資料,並提供立即反應在編輯器中測試的狀態。 這些內嵌視覺效果顯示一行一行地為基礎︰

  • 如果可執行程式碼行叫用由至少一個失敗的測試裝飾具有紅色"x"。
  • 如果可執行程式碼行叫用由所有通過測試,則它都有綠色的核取記號。
  • 如果沒有測試所叫用可執行程式碼行,它是以藍色的虛線來裝飾。

即時程式碼涵蓋範圍] 和 [測試結果資訊提供即時的單元測試移除手動選取和執行測試的負擔。即時意見也會負責將立即通知您,如果您的變更已經破壞程式 — 內嵌視覺效果會從綠色的核取記號切換到紅色的 x,如果您知道您突破測試。您可以停留的核取或查看哪些測試到達指定的行 x 在任何時間點。此外,您可以直接巡覽至該測試的動態顯示工具提示中按一下它。

如果您的作法測試導向開發的團隊,Live 單元測試 gamifies 工作流程,換句話說,所有的測試會變成紅色並無法在第一次,並為您實作的每個方法,就可以看到它們變成綠色,如果成功為止。對於其他開發人員,Live 單元測試提供視覺化回饋當它們已經中斷他們的程式碼。

偵錯程式碼

當所有解決方案均失敗時,開發人員會依賴偵錯協助他們識別問題的來源。Visual Studio 2017 RC 節省時間減少的動作需要逐步執行程式,並向下切入到例外狀況資訊。

執行要按一下並未完全什麼聽起來。它會執行程式,直到它到達目標一行程式碼,以偵錯模式會中斷。基本上,它將不再需要開發人員不斷地新增、 叫用和移除暫時中斷點結合成單鍵所有這些動作。若要使用這項功能,您只需要按下時,您將滑鼠停留在偵錯模式下一行程式碼的左邊會出現綠色 [執行到此處] 圖示。

或許最大產能改進偵錯工具中的是新的例外狀況 Helper。重新設計的對話方塊會顯示例外狀況的最重要的資訊在最上層,會傳回 null,如所示的運算式內部的例外狀況詳細資料等 [圖 8。Visual Studio 2017 RC 也可讓您禁止重大例外狀況型別,在特定情況下,可讓您忽略偵錯時,從協力廠商程式庫或特定的.dll 檔擲回例外狀況。

新的例外狀況 Helper 將不再需要向下切入到下拉式清單以尋找最重要的資訊和動作
[圖 8 新例外狀況 Helper 將不再需要向下切入到下拉式清單以尋找最重要的資訊和動作

總結

Visual Studio 2017 RC 著重於讓您更具生產力的節省時間與精力。我很興奮地能夠分享 GoTo 和尋找所有參考,在 C# IntelliSense 的增強功能的改進功能導覽/Visual Basic 和 XAML,擴充的即時使用更多的重整作業和修正程式和加入的程式碼樣式、 測試與 Live 單元測試、 有效率的偵錯經驗與新的例外狀況協助程式以互動方式的程式碼分析。我期待您的意見反應,希望您有使用 Visual Studio 2017 RC 具生產力的經驗。


Kasey Uhlenhuth 是 Microsoft.NET 和 Visual Studio 小組的專案經理,目前正努力現代化的 C# 開發人員經驗。 她先前在 C# 互動式和 Node.js Tools for Visual Studio。她聯絡 kaseyu@microsoft.com 或 Twitter: @kuhlenhuth

感謝下列 Microsoft 技術專家來檢閱這份文件︰ David Carmona、 Kevin Pilch Bisson 和 Mark Wilson Thomas
Kevin Pilch 幾乎 15 年曾在 Microsoft 的開發人員工具。  在這段期間,他曾在 C# 和 VB IDE 體驗,包括 IntelliSense、 格式化、 重構、 顏色標示和更多的功能。最近他已經過 Microsoft Roslyn 專案的 IDE 小組經理。他愛 marathons,和播放曲棍球他小孩、 訓練與時間。  他的缺點包括啤酒與巧克力晶片 cookie。您可以在 Twitter 上找到 Kevin @Pilchie

Mark Wilson Wilson 是小組程式經理 Visual Studio IDE,牠之後 Visual Studio 編輯器中。他一直參與開發人員工具超過 10 年,包括 Office、 SQL、 WPF 和 Silverlight 工具使用。您可以找到他的 Twitter @MarkPavWT