Visual Studio裡面的搜尋和瀏覽的一些技巧

  • 26247
  • 0
  • 2011-07-02

摘要:Visual Studio裡面的搜索和瀏覽的一些技巧

[原文發表位置]:Search and Navigation Tips/Tricks with Visual Studio

[原文發表時間]:2010/8/24 12:24 AM

 

這是我寫的關於VS2010和.Net4的部落格系列的第27篇。

今天的文章繼續上星期我的偵錯技巧文章,並談談Visual Studio裡比較有用的搜尋和瀏覽的技巧。我的朋友Scott Cate(他寫了很多關於VS使用技巧和竅門的部落格)最近向我強調了這些很好的技巧,大部分使用VS的開發人員好像不知道這些技巧(即使他們大部分都在產品開發組呆過一陣子)。

如果你還沒有使用過這些技巧,希望這篇文章能幫你發現它們。 它們學起來很容易,能幫你節省很多時間。

Ctrl + i 漸進搜尋

大多數使用Visual Studio的程式設計師都習慣了在IDE裡按「Ctrl + F」鍵來打開「搜尋視窗」。但令人驚訝的是,有很多程式設計師不知道Visual Studio裡的「漸進搜尋」這個功能。它可以讓你在當前檔案裡進行搜尋,而且允許你不用打開對話框就可以搜尋。

使用漸進搜尋

在編輯器裡按「Ctrl + i」即可啟用漸進搜尋。它會換掉滑鼠圖示,並將IDE狀態欄的左下角改成「漸進式搜尋:(搜尋關鍵字)」—你可以鍵入要搜尋的關鍵字,並且編輯器會從你在程式碼的位置開始搜尋(不用打開對話框)。

下面我們搜尋「action」,VS會在文件裡反白第一次使用到它的地方。

clip_image002

我們可以接著按「Ctrl + i」來搜尋下一個用到它的地方(可以重複多次):

clip_image004

按「Ctrl + Shift + i」可以反方向搜尋,這樣避免回溯。

你可以通過「Esc」鍵跳出漸進式搜尋。這裡有關於漸進式搜尋更詳盡的資料。

F3Shift + F3 – 使用以前的關鍵字搜尋

關於漸進式搜尋的一個很炫的技巧是,當你按下ESC鍵退出搜尋時,它會將關鍵字添加到IDE的搜尋棧裡。在VS的標準工具欄上的「搜尋」下拉框,你可以看到用過的搜尋關鍵字:

clip_image006

在Visual Studio裡,按F3鍵可以讓你重複上次的搜尋。這在你搜尋一些東西,改一下程式碼,然後要從改動過的地方繼續搜尋的時候非常有用。只要按下F3,你就可以在檔案新的位置上重複上次的搜尋(例如「action」)—不需要重新鍵入搜尋關鍵字。

按「Shift + F3」可以使用 上次搜尋關鍵字進行反向搜尋(從光標在編輯器的當期位置開始)。你可以很方便地用F3/Shift+F3的組合在檔案裡向前向後搜尋。

Ctrl + F3 搜尋當前選擇的文字

另外一個搜尋技巧是,為了避免鍵入關鍵字,你可以在程式碼編輯器裡選中一個單字(或單字的一部分),然後按「Ctrl + F3」來在當前文件搜尋下一個用到它的地方:

clip_image008

按「Ctrl +F3」搜尋選中文字的下一個實例—這樣避免你鍵入它:

clip_image010

跟前面講的類似,你可以用「Ctrl + Shift + F3」來進行反向搜尋,即從文字裡回溯搜尋。

Ctrl + Shift + F – 在解決方案裡搜尋

有時你會想在整個解決方案裡進行搜尋。

「Ctrl + F」打開的搜尋對話框預設是在當前檔案進行搜尋。「Ctrl + Shift + F」打開的搜尋對話框預設在整個解決方案裡進行搜尋:

clip_image012

執行一個這樣的搜尋,會打開IDE裡的「搜尋結果」視窗,你可以在裡面定位到搜尋關鍵字的每個實例:

clip_image014

你可以在「搜尋結果」視窗裡雙擊一項來跳到關鍵字出現的地方。

有一個很多人都不知道的技巧,就是按「F8」或者「Shift + F8」可以在列表的前後項之間切換。這使得在裡面定位變得更快更容易,這樣就不用使用滑鼠來進行移動了。

Shift + F12 – 搜尋用途

大部分使用Visual Studio的程式設計師都知道選中一個型別,然後按F12來「轉到定義」。它會跳轉到定義型別的地方,這樣查看型別定義就變得很方便。

但大部分程式設計師都不知道「Shift + F12」—它會找出所有用到一個特定型別的地方。讓你快速找到一個型別的用法。要用它,只要選中或者把光標放在一個型別,然後按「Shift + F12」:

clip_image016

然後它會打開「搜尋符號結果」視窗,並列出當前解決方案裡所有用到這個型別的地方:

clip_image018

跟前面一樣,按「F8」或者「Shift + F8」可以在列表的前後項之間切換。

Ctrl + 減號 Shift + Ctrl + 減號 向前/向後定位

打開另一個程式碼文件,查看一些東西,然後想回到前面文件的位置,這樣的經歷你有過嗎?比如說,用F12「轉到定義」 後,然後要跳回原來用到型別的程式碼那裡?

一個很多人都不知道的VS的功能,就是「回溯定位」組合鍵—「Ctrl + (減號鍵)」。它會在導航棧中跳轉到以前的檔案或者位置。

要看它是如何工作的,請先在Visual Studio裡選中一個型別。下面我選中了「IController」介面:

clip_image020

按F12跳到它的定義處,會打開一個新的編輯器視窗並顯示選中型別的程式碼:

clip_image022

現在要回到我們當初的位置,按「Ctrl + (減號鍵)」,然後VS就會把我們帶回原來的地方:

clip_image023

而如果你想要在導航棧裡往前走(也就是要回到IController.cs文件),那就按「Shift + Ctrl + (減號鍵)」。

Sara Ford有一篇不錯的文章深入講解了這個功能,還解釋了將新的位置壓入導航棧的條件。

Ctrl + Alt + (向下鍵)定位一個打開的文件

曾經在IDE裡打開了數不清的文件,想要找到一個容易的方法漫步其中?

一個很有用的按鍵組合就是「Ctrl + Alt + (向下鍵)」—這時VS會顯示一個下拉框並列出所有打開的文件:

clip_image025

你可以使用箭頭鍵來選擇要瀏覽的文件—或者最好開始敲文件名,Visual Studio會為你在列表裡反白它。比如說,上面我敲了「Mo」,Visual Studio反白「ModelBinder.cs」。按下「Enter」鍵就會幫我打開那個文件:

clip_image027

這是一個在文件之間很好的、便利的瀏覽方式,不需要使用滑鼠,或者要讓你的手離開鍵盤。另外記住「Ctrl + (減號)」可以讓你回到原來的位置。

定位到,叫用層次結構和引用反白功能

Visual Studio 2010提供了一大批新的程式碼定位和搜尋功能—包括新的「定位到」對話框,「查看叫用層次結構」功能和引用反白功能:

clip_image029

我在之前的部落格裡提到了VS 2010這三個新功能。如果你還沒有讀過這篇文章並體驗它們的能量,我非常推薦你去試試—它們是很好的補充。

編輯器其他方面的改進

VS 2010里面有數不清的改進—我在之前的部落格裡也提到很多。這使我之前的幾篇VS 2010編輯器的文章:

· 改進過的C#/VB程式碼intellisense

· 改進過的JavaScript程式碼intellisense

· 框選和多行編輯支持

· ASP.NET, HTML和JavaScript程式碼片段支持

另外也請看看我關於VS 2010和.NET 4改進系列的其他部落格。

總結

上面大部分功能實際在Visual Studio已經存在了好幾個版本—但還是有非常多的程式設計師不知道他們。希望這篇部落格提供了一條捷徑幫你瞭解它們。如果你需要記住這些按鍵—列印一份VS 2010快捷鍵表格,並貼在你螢幕旁邊。

如果還要學習更多的Visual Studio技巧,請訂閱Scott Cate的Visual Studio技巧系列文章(裡面已經有83個超棒的技巧了),也可以訂閱Sara Ford的部落格—歷年來,她也有一個很棒的技巧集。

希望這能對您有所幫助。

附:[除了寫部落格以外,我現在也使用推特(Twitter)來及時更新狀態和分享連結,您可以到這個位址「推」我一下:twitter.com/scottgu]