PyCharm 是大多數 Python 開發者的首選 IDE,每天我們都在上面敲著熟悉的程式碼,寫出一個又一個奇妙的功能。
一個每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定會給我們的開發效率帶來質的提升。今天我就來寫一寫我在平時開發中一直在用的,可以明顯改善開發效率的使用技巧,一旦學會,受用一生。
01. 程式碼排版,自動PEP8
pep8
是Python 語言的一個程式碼編寫規範。如若你是新手,目前只想快速掌握基礎,而不想過多去注重程式碼的的編寫風格(雖然這很重要),那你可以嘗試一下這個工具 - autopep8
首先在全域性環境中(不要在虛擬環境中安裝),安裝一下這個工具。
sudo pip install autopep8
複製程式碼
然後在 Pycharm 裡匯入這個工具。
Name: AutoPep8
Description: autopep8 your code
Program: autopep8
Arguments: --in-place --aggressive --aggressive $FilePath$
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*
複製程式碼

我隨意寫了一段不符合 pep8 規範的程式碼。

點選右鍵,選擇 External Tools
-> AutoPep8

看一下效果,還是挺明顯的。

你可能會說,Pycharm 本身就自帶這個功能了呀,快捷鍵 Command
+Option
+L
,就可以實現一鍵pep8了。你可以對比一下,Pycharm 自帶的程式碼 pep8 化功能 並沒有像這個autopep8
來得徹底。 我相信你最終的選擇肯定是後者。
經群友推薦,還有更為智慧的方法,就是使用 File Watchers,一旦你更新檔案,這個外掛就會檢測,不符合pep8規範就給你轉換並重新整理檔案,真正做到零操作自動化。
首先先安裝 black
這個工具(Github)(不支援在 python2中安裝,但也可以格式化 python2的程式碼)
pip3 install black
複製程式碼
然後直接在 PyCharm 裡新增這個外掛,重啟後即可生效。

02. 誤刪檔案,一秒找回
上週,由於自己的誤操作,在沒有任何備份的情況下,將一個自己寫了兩個星期的專案給刪除了。待我回頭神來的時候,我甚至都記不起是何時進行的刪除操作。
做為一名老司機,當然是臨危不懼地開啟了回收站,進行一番搜尋,幾個月沒有清理過的回收站,真是一片狼藉,什麼 jpg,avi 都有,不堪入目呀。
我用一分鐘快速瀏覽了一下,沒有發現我要找的那幾個 py 檔案,我心想,應該是檔案太多了,看叉掉了。由於專案是最近寫的,檔名我還清楚地記得,既然有檔名,那就利用windows 自帶的搜尋功能,結果還是沒有,這下我才開始意識到事態的嚴重性,檔案可能真的「沒了」。
我已經很久沒有清理過回收站了,為什麼回收站裡會沒有我的檔案呢?
我想這可能是一次非同尋常的 delete,會不會是在 Pycharm 裡的 發起刪除操作,不會往回收站裡丟呢?經過一番測試,在回收站還真的找不著,但是這次嘗試也無意中發現了 Pycharm 的隱藏的一個功能 Local History
,它會儲存你對檔案的所有操作記錄。
就拿我的剛剛測試的檔案來舉例,我先是新建了一個檔案,然後對在這個檔案裡新增了幾行程式碼。最後我將這個檔案刪除了。
此時你可以在你的專案目錄裡,點選右鍵,有個 Local History
的選項,再點選子選項 Show History
,你可以看到這裡有個記錄板。如果你想恢復刪除的檔案,就在刪除的記錄項點選右鍵,選擇 Revert
即可恢復。

03. 擁抱Vim,遠離滑鼠
在大多數場景之下,使用滑鼠的效率和精準度,是遠不如鍵盤快捷鍵的(前提是你已經相當熟練的掌握了快捷鍵),這個你得承認吧。
Vi 可以滿足你對文字操作的所有需求,比視覺化介面更加效率,更加 geek。如果你和我一樣,是忠實的 vim 粉。在安裝完 Pycharm 完後,肯定會第一時間將 ideaVim
這個外掛也裝上,它可以讓我們在 Pycharm 中 使用 vim 來編輯程式碼。
安裝方法如下,安裝完後需要重啟 Pycharm 生效。

04. 程式碼模板,效率編碼
Pycharm 提供的這個程式碼模板,可以說是相當實用的一個功能了。它可以在你新建一個檔案時,按照你預設的模板給你生成一段內容,比如直譯器路徑,編碼方法,作者詳細資訊等

按照上圖模板,生成的效果如下。

除了新建檔案時可以初始化檔案,在開發編寫程式碼時,也同樣使用 Pycharm 中自帶的實用的程式碼模板,提高你的編碼效率。
當你在鍵盤中敲入 Command
+ J
時,就可以調出一個皮膚,從下圖可以看出裡面有許多預設的模板。

如果我們想選擇最後一個 main ,可以繼續鍵入 main,然後就可以直接生成如下這段平時都要手動敲入的程式碼。

這裡再舉個例子,for 迴圈 可以這樣寫。

05. 使用書籤,快速定位
都我在看框架的原始碼時,最常使用的是 Command
+ B
(也就是 command + 滑鼠左鍵 )一層一層地往裡深入,但是當原始碼比較多,可能一整個事件過程涉及十幾檔案,函式呼叫錯綜複雜,對於一個龐大的專案來說,有用的可能就幾個關鍵函式,每次要找到這幾個函式,都要重頭從源函式再一層一層的找下去,這樣實在太麻煩了,我常常因此把自己給看暈了。
直到後來我發現了 Pycharm 這個書籤功能。
使用書籤功能,我可以在在關鍵的位置打上書籤,想看的時候,呼叫書籤,快速定位即可。
使用它,你需要記住下面下兩個快捷鍵
Command + F11 打上書籤
Shift + F11 展示所有書籤
複製程式碼
在你要打書籤的位置,按下 Command
+ F11
,你可以給這個位置加個序號,可以是數字也可以是字母,假如在下面這個位置 加了 1
這個序號,下次你就可以使用 Control
+ 1
直接跳轉到這個位置。

當然你也可以不加,不加的話就是匿名書籤了。你可以使用 Shift
+ F11
展示所有的書籤,再進行跳轉。
