VS 2010 和 .NET 4.0 系列之《VS 2010程式碼智慧提示的改進》篇

  • 22903
  • 0
  • 2011-07-02

摘要:VS 2010 和 .NET 4.0 系列之《VS 2010程式碼智慧提示的改進》篇

【原文位址】VS 2010 Code Intellisense Improvements (VS 2010 and .NET 4.0 Series)
【原文發表日期】 Thursday, October 22, 2009 11:47 PM

這是我針對即將發佈的VS 2010 和 .NET 4所撰寫的 文章系列的第十篇。

在今天的部落格中,我將討論一個VS 2010中對程式碼智慧提示(intellisense)的很小,但是非常棒的改進,就是更好地過濾型別和成員程式碼完成的能力,這使你在編寫程式碼時更容易找到和使用APIs。

VS 2008中的程式碼智慧提示

為幫助示範這個VS 2010中的智慧提示的改進,讓我們先來在VS 2008中做一個簡單的例子,我們想要編寫一些程式碼來啟用GridView控制項的編輯場景:

我們也許會開始鍵入「GridView1.Edit」,調出智慧提示來看一下該控制項都有些什麼Edit成員。在VS 2008中這麼做的話,會調出智慧提示下拉框,並在下拉框中將當前位置移到起始字母為「Edit」的成員處:

image

如果我們想要使用的方法/屬性/事件的起始字母為「Edit」的話,這當然很好,但如果我們正尋找的「Edit」成員的起始字母是別的詞的話(譬如,「RowEditing」 事件或 「SetEditRow()」 輔助方法),這幫不了我們。我們只能手工上下捲動尋找其他的Edit成員,或者調出對像瀏覽器或幫助系統來找到它們。

VS 2010中的程式碼智慧提示

現在讓我們在VS 2010中試一下同一個例子。當我們在VS 2010中鍵入「GridView1.Edit」時,我們會發現EditIndex屬性依然會被反白顯示,但智慧提示列表也被過濾過了,使你能很快地定位名稱中任何地方含有「Edit」一詞的所有其他成員:

image

這允許我們很快地看到與Edit(編輯)相關的所有方法/屬性/事件,更快地找到我們在找的東西。

搜尋關鍵詞

VS 2010的這個新的智慧提示過濾特性在搜尋任何成員時都會非常有用,無論成員的起始字母是什麼。例如,如果我們想要在datagrid上啟用分頁,但記不起來該怎麼做,我們只要鍵入「GridView1.Paging」,它就會自動地過濾掉其他的成員,而只留下含「paging」一詞的成員。注意下面,GridView類上沒有哪個成員的起始詞為「Paging」,但我還是找到了2個名稱後面含有「paging」的成員:

image

搜尋型別

VS 2010的這個新的智慧提示過濾功能在快速尋找類和型別時也非常有用。例如,當我們鍵入「List」來宣告一個變數時,編輯器會提供自動的過濾,顯示名稱中含有「List」一詞的所有型別(包括IList<> 和 SortedList<>,它們的起始字母並不是「List」):

image

這將極大地方便你找到記不全的型別名稱,而不必訴求於在對像瀏覽器中搜尋或者使用輔助文件。

Pascal Case命名法智慧提示

.NET框架命名指引指出型別和成員名稱在預設情形下應該使用「Pascal Cased」命名法,這意味著型別或成員名稱中的每個詞應該是以大寫字母起頭(例如,PageIndexChanged)。

VS 2010中的智慧提示過濾支持現在允許你利用這個特性,基於Pascal命名模式很快地找到和過濾方法。例如,如果我們鍵入「GridView1.PIC」,VS 2010會過濾智慧提示,顯示名稱中含有PIC的成員,以及那些用了Pascal命名法並且各個詞段的起始字母含有那個字母順序的成員:

image

注意上面,PIC 致使 「PageIndexChanged」 和 「PageIndexChanging」 也顯示了出來。這在決定成員或型別名稱時,可以省我們幾個擊鍵次數。

結語

我想你會發現VS 2010中這個新的智慧提示過濾方法在編寫程式碼時,可以方便你很快地找到和使用類和成員,你在VB和C#中都可以利用該特性。

希望本文對你有所幫助,

Scott

除了寫部落格外,最近我一直在使用Twitter發短文和共享連結。你可以在Twitter上透過www.twitter.com/scottgu(@scottgu是我的twitter名)跟隨我。