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