代碼導航與搜索
在學習工作中,隨著項目規模的擴大,我們可能隨時需要閱讀源代碼或者定位代碼的位置, 這時就需要進行代碼導航與搜索。PyCharm 在這方面提供了豐富的功能,大多數功能都集中在菜單 Navigate
下, 本節將學習其中一些主要功能。
1. 查看文件結構
1.1 工具欄 Structure
菜單:View -> Tool Windows -> Structure
在編輯器打開文件,默認情況下,PyCharm 顯示當前文件的所有類、方法和其他元素。
除此以下,工具欄還有另外兩個按鈕 Navigate with Single Click 與 Always Select Opened Element。
Navigate with Single Click:單擊此按鈕,編輯器切換到對應于所選節點的源代碼行,但焦點還是停留在"sturcture"工具窗口。
Always Select Opened Element:單擊此按鈕可讓 PyCharm 自動將"structure"工具窗口中的焦點移動到當前編輯器中的代碼對應的節點。
1.2 File Structure 彈出窗
打開一個文件, 菜單: Navigate -> File Structure
當選項 Narrow down on typing 是被選中的,在打開的窗口直接輸入字符,顯示效果如下,僅顯示與輸入字母匹配的成員。
1.3 查看類成員在 Project 工具欄
菜單:View -> Tool Windows -> Project
2. 查找方式
2.1 根據名字查找
按? ? N ( Shift+ Ctrl + N), 在打開的彈出窗輸入字符。切換Tab可以能夠按其名稱查找任何文件、類、符號(變量名或者函數名)及動作(比如菜單項)等,并直接跳轉到它。也可以指定搜索范圍,這是 PyCharm 最強大的導航和搜索功能之一。
點擊上圖的 漏斗 按鈕,還可設置篩選條件。
Tips :對應搜索文件、類及符號等, PyCharm 也分別提供了菜單:
2.2 Recent files (最近的文件)
在實際工作中,我們通常都會在少數幾個文件中切換。比如正在編輯一個函數,同時要為此函數編寫測試 - 這意味著要來回切換。PyCharm 為適應這種場景提供了Recent Files 窗口,列出最近打開的文件列表。
菜單 View -> Recent files
, 或者按 ? E (Ctrl + E), 彈出下面窗口。最新的文件首先列出并默認選中, 可以通過上下箭頭選擇文件。
2.3 Searching everywhere (到處搜索)
Searching everywhere 可以在任何地方查找任何內容。菜單 Navigate -> Searching everywhere
或者 double ? (雙擊 SHIFT) 會顯示下面窗口,選擇項目可直接跳轉到搜索結果。
2.4 跳到指定行
打開一個文件, 菜單 Navigate -> Line/Column...
或者 按 ? G(Ctrl + G)。指定行列位置,就會自動跳轉。
3. 導航到聲明、引用與測試
查看對象聲明及其引用也是編程工作經常用到的操作。PyCharm 也提供了相應的快捷操作,可以快速導航到指定位置。
- 導航到聲明:將光標停留在聲明處,
Navigate -> Declaration or Usages
或者 按 ? B (Ctrl + B), 將跳轉到方法聲明的地方。
2. 導航到引用: 將光標停留在聲明處,Navigate -> Implementation(s)
或者 按 ?? B(Ctrl + Alt + B), 會看到所有類實現。
- 導航到測試:將光標停留在聲明處,
Navigate -> Test
或者 按 ? ? T(Ctrl + Shift + T), 會看到現有測試和創建新測試的建議。
4. 查找用途:
我們經常也需要在整個項目中查找某個類或方法的所有用法。 PyCharm 提供了豐富的功能(Edit -> Find Usages
) 其中在項目中查找與在當前文件中查找用途是最常用操作。
將光標停留在聲明處,然后按 ?F7(Alt + F7)。用途的相關信息出現在"Find"工具窗口中:
除此以外,可以在當前文件里查看用途。 按? ? F7( Ctrl+Shift+F7 ) , 將高亮顯示所有用途。
5. 導航欄
有時候,如果覺得 Project 工具欄占用屏幕空間,可以用 Navigation bar 替代 Project 工具欄查看文件。
- 確保 Navigation bar 是可見的
View -> Appearance -> Navigation Bar
。
2. 這時會看到導航欄顯示,顯示當前打開文件的路徑。
3. 然后按 ?↖ (Alt + Home) , 會有彈出窗口顯示??梢酝ㄟ^回車鍵顯示嵌套目錄和文件,通過箭頭鍵在列表中導航。
- 右鍵點擊導航欄上某一節點,上下文菜單將顯示, 可以直接創建新的文件。
- 除此以外, 如果文件夾列表太長, 單擊所需的文件夾并直接鍵入字符過濾搜索。
6. 小結
導航與搜索是 PyCharm 強大功能之一,本節只是介紹了其中常用的一部分功能。當大家在面對新技術與新項目的過程中, 搜索與導航功能可以幫助我們提高閱讀源碼效率,加快理解項目架構,所以,掌握本節的內容是非常必要的。