摘要:Visual Studio中的搜索和導航技巧
原文發表位置:Search and Navigation Tips/Tricks with Visual Studio
原文發表時間:August 24, 2010 12:24 AM
這是我寫的關於VS2010和.NET 4發佈的文章系列中的第27篇。
今天的文章將延續上周偵錯技巧的內容,並涵蓋一些在Visual Studio中非常有用的搜尋和導覽技巧。這些小技巧是我的朋友Scott Cate (在這裡發佈了很多關於VS的使用技巧) 最近推薦給我的,許多Visual Studio開發人員,即使那些資深開發人員,似乎也不瞭解這些技巧。
如果你們還沒有用到它們的話,希望這篇文章可以有所幫助。它們都很容易學會,並且可以為你省下不少時間。
Ctrl + i – 漸進式搜尋 (incremental search)
大多使用Visual Studio的開發人員都很熟悉 "搜尋對話盒" ——可以通過在IDE中按 "Ctrl + F" 打開。但是驚奇的是,很多開發者都不熟悉Visual Studio中的 "漸進式搜尋" 功能——它可以讓你在不打開對話框的情況下搜索當前檔案。
使用漸進式搜尋
在編輯器中使用快捷鍵 "Ctrl + i" 便可以使用漸進式搜尋功能。這將輕微改變你的光標並且會使IDE左下方的狀態欄變成 "漸進式搜尋:(搜尋關鍵字)" – 然後你就可以輸入想要查詢的關鍵字,編輯器就會在目前的檔案中為你進行搜尋 (不需要打開對話盒)。
下面我們用 "action" 關鍵字來進行漸進式搜尋,然後VS會反白第一處在文件中出現的 "action"。
我們可以再一次按下 "Ctrl + i" 去搜尋下一處出現該關鍵字的地方(可以不斷重複該操作) :
按下 "Ctrl + Shift + i" 會使用反向搜尋,並且可以跳回之前的位置 (skip backward)。
你可以在任何時候按下 "ESC" 鍵來結束漸進式搜尋狀態。更多的關於漸進式搜尋資訊可由此獲得。
F3 和 Shift+F3 – 用之前的查詢關鍵字查找
還有一個關於漸進式搜尋的不錯的技巧是在你按下 ESC 結束搜尋後,會將你的查詢關鍵字添加入IDE的搜尋堆疊中。你使用的查詢關鍵字會在VS的標準工具列中的 "查詢" 下拉式清單中顯示出來:
你可以透過在 Visual Studio 按下 F3 鍵來重覆最後一次的搜尋。當你搜尋完之後,對程式碼進行了一些修改,然後你想在目前檔案中繼續搜尋時,這個功能是非常有用的。只要按下 F3,就可以在當前檔案游標處重覆上一次的搜尋,而不需要重新輸入查詢關鍵字。
按下 "Shift+F3" 將會用最近一次查詢關鍵字執行反向搜尋 (從編輯器的當前游標所在處)。你可以很方便的使用 F3/Shift+F3 來切換你的檢索方向。
Ctrl + F3 – 用目前選取文字來進行搜尋
還有一個不錯的小技巧就是你可以通過在編輯器中簡單地反白一個單詞 (或者部分單詞) 來避免輸入查詢關鍵字,然後按下 "Ctrl + F3" 來搜尋反白部分在目前檔案的下一處使用:
按下 "Ctrl + F3" 將會搜尋下一處你所反白的字元,而不用輸入它們:
像之前一樣你也可以選擇使用 "Ctrl + Shift + F3" 來執行反向搜尋。
Ctrl + Shift + F – 在解決方案中搜尋
有時候你希望在整個解決方案中搜尋。
"Ctrl + F" 將會打開尋找對話盒,並且預設會在目前檔案中進行尋找。 "Shift + Ctrl + F" 會打開尋找對話盒並且預設在整個解決方案中搜尋:
這樣搜尋完之後會在IDE中打開 "搜尋結果" 窗口可以讓你瀏覽到每個找到的關鍵字實體:
你可以在 "搜尋結果" 中雙擊擊每個搜索結果,並且導向到查詢關鍵字所在處。
很多人不知道的一個小竅門是按 "F8" 或者 "Shift + F8" 可以瀏覽到下一個/前一個列表中出現的搜尋關鍵字。這可以使你在列表中不用滑鼠,並且切換的更快、更容易。
Shift + F12 – 尋找使用
大多數使用 Visual Studio 的開發者都知道如何反白一個型別,然後按F12來 "移至定義"。這會打開類別/型別的定義,是瀏覽到宣告的地方的一個有效方式。
很多開發者並不知道 "Shift + F12",它可以打開所有使用特定型別的地方。這可以使你快速的知道這個特定型別是如何使用的。只要簡單地選取或者將游標移到這個型別並按下 "Shift + F12" 就可以使用了:
這將打開 "搜尋符號結果" 窗口並且列出在目前解決方案中所有使用特定型別的地方:
像之前所說,你可以使用 "F8" 和 "Shift + F8" 來向前/向後瀏覽到列表中的每個搜尋結果。
Ctrl + – 和 Shift + Ctrl + – 向前/向後瀏覽
你是否有瀏覽到另外一個程式碼文件,查看一些東西然後切換回原文件?比如:你使用F12 "移至定義" 然後切換回使用它的程式碼區段。
一個很多人不知道的VS的功能是 "反向瀏覽" 鍵——「Ctrl +(減號鍵)」。這可以瀏覽到瀏覽堆疊的前一個檔案/位置。
讓我們來實作一下,試著在 Visual Studio 中選擇一個型別。下面我選了 "IController" 介面:
按下F12來瀏覽它的型別定義。這個操作打開一個內含所選型別的原始碼檔案的新編輯視窗:
現在要跳回我們原來的地方,按 "Ctrl + (減號鍵)" 然後VS就會帶我們回到原來所在的地方:
如果你想在瀏覽堆疊中向前移動 (此時會把我們導回到ICtronller.cs文件),然後按下 "Shift + Ctrl + (減號鍵)"。
Sara Ford 有一篇講述這個功能的很好的文章,說明了什麼時候會有一個新的位置被放入瀏覽堆疊。
Ctrl + Alt + (向下箭頭) – 瀏覽到一個打開的文件
如果在IDE中有很多開啟的檔案,那如何在這些檔案中輕鬆地切換呢?
一個很有用的快捷鍵是 "Ctrl + Alt + (向下箭頭)" – 這會在VS中打開一個下拉選單,其中列出了所有開啟的視窗:
你可以使用箭頭來選擇你想要瀏覽的檔案-或者乾脆輸入檔名,Visual Studio會在列表中反白此文件。比如,上面我輸入了 "Mo" 然後 Visual Studio 反白了 "ModelBinder.cs"。按下 "enter" 鍵會移到那個文件:
這樣提供了一個漂亮,簡單的方式讓你在多個檔案中瀏覽而不必使用滑鼠,從而可以讓你的雙手不用離開鍵盤。記住 "Ctrl + (減號)" 可以用來定位回你原來的地方。
巡覽至,檢視呼叫層次結構 (Call Hierarchy) 和反白參考 (Highlight Reference) 功能
Visual Studio 2010 引入了一系列新的程式碼瀏覽和搜尋功能-包括新的 "巡覽至" 對話框, "呼叫階層" 功能和反白參考功能。
我之前這裡有一篇文章是關於VS 2010的這三個新功能的。如果你們還沒有閱讀那篇文章,嘗試下那些功能,我極力推薦-他們是非常棒的補充文章。
編輯器的其他改進
VS2010中還有很多針對編輯器的改進-很多我之前已經發表過相關的文章。這裡是我之前發表的一些關於VS2010編輯器方面的文章的連結:
‧ 改進的 C#/VB 程式碼 intellisense 支援
‧ 改進的 JavaScript 程式碼 intellisense 支援
‧ 區塊選擇 (Box Selection) 和多行編輯 (Multi-line Editing) 支援
‧ ASP.NET, HTML 和 JavaScipt 程式碼區塊支援
另外還有一些我在VS 2010 and .NET 4 改進系列中寫的其他文章。
總結
以上多數功能其實在 Visual Studio 之前多個發佈版中已經存在了,但是很多開發者並不知道他們。希望這篇文章可以幫助不知道這些功能的人們一個便利的方法來開始瞭解他們。如果你想要記住這些快捷鍵的話,把這個VS 2010 快捷鍵文章列印出來並且放在你的螢幕旁邊。
想要學習更多更酷的 Visual Studio 技巧,請訂閱 Scott Cate 的 Visual Studio 技巧文章系列(已經有83個很讚的技巧)。也可以訂閱 Sara Ford 的部落格,她前幾年也有一些很好的技巧。
希望這篇文章有所幫助。
Scott
附: 除寫部落格之外,我現在還用Twitter來快速更新和分享連結。請關注我: twitter.com/scottgu。