天天看點

一起談.NET技術,VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進》篇

<a href="http://kb.cnblogs.com/page/55266">VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改進 》篇</a>

<a href="http://kb.cnblogs.com/page/55481">VS 2010 和 .NET 4.0 系列之《幹淨的Web.Config檔案 》篇</a>

<a href="http://kb.cnblogs.com/page/55484">VS 2010 和 .NET 4.0 系列之《起始項目模闆》篇</a>

<a href="http://kb.cnblogs.com/page/55487">VS 2010 和 .NET 4.0 系列之《多定向支援》篇</a>

<a href="http://kb.cnblogs.com/page/55537">VS 2010 和 .NET 4.0 系列之《多顯示器支援》篇</a>

<a href="http://kb.cnblogs.com/page/55549">VS 2010 和 .NET 4.0 系列之《代碼優化的Web開發Profile》篇</a>

<a href="http://kb.cnblogs.com/page/55674">VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代碼片段支援》篇</a>

<a href="http://kb.cnblogs.com/page/55681">VS 2010 和 .NET 4.0 系列之《自動啟動ASP.NET應用》篇</a>

<a href="http://kb.cnblogs.com/page/55683">VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中實作URL導向》篇</a>

<a href="http://kb.cnblogs.com/page/55833">VS 2010 和 .NET 4.0 系列之《在VS 2010中查詢和導航代碼》篇</a>

<a href="http://kb.cnblogs.com/page/55835">VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進》篇</a>

<a href="http://kb.cnblogs.com/page/55836">VS 2010 和 .NET 4.0 系列之《添加引用對話框的改進》篇</a>

<a href="http://kb.cnblogs.com/page/57320">VS 2010 和 .NET 4.0 系列之《内置圖表控件》篇</a>

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

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

  我們也許會開始鍵入“GridView1.Edit”,調出智能提示來看一下該控件都有些什麼Edit成員。在VS 2008中這麼做的話,會調出智能提示下拉框,并在下拉框中将目前位置移到起始字母為“Edit”的成員處:

一起談.NET技術,VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進》篇

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

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

一起談.NET技術,VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進》篇

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

  搜尋關鍵詞

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

一起談.NET技術,VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進》篇

  搜尋類型

  VS 2010的這個新的智能提示過濾功能在快速尋找類和類型時也非常有用。例如,當我們鍵入“List”來聲明一個變量時,編輯器會提供自動的過濾,顯示名稱中含有“List”一詞的所有類型(包括IList&lt;&gt; 和 SortedList&lt;&gt;,它們的起始字母并不是“List”):

一起談.NET技術,VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進》篇

  這将極大地友善你找到記不全的類型名稱,而不必訴求于在對象浏覽器中搜尋或者使用幫助文檔。

  Pascal Case命名法智能提示

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

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

一起談.NET技術,VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進》篇

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

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

  希望本文對你有所幫助,

  Scott

繼續閱讀