PyCharm 編輯代碼常用操作
上一節我們學習了自定義文件模板,這節我們來點兒干貨。本節課所學習的內容都是一些在實際代碼開發中經常會用到的小技巧:包括自動導入包、代碼補全、格式化代碼以及 Scratch files 的使用等等。
如果你有使用過其他 IDE 的經驗,應該對這些內容不會陌生。初學者則可以通過本節內容對 PyCharm 有更進一步的了解。
1. 自動導入
當我們使用 PyCharm 編寫 Python 文件的時候,如果你使用了尚未導入的類,PyCharm 是能夠幫助你找到這個類并將其導入到文件中。你可以導入單個類或者整個包,具體操作會取決于你的設置。
自動導入相關設置: PyCharm/File -> Preference/Settings -> Editor -> General -> Auto Import
:
如果你的 Python 文件中使用了尚未導入的類,PyCharm 會在未導入的類下面用紅色波浪線進行提示,將鼠標停在有問題的代碼處,會顯示以下提示:
如果接受第一個修改建議,直接按???(Alt + Shift + Enter), 查看更多修改建議(More Actions),可以 按??(Alt + Enter),如下圖所示:
提示給出了一些選擇,根據實際情況進行選擇。或者直接按 ??(Alt + Enter),
Tips:對于系統自帶的包通常會在第一項顯示, 直接通過快捷鍵方式直接導入。
如果你想導入的是一個子類的話,你可能會看到下面的提示信息:
繼續按回車會顯示詳細信息。
選擇"selenium webdriver", from selenium import webdriver
這一行代碼將添加到文件導入部分。
2. 代碼自動補全
代碼補全可幫助你在可見性范圍內完成類、方法和關鍵字的名稱。調用代碼補全時,PyCharm 會分析上下文,列出從當前插入位置可以訪問的選擇建議。代碼補全也適用于自定義文件類型。默認按? Space(Ctrl + Space)。
代碼補全設置: PyCharm/File -> Preference/Settings -> Editor -> General -> Code Completion
:
Tips :默認情況下,該選項是選中的。通常在鍵入代碼過程中,給出補全建議是多個,然后根據建議選擇合適信息補全,如果不選中, 相應的建議信息不會被顯示。
在編寫代碼的過程中,按 ? Space
可能會提示 “No suggestions”,這代表IDE 在當前可訪問的范圍內都沒找到可建議的字段、參數或變量聲明等名稱列表,再按一次? Space
就會顯示適用于當前上下文類、函數、模塊和變量的名稱。
Tips:默認的 Ctrl + Space ,可能會和操作系統切換中英文快捷鍵沖突,這時我們可以設置另外的快捷鍵。設置快捷鍵,可以參考這里。
3. 格式化代碼
大家都知道 Python 對格式要求特別嚴,格式不對就會出現錯誤,編譯過不了情況。PyCharm 允許你根據在代碼樣式設置中指定的要求重新格式化代碼。
3.1 關于縮進
Python 對縮進是敏感的,判斷何時需要縮進,首先要理解物理行和邏輯行
- 物理行:編輯器中顯示的代碼,每一行內容是一個物理行。
- 邏輯行:Python解釋器對代碼進行解釋,一個語句是一個邏輯行。
使用 ;
號將兩個或多個邏輯行合并成一個物理行。使用 \
號連接兩個物理行。所以一個物理行不一定是一個邏輯行,而縮進是針對邏輯行的。
Tips:在 IDE 中,Python 代碼檢查是遵循PEP8代碼規范的,要求一行邏輯語句就是一行物理行,上圖中一行物理行包含多個邏輯行會給出提出信息
Python 代碼縮進規則:
- 邏輯行的首行需要頂格,即不縮進。
- 相同邏輯層保持相同的縮進。所謂邏輯層即為完成同一功能,由多行邏輯行組成的代碼塊。
- “:” 標記一個新的邏輯層, 增加縮進進入下一個代碼層,減少縮進返回上一個代碼層。
PyCharm 縮進設置:
在寫代碼的時候輸入 “:” 號之后,按回車會自動進行縮進。具體的縮進設置在:PyCharm/File -> Preference/Settings -> Editor -> General -> Code Style -> Python
:
Tips : 建議不要使用tab符??崭窈?tab 符的顯示都是空白,但長度不同。如果混用,代碼顯示容易意混淆,增加維護及調試的困難、降低代碼易讀性,所以建議使用 4 個空格做為縮進,這也是約定俗成的書寫習慣。
3.2 格式化代碼
你可以重新格式化代碼的一部分、整個文件、文件組、目錄和模塊。
相關設置:PyCharm/File -> Preference/Settings -> Editor -> General -> Code Style
:
step1:在編輯器中打開文件,按 ? ? L (Ctrl+Alt+L) 或者 在 "Project"工具窗口,右鍵單擊該文件在彈出菜單中選擇 Reformat Code
。(繼續按 Shift ,可以選擇更多文件。)
- Optimize imports(優化導入):如果要刪除未使用的導入、添加缺少的導入或組織導入語句,請選擇此選項。
- Rearrange entries(重新排列條目):如果需要根據代碼樣式設置中指定的排列規則重新排列代碼,請選擇此選項。
- Clean up code(清理代碼):選擇此選項以運行代碼清理檢查。
- Only VCS changed text: (僅僅VCS改變的文件):如果選中此復選框,則重新格式化將僅適用于本地已更改但尚未簽入存儲庫的文件。此復選框僅適用于版本控制下的文件。
step2:上圖列出一些代碼格式問題,選中優化導入及清理代碼項,點擊 OK。相應的問題都被修改了。
4. TODO 注釋
有時,你可能需要標記代碼的某些部分供將來參考、優化和改進功能,以及一些可能的更改、要討論的問題等等。PyCharm 允許添加在編輯器中突出顯示、并在 TODO 工具窗口中列出的特殊類型的注釋。這樣,同團隊的開發人員就可以跟蹤需要注意的問題。
默認情況下, 注釋以 TODO開頭,后面接要做事情的描述信息,如下圖所示:
相關設置:PyCharm/File -> Preference/Settings -> Editor -> TODO
:
Tips: TODO
與 FIXME
是默認的模板,不能被刪除。如果你想增加自定義模板,點擊“+” 按鈕,實際工作中用的不多,這里就不再詳述如何增加的過程了。強調一點增加新的模板要有正則表達式的背景知識。
要查看當前項目中所有的 TODO,請打開 View -> Tool Windows -> TODO
。
5. Scratch Files
有時,你可能需要在項目上下文之外寫一些代碼或者注釋。這時候就要用到Scratch Files(暫存文件)與 Scratch(暫存緩沖區)。
Scratch Files: 功能齊全、可運行且可調試的文件,支持語法突出顯示、代碼完成以及相應文件類型的所有其他功能。例如,在處理一個項目時,你想測試一段代碼片斷, 這時可以使用Scratch files。
Scratch Buffer: 簡單的文本文件,沒有任何編碼輔助功能??捎糜诤唵蔚娜蝿樟斜砗蛡渥?。
Tips: Scratch Buffer 與 Scratch Files都未存儲在項目目錄中,保存在IDE安裝目錄下 ~/Library/Application Support/JetBrains/PyCharm2020.1/scratches
創建Scratch File
在 “Project” 工具欄, 右鍵點擊 Scratches and Consoles -> New -> New Scratch File
輸入代碼并測試
創建 Scratch buffer
沒有用于創建 New Scratch buffer 操作的專用菜單項,但可以使用"Find Action"彈出窗口 (??A /Ctrl + Shift + A) 并運行"New Scratch buffer"操作。
PyCharm 創建一個名為buffer1.txt 的文本文件。創建的下一個暫存緩沖區名為buffer 2.txt,等等,最多創建到buffer5.txt。當達到該限制時,它將重新創建buffer1.txt,如果要想保存這五個緩沖區后內容,可以重命名它們。
6. 小結
本節講解了在編寫調試代碼中一些有用功能,容易理解,操作也不復雜。同時在編程過程中大家也要注意格式、注釋的使用,養成好的編程習慣。另外, 大家可能注意到在菜單上一些功能已經標注了快捷鍵,建議在實際操作中也嘗試應用這些快捷鍵,逐漸用快捷鍵代替菜單操作。