<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>
開發人員需要能夠對正開發的代碼庫(code-base)進行輕松的導航,查詢和了解。在我們做的可用性研究中,我們一般會發現較之于實際編寫新的代碼,開發人員會花更多的時間在閱讀,檢查和查詢現有的代碼上。
VS 2010代碼編輯器添加了一些非常棒的新特性,這些特性允許你更加高效地查詢和導航代碼庫,允許你更輕松地了解代碼在方案中是如何被使用的。
你應該會發現下面的特性對這個項目而言,速度非常快,盡管該項目有好幾千行代碼。我在下面示範的所有的特性目前都内置于VS 2010了(對所有的項目類型,以及對VB 和 C#都工作)。
能夠快速地找到代碼,并導航到這些代碼,無論對大的還是小的方案都很重要。
Visual Studio 2010現在支援一個新的(Ctrl+逗号)的鍵盤快捷(即,控制鍵和逗号鍵同時按下)。當你按下(Ctrl+逗号)組合鍵時,一個新的VS 2010 “Navigate To(導航到)”對話框會出現,允許你快速地查詢你的方案中的類型,檔案,變量和成員,然後打開并且定位到這些東西上面:
這個“Navigate To”對話框提供了一個快速的遞增查詢界面, 你一開始鍵入查詢文字,結果就立刻顯示出來。例如,鍵入“cont”(不用按回車),你就會看到随着你開始鍵入,176個結果立刻顯示在結果清單中:
再多鍵入幾個字元,你就會看到清單自動過濾為那些比對“controller”的結果:
你可以使用卷動條卷動結果,或者也可以按tab鍵,然後使用光标箭頭鍵(如果你不想把手移離鍵盤的話)。你會發現“Navigate To” 視窗列出了比對你的查詢文字的所有類型的結果, 包括類型名稱,方法、屬性名稱,字段聲明,以及檔案名稱:
選擇清單中的任意一個結果,會将相關的源碼檔案在VS 2010打開(如果還沒有打開的話),立刻将你帶到相關的源碼位置(并且将其中的相關名稱高亮顯示):
很棒的模糊查詢功能
“Navigate To”查詢框還支援一些很棒的“模糊查詢”功能,允許你做一些智慧的過濾和查詢操作,而不必知道你正在查詢的東西的确切名稱。在對話框的遞增/即查即顯的查詢界面中這些操作都工作良好,允許你改進你的查詢,随着鍵入操作,就得到實時的結果。
來試一下,讓我們首先查詢“cache”這個詞。注意一下,查詢結果中不光包括那些起先的字母為“cache”的項,而且也顯示了那些包含“cache”這個詞的結果:
我們可以在查詢文本框中加多個詞,進一步過濾查詢結果。例如,在下面,我對清單做了過濾,隻包括那些名稱中同時含有“cache” 和 “action” 的結果:
.NET架構中的類型和成員用了一個命名設計指引模式叫“Pascal Casing”,即,類型或成員名稱中每個詞的第一個字母都是大寫的。“Navigate To”對話框也允許你使用這個“Pascal Casing”約定來快速地過濾類型。隻鍵入類型/成員名稱的大寫首字母,它就會立刻過濾列出比對大寫pascal命名約定的結果。
例如,鍵入“AMS” 會過濾出下面的結果(隻有那些名稱中的詞先以A起頭,然後是以M起頭,然後是以S起頭的類型和成員):
“Navigate To” 對話框允許你以最少的鍵擊次數就能快速地過濾和定位代碼,免去你不得不使用滑鼠,打開解決方案管理器,然後直接點選檔案的勞苦。
擁有快速查詢和導航的能力固然是好,但要是能夠快速地發現代碼是怎麼被使用的,那就更好了。VS 2010引進了一個新的“View Call Hierarchy (檢視調用的層次結構)”的特性,允許你快速地發現你的代碼庫中的某個特定方法或屬性是在何處被調用的,允許你快速地周遊(traverse)整個代碼庫的調用樹形圖(而不必運作或調試方案)。
要用這個特性,隻要選擇你的代碼庫中的一個方法或屬性名稱,然後鍵入(Ctrl+K,Ctrl+T )快捷鍵組合,或者右擊、然後選擇“View Call Hierarchy”上下文菜單指令:
這會調出一個新的“Call Hierarchy (調用的層次結構)”工具視窗,在預設情形下會在代碼編輯器下方顯示。在下面,你可以看到“Call Hierarchy”視窗顯示了我們方案中的2個方法,它們調用了我們在上面選擇了的 ViewPage.RenderView() 方法。
然後,我們還可以向下鑽取到第一個“RenderViewAndRestoreContentType”方法,進而看都是誰調用了它:
對虛拟方法/屬性,你還可以使用調用層次結構視窗看哪些類繼承并覆寫了它們。
輕按兩下“Call Hierarchy”視窗中的任意一個成員會打開相應的源碼檔案,立刻将你帶到對應的源碼位置:
這允許你快速地在代碼庫中導航,在編寫代碼時,更好地了解類和方法間的關系。
在VS 2010中,當你在代碼編輯器中選擇或高亮顯示一個變量/參數/字段聲明時,所有這些東西随後用到的地方都會在編輯器中為你自動地高亮顯示,這友善你快速地識别一個變量或參數是在什麼地方被使用的以及是如何使用的。
例如,當我們在下面的編輯器中選擇傳到ControllerActionInvoker.GetParameterValue()方法中的“controllerContext” 參數時,注意在該方法中用了這個參數的4個地方現在都被自動高亮顯示了:
如果我選擇該方法中的一個局部變量,用到了它的所有地方現在都被自動地高亮顯示了:
如果多個地方被高亮顯示了,你可以使用(Ctrl-Shift-up箭頭)鍵組合和(Ctrl-Shift-Down箭頭鍵組合在它們之間來回循環,快速地将光标移到上一個或下一個高亮顯示的字元上。
新的 VS 2010 文本編輯器友善了對項目或方案中的代碼的快速查詢,導航和探究。這些操作的速度非常之快(即使是在一個大的代碼庫内),而且随着你對項目進行改動,會保持更新,最終結果是使你的生産力大為提高。
希望本文對你有所幫助,
Scott