解析Visual Studio 2015促進生產力的10個新功能

來源:互聯網
上載者:User

標籤:

1 效能提示 Performance Tips

當我們想知道執行一段代碼所耗費的時間時,需要藉助於.NET 架構的Stopwatch類,像下面這樣:

class Program
{
    static void Main()
    {
        // Create new stopwatch
        Stopwatch stopwatch = new Stopwatch();
        // Begin timing
        stopwatch.Start();
        // Do something  這裡是需要測試的耗費時間的代碼
        for (int i = 0; i < 1000; i++)
        {
            Thread.Sleep(1);
        }
        // Stop timing
        stopwatch.Stop();
        // Write result
        Console.WriteLine("Time elapsed: {0}",stopwatch.Elapsed);
    }
}
我們需要手工的在需要測試執行時間的代碼斷開始和結束位置增加代碼Stopwatch類,然後調試時查看代碼的執行時間。
Visual Studio 2015引入新的效能提示功能,如所示,當調試一個段代碼時,放置二個斷點,當調試到第二個斷點的地方時,Visual Studio會顯示從上一個斷點執行
到此執行斷點時所耗費的時間:
 
 執行一段代碼調用,在代碼調用的完成之後,也可以顯示調用這段代碼所耗費的處理器時間:
 

 

2  快速代碼編寫提示 Quick Action Light Bubble Icon

當Visual Studio的智能感知後台檢測代碼發現問題時,它會提示該代碼有問題,並且提供解決此問題的建議方法。這個功能有點像是抄襲Resharper的,Resharper很早的版本就具備這樣的功能。有兩種氣泡提示

語法錯誤修正

如所示,當前類型中沒有定義activyName這個變數或是屬性,所以Visual Studio對此語法錯誤產生三個提示:

A 在當前類型中增加變數定義

B 在當前類型中增加唯讀變數定義

C 在當前類型中增加屬性

 

代碼重構建議

如所示的代碼例子,第一的變數定義resultList可以忽略定義,在第二行代碼中直接用tempResults.ToList() 來替代。

 

在我的開發環境中,安裝Visual Studio之後必備的第三方外掛程式是Resharper,這個功能在Resharper很早就出現了。

 

3  自訂表單布局 Window Layout

Visual Studio有一套預設的布局方案,如果將布局調整多次後還想回到初始的介面布局,只能調用Window菜單下的Reset Window Layout恢複到安裝後的狀態。

布局通常是指解決方案瀏覽器的位置,寬度,輸出視窗的位置和高度等資訊,這此資訊被Visual Studio儲存著,只保留最新的一次布局。

Visual Studio 2015引入了布局儲存方案,使用者可以儲存這些布局資訊,以方便切換任務時調用不同的布局方案。

 

4  簡化重新命名 Simplified Rename

當需要重新命名一個變數時,可以按右鍵變數名稱選擇重新命名或是按F2快速鍵,Visual Studio 用綠色字高亮標識出當前檔案中用到此變數的地方,同時在當前編輯器的右上方顯示

引用到此變數的其它檔案,可以預覽重新命名後的變化。

此功能可以看作是Visual Studio 重構中重新命名變數功能的改善。Resharper的重新命名功能比這個方便很多。

 

5 斷點設定改善 break point improvement

Visual Studio 改善了基於條件運算式斷點的條件設定介面,如所示,Visual Studio 2013中顯示的自Visual Studio發布以來的經典的斷點設定介面。

是Visual Studio 2015中的斷點的條件運算式設定介面,當條件符合時,還可以增加方法,如中所示的將自訂訊息輸出到Output視窗。

關於Visual Studio的條件運算式,推薦一個非常不錯的外掛程式,OzCode,它以圖形化的方式顯示各種條件的運算式及其運算結果,極大的方便了程式調試。

Visual Studio 2015的斷點還支援撤消功能,如果不小心刪除一個斷點,點撤消(Ctrl+Z)可恢複此斷點。

 

6 錯誤輸出改善 error list improvement

先看一下Visual Studio 2013中的錯誤輸出表單的介面:

再看Visual Studio 2015中的錯誤輸出表單:

Visual Studio 2015增加了編譯器編譯報錯的錯誤碼,如中的CS0219,這樣方便查閱MSDN相應的編譯問題重現即可快速修複錯誤問題。

輸出視窗的Code 列,CS開頭的表示編譯錯誤,CA開頭的表示程式碼分析。

 

7  即時視窗中支援Lambda運算式和LINQ查詢  Lambda expression and linq support in immediate window

在調試代碼時,在即時視窗中直接輸入一個運算式,Visual Studio會對此運算式求值並返回結果。Visual Studio 2015的即時視窗現在支援Lambda運算式和LINQ查詢。

 

8  NuGet 包管理器改善  NuGet Package Manager improvement

Visual Studio 2015提供圖形化的NuGet包操作工具,支援包搜尋,選擇項目需要引用的包是可以選擇版本。

這個改善可以讓NuGet生手擺脫對命令不熟悉的恐懼感。

 

9  靜態引用 static using

Console類有一個WriteLine方法,現在可以直接在代碼中調用WriteLine方法而不用加Console類型名稱,如所示:

有點像C++語言的全域函數,如果WriteLine方法在多個類型中有定義,並且這幾個類型都有加靜態引用(statis using),編譯時間仍然會報錯。

 

10 屬性或方法可用Lambda運算式實現 Implement Methods and Properties with Lambda Expressions

方法體為Lambda運算式

public override string ToString () => string.Format("{0},{1}",x,y) ;

屬性定義為Lambda運算式

public double Distance=> Math.Sqrt(X*X + Y *Y) ;

解析Visual Studio 2015促進生產力的10個新功能

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.