關注Visual Studio 2010中代碼提示的改進
Visual Studio 2010RC版本之后,我們最期待的就是4月12日發布的正式版。在VS2010中大家比較關心的,肯定還是代碼提示,本文將為大家解釋這方面的改進。
在11月份的一篇博文中,我提到了一個叫做“快速搜索”的功能—Visual Studio 2010中關注代碼的功能之一。在過去的歲月中我們在這一領域中已經有所滯后,而在Visual Studio 2010中,我們想專注于這方面并視其為關鍵。今天,我想分享更多關于我們關注代碼開發方面的投資和功能的細節。
高亮引用(Highlight Reference)
高亮引用是一種看似簡單卻易于使用的方式,幫助我們快速理解一段代碼并導航到相應的引用。這個功能在一小段延遲之后被自動激活 – 所有在鼠標指針下的引用都被高亮顯示。只要按下Ctrl + Shift + UpArrow (或者DownArrow作反向導航),就可以輕松導航到下一個引用。在下面這個例子里,你可以看到該項功能的實際運作;你可能也注意到它推斷出哪項重載綁定到當前的選擇,而不是使用純文本匹配的方式。
快速搜索
快速搜索是我先前提到過的專注于代碼的功能。它作用于C++、C#和VB的所有符號,以及所有文件類型。它是一種非常輕量的作增量搜索的方式,可以很快的過濾結果并擁有諸如子字符串這樣強大的啟發式搜索。讓我們簡單的看一下我可能會怎樣使用快速搜索。
假設我要尋找一個事件句柄,我已不太記得它的名字,但知道我使用了典型的命名規則,快速搜索可以幫上我的忙。我的***步是在快速搜索中輸入“Click”來尋找所有帶有“Click”的方法簽名。
這時候,我可能記得它還包含了“Enter”。我再輸入一個字母“E”,我就能對所有同時包含“Click”和“E”的結果進行快速過濾。兩次輸入之間的空格被當作通配符搜索。現在我已經把結果縮減成一個很短的列表,我可以從里面選擇我想要的結果。
快速搜索甚至還支持駝峰匹配。比如說,如果我輸入大寫的“SPF”,快速搜索會把結果過濾為那些駝峰匹配或者完全匹配的結果!
調用層次
我們關注的另一個場景是重審依賴關系。比方說,如果我對一個方法作了點改動,我可能會想知道調用這個方法的所有實例。在VS2010中,我們改進了C++中調用瀏覽器的使用體驗,并為C#和VB添加了一個新的調用層次的工具。這些功能讓調用方法和被調用方法之間的導航變得更容易(如下所示)。
調用層次工具還允許你察看一個方法的所有重載方法以及接口方法的任意一種實現。比如,如果我想看看誰實現了MakeSound()這個接口方法,我可以通過調用層次看到在Cat和Dog中一共有兩個實現。
消耗先行的開發
在Visual Studio中有很多諸如智能感應和快速搜索的功能適用于用戶消耗的API定義好之后。然而,我們注意到有很多時候你需要對一個還未完全定義好的API進行開發。比如,在測試驅動開發(TDD)中,我們可以看到測試先行的模式。因此,在VS2010中,我們使消耗先行的開發變得更簡單。
我之前談過關于“從使用中生成”的功能。該功能通過代碼中的符號使用推斷出各種類型、方法、屬性和構造方法并生成一小段代碼。在下面的截屏中,你可以看見“從使用中生成”這一功能的實際運作。
生成構造方法將會生成以下代碼:
而且,我們為智能感應也開發了一套“消耗先行”的模式,從而使你可以輕松的觸發智能感應中的功能。在現在的Visual Studio中,你可能已經有這樣的經歷,IDE會自動完成一個標示符,但其實你并不想讓它這樣做的,因為它還并不存在(考慮一下范式方法返回類型)。在下面的例子里,如果你輸入“Puzzle”,智能感應為預先選擇“PuzzleTest”。敲擊空格或回車鍵將會插入“PuzzleTest”。
取而代之的,通過敲擊Ctrl + Alt + 空格鍵,你將能觸發“消耗先行”的模式。現在,當你輸入“Puzzle”,列表中仍然包含了“PuzzleTest”,但卻不會主動選擇它。你真正輸入的內容才是會被插入的內容。
這些是我們在Visual Studio 2010中所作的工作的一些例子。我們的工作旨在讓你的工作更簡單更高效。
Namaste!
【編輯推薦】
- Visual Studio 2010中Parallel類實現并行計算
- Visual Studio 2010中C++項目升級指南
- Visual Studio 2010中測試用例工作項類型介紹
- 在Visual Studio 2010選擇合適的項目測試方法
- 細數VS 2003到Visual Studio 2010的開發之路
【責任編輯:彭凡 TEL:(010)68476606】