文章首發於 微信公衆號:Python編程時光html
PyCharm 是大多數 Python 開發者的首選 IDE,天天咱們都在上面敲着熟悉的代碼,寫出一個又一個奇妙的功能。git
一個天天都在使用的工具,若是能掌握一些高效的使用技巧,確定會給咱們的開發效率帶來質的提高。今天我就來寫一寫我在平時開發中一直在用的,能夠明顯改善開發效率的使用技巧,一旦學會,受用一輩子。程序員
這是本系列 PyCharm 的高效使用技巧的第一篇。按照慣例,本次仍是分享 5 個。編程
本系列其餘文章以下,若還沒看的,你能夠點擊查閱vim
每週分享五個 PyCharm 使用技巧(一)
每週分享五個 PyCharm 使用技巧(二)
每週分享五個 PyCharm 使用技巧(三)
每週分享五個 PyCharm 使用技巧(四)
每週分享五個 PyCharm 使用技巧(五)windows
前幾天打開 PyCharm,發如今導航欄這裏出現了不少波浪線,有過 PyCharm 使用經驗的同窗,就會知道,這是代碼中出現了錯誤。微信
順着波浪線,我一層一層地展開目錄樹,終於找到了那個包含錯誤的文件。因爲是手誤,我也不知道我改動了哪一行,看了下這個文件,有將近8000行的代碼,難道一行一行地去找?app
不,這絕對不是使用 IDE 正確的方式。框架
遇到問題,就應該嘗試去尋找快捷方法,有沒有辦法,能夠一會兒定位到錯誤代碼呢?運維
這時候,我想起了PyCharm 有提供給咱們一個 Keymap 的面板,能夠很方便的設置、查詢快捷鍵。說不定我在那裏能夠找到我想要的答案
我在搜索框輸入 Error,就找到了快速定位到錯誤位置的快捷鍵 F2
和 Shift+F2
能夠快速的定位到錯誤行。
使用快捷鍵 F2 查看了下原來是這裏縮進有問題。
上面爲了恢復由於手誤形成的語法錯誤,我使用了快捷鍵來定位錯誤行,雖然解決了問題,但總有種繞了幾個彎的感受。
假若有種方法,能夠項目查看最近的修改記錄的話(沒有git作版本控制的狀況下),那就太好了。
太巧的是,今天我打開 PyCharm ,就給我推了這條 tip,(在Mac上)使用 option+shift+C 能夠快速查看最近修改的內容(windows 上應該是alt+shift+c吧)
對於編譯型的語言,如 Java,須要將代碼編譯成機器可識別的語言纔可運行,在編譯過程當中,就能夠經過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性,找出代碼隱藏的錯誤和缺陷。這個過程叫作靜態代碼分析檢查。
那對於 Python 這種解釋型的語言來講,代碼是邊運行邊翻譯的,不須要通過編譯這個過程。不少肉眼沒法一會兒看出的錯誤,一般都是跑一下(反正跑一下這麼方便)才能發現。
因爲Python 運行是如此的方便,以致於咱們都不太須要關注靜態分析工具。
但也不是說,靜態分析工具徹底沒有用武之地,我認爲仍是有。
若是你的編碼能力尚未很成熟,代碼中能夠有許許多多的隱藏bug,因爲 Python 是運行到的時候才解釋,致使一次運行只能發現一個錯誤,要發現100個bug,要運行100次,數字有點誇大,其實就是想說,若是這麼多的錯誤都能經過一次靜態檢查發現就立馬修改,開發調試的效率就能夠有所提高。固然啦,並非說全部的錯誤靜態分析都能提早發現,這點但願你不要誤解。
作爲 Python 最強 IDE,PyCharm自己內置了這個功能,不須要你安裝任何插件。
你只須要像下面這樣點擊項目文件夾,而後右鍵,選擇 Inspect Code
,就能夠開啓靜態檢查。
我對開源組件 nova 的靜態檢查發現,其有不規範的地方有數千處。
一直以爲使用鼠標是一種很是低效的習慣。
我熱衷於使用各類鍵盤快捷鍵來提升操做的精準度,在編輯器上我能夠至關熟練的使用 vim 指令完成我各類需求,所以我給 PyCharm 裝上了ideaVim,給 Chrome 裝上了 Vimium。
一樣地閱讀框架代碼,我也都是使用全鍵盤進行操做。由於我有長期閱讀 OpenStack 源碼的需求,其代碼量是數百萬級別的。若是沒有使用精準定位來快速跳轉,這種極差的體驗將很難使我堅持下來。
這裏暫時先介紹幾種我最經常使用的精準定位方法,主要能夠定位跳轉到以下三種
精準定位到文件結構:文件結構包括類、函數、變量,這說明上面定位到類和定位到符號的方法,你均可以用這個來代替。
Windows:Ctrl+F12,Mac:Command+F12,若是和我同樣是Mac是帶touchbar的,鍵盤上是沒有F12的,那你應該先按住 Command + fn,這時 touchbar 上會出現 F12,再按F12便可。
一個程序員,若是可以一天都只和代碼打交道,是一件多麼可貴的事情。
可能外行人不知道,作爲一樣是程序員的你,是否是和我有同樣的煩惱。
代碼寫着寫着,測試忽然就喊道:小明,你的代碼有bug,ug,g(回聲)。。
代碼寫着寫着,運維忽然一個彈窗:小明,這個線上問題趕忙排查一下。。
代碼寫着寫着,產品忽然就跳出來:小明,能作一個根據手機殼顏色自動改變app主題的app不??
這樣的噩夢天天都在重複不間斷地上演着,或許我知道了爲何程序員要在深夜裏碼代碼了,由於那是白日裏得不到的寧靜。
因此 王建碩 在<< 入靜和入世 >>一文中寫道:
「當看到一個程序員左思右想的時候,不要過去打擾,甚至在極端的狀況下,一句友好的問候都是多餘的。 」
爲了不這個狀況,我一般在別人打斷個人時候,請對方給我一分鐘的時間,使用PyCharn 的 TODO 功能快速記錄下當前的思緒狀態,以及下一步要作的事情。
使用方法跟註釋差很少,只要固定要以 TODO 開頭。而後,你要查看全局項目中的全部 TODO 事項的時候,可使用快捷鍵調出 TODO 面板。若是你是 Mac, 快捷鍵 是Command + 6,而 Windows 是 Alt+6。
另外,我還使用這個來記錄下個版本要優化的代碼邏輯,要添加的功能。
若是是比較緊急的 BUG,可使用相似 TODO 的標記 — FIXME
來區分緊急程度。
本系列 30 個 PyCharm 小技巧所有更新完畢了,你能夠點擊頂部的超連接進行學習。
但願對你掌握和配置 PyCharm 會有幫助,想繼續看文章的朋友,也能夠關注個人公衆號「Python編程時光」,全部的文章都會在那裏首發,公衆號裏的文章我都通過精心的排版,閱讀體驗好。歡迎你們來訂閱。