2023 年pycharm常用插件,常用插件推薦
1 Key Promoter X
如果讓我給新手推薦一個(gè) PyCharm 必裝插件,那一定是?Key Promoter X
?。
它就相當(dāng)于一個(gè)快捷鍵管理大師,它時(shí)刻地在:
教導(dǎo)你,當(dāng)下你的這個(gè)操作,應(yīng)該使用哪個(gè)快捷操作來提高效率?
提醒你,當(dāng)下你的這個(gè)操作,還沒有設(shè)置快捷鍵,趕緊設(shè)置一個(gè)?
有了?Key Promoter X
,你很快就能熟練地掌握快捷鍵,替代鼠標(biāo)指日可待。
比如我使用鼠標(biāo)點(diǎn)開?Find in Path
,它就會在右下角彈窗提示你該用哪個(gè)快捷鍵。

2 ideaVim
在大多數(shù)場景之下,使用鼠標(biāo)的效率和精準(zhǔn)度,是遠(yuǎn)不如鍵盤快捷鍵的(前提是你已經(jīng)相當(dāng)熟練的掌握了快捷鍵),這個(gè)你得承認(rèn)吧。
Vi 可以滿足你對文本操作的所有需求,比可視化界面更加效率,更加 geek。如果你和我一樣,是忠實(shí)的 vim 粉。在安裝完 Pycharm
完后,肯定會第一時(shí)間將?ideaVim
?這個(gè)插件也裝上,它可以讓我們在 Pycharm 中 使用 vim 來編輯代碼。
安裝方法如下,安裝完后需要重啟 Pycharm 生效。

3 Markdown
富文本排版文檔是一件非常痛苦的事情 ,對于程序員寫文檔,最佳的推薦是使用 Markdown ,我所有的博客日記都是使用 Markdown 寫出來的。
從 Github下載的代碼一般也都會帶有README.md文件,該文件是一個(gè)Markdown格式的文件。
PyCharm是默認(rèn)沒有安裝Markdown插件的,所以不能按照Markdown格式顯示文本,顯示的是原始文本。
因此,如果要在 PyCharm 中閱讀 Markdown 文檔,可以裝一下 Markdown support 這個(gè)插件。
安裝的方法有兩種:
1、第一種,最方便的,就是你打開一個(gè) MD 的文檔,PyCharm 就會提示你安裝它。
2、從插件商店中搜索安裝。

效果如下

4 Jupyter Notebook
(注:這個(gè)不是插件,不需要到商店安裝)
使用 Jupyter 之前 ,先要安裝它
$ pip install jupyter
然后按照下圖指示新建一個(gè) Notebook ,就可以開始運(yùn)作了。

這個(gè)界面感覺和 Jupyter 的風(fēng)格不太符

但是使用上是沒有什么區(qū)別的,記住三個(gè)快捷鍵就好(下面指的是 Mac 上的,Windows 上的有所不同)
Ctrl+Enter:運(yùn)行該 cell
Option + shift + Enter:調(diào)試該 cell
Shift + Enter:插入一個(gè)新的 cell

只要你安裝了 Jupyter 后,你使用 Python Console 也會自動變成 Jupyter 的模式

5 Regex Tester
Regex Tester是PyCharm的第三方插件,可以測試正則表達(dá)式。
按照下圖入口,安裝 Regex Tester 插件:

安裝完成后,無需重啟 PyCharm ,點(diǎn)擊 PyCharm 界面左下方的小矩形按鈕,就能找到 Regex Tester 選項(xiàng)。

點(diǎn)擊進(jìn)入后,就出現(xiàn)了如下界面。我隨手寫了個(gè)匹配手機(jī)號碼的正則(不一定準(zhǔn)確),匹配到的字符串背景會被高亮。右上方還有一些選項(xiàng)如大小寫敏感,多行模式等,可根據(jù)需要進(jìn)行選擇。Regex
Tester 還提供了Split,Replace功能等。
使用效果如下:

6 Use Bash in Windows
(注:這是自帶工具,不是插件,不需要安裝)
在 Windows 上的 cmd 命令和 Linux 命令有不少的差異,比如要列出當(dāng)前目錄下的所有文件,Windows 上是用?dir
?,而 Linux
上則是用?ls -l
?。
對于像我這樣熟悉 Linux 的開發(fā)者來說,Windows 的 那些 CMD 命令帶來的糟糕體驗(yàn)是無法忍受的。

在彈出的 Bash 窗口,你可以敲入你想使用的 Linux 命令,是不是舒服多了。

7 Auto PEP8
pep8
?是Python
語言的一個(gè)代碼編寫規(guī)范。如若你是新手,目前只想快速掌握基礎(chǔ),而不想過多去注重代碼的的編寫風(fēng)格(雖然這很重要),那你可以嘗試一下這個(gè)工具 -autopep8
首先在全局環(huán)境中(不要在虛擬環(huán)境中安裝),安裝一下這個(gè)工具。
??sudo?pip?install?autopep8
然后在 PyCharm 導(dǎo)入這個(gè)工具,具體設(shè)置如下圖

我隨意寫了一段不符合 pep8 規(guī)范的代碼。
點(diǎn)擊右鍵,選擇?External Tools
?->?AutoPep8

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

你可能會說,Pycharm 本身就自帶這個(gè)功能了呀,快捷鍵?Command
+Option
+L
,就可以實(shí)現(xiàn)一鍵pep8了。你可以對比一下,Pycharm 自帶的代碼 pep8 化功能 并沒有像這個(gè)autopep8
來得徹底。我相信你最終的選擇肯定是后者。
8 Test RESTful Web Service
PyCharm 的 Test RESTful Web
Service工具提供了RESTful接口測試界面,如下圖所示,提供了get、post,put等http方法,其中的Request子界面headers,Parameters,Body等功能,Response子界面用于顯示返回值,Response
Headers用于顯示返回的消息頭。
為了演示,我先使用 Flask 寫一個(gè) HTTP 接口
from flask import Flask, request app = Flask(__name__) @app.route('/hello') def index(): name = request.args.get('name') return '你好,' + name if __name__ == '__main__': app.run()
并運(yùn)行它開啟服務(wù),訪問地址是:http://127.0.0.1:5000/

通過下圖方式打開?Test RESTful Web Service

會出現(xiàn)如下界面,在紅框處填寫如下信息

然后點(diǎn)擊最左邊的運(yùn)行按鈕,即可向服務(wù)器發(fā)送 http 請求。

9 Execute Selection in Console
(注:這是自帶工具,不是插件,不需要安裝)
當(dāng)你想寫一段簡單的測試代碼時(shí),或許你會這樣子
1.?使用?Python?Shell?直接寫。缺點(diǎn)是沒有自動補(bǔ)全。
2.?在?PyCharm?中新開一個(gè)文件。缺點(diǎn)是要新創(chuàng)建一個(gè)文件,完了后還要?jiǎng)h除。
今天再給大家介紹一種新的方法,可以完全避開上面兩種方式的缺點(diǎn)。
那就是?Execute Selection in Console
,可以說是?Run in Anywhere
.
只要在當(dāng)前文件中,寫好代碼,然后光標(biāo)選擇后,右鍵點(diǎn)擊?Execute Selection in Python Console
?或者 使用快捷鍵
option + shift + E (windows 上是 alt + shift + E)。
接著 PyCharm 就會彈出一個(gè) Python Console 窗口,然后運(yùn)行你所選擇的代碼。
可以發(fā)現(xiàn)其中的一個(gè)亮點(diǎn),就是使用這種方法,PyCharm 會自動幫我們處理好縮進(jìn)(我們選擇時(shí),前面有縮進(jìn),可是在執(zhí)行時(shí),會自動去掉前面多余的縮進(jìn))
10 CodeGlance
如果你曾使用過 Sublime Text,切換到其他代碼編輯器,或多或少會有些不習(xí)慣,因?yàn)楹苌儆芯庉嬈鲿?Sublime 那樣自帶一個(gè)預(yù)覽功能的滾動條。
在 PyCharm 中,就沒有解決不了的問題,如果有,那么就裝個(gè)插件。
要想在 PyCharm 中使用這個(gè)預(yù)覽滾動條,只要裝上?CodeGlance
?這個(gè)插件。使用效果如下
11 Chinese 漢化插件
經(jīng)常聽到很多初學(xué)者抱怨說,PyCharm 怎么是全英文的?學(xué)起來好難啊。
在以前,我會跟他們說,學(xué)習(xí)編程語言,英文是一項(xiàng)非常重要的能力,千萬不能懼怕它,逃避它,而要是去學(xué)習(xí)它,適應(yīng)它,如果連個(gè) IDE 都適應(yīng)不了,那就別學(xué)編程了。
而現(xiàn)在,JetBrains 官方自己出了漢化插件,名字就叫:chinese,在插件市場里一搜,排名第一便是它,下載量已經(jīng) 40
萬,對比排名第二的民間漢化插件,簡直不是量級的。
點(diǎn)擊?INSTALL
?安裝后,會提示你進(jìn)行重啟,才能生效。
重啟完成后,展現(xiàn)在我們面前的是一個(gè)既熟悉又陌生的界面,所有的菜單欄全部變成了中文。
點(diǎn)進(jìn)設(shè)置一看,可以說基本實(shí)現(xiàn)了漢化,只剩下一小撮的英文(難道是因?yàn)檫@些詞保留英文會比翻譯后更容易理解嗎?就像 socket
和套接字一樣。),不過個(gè)人感覺完全不影響使用了。
12 Profile in PyCharm
(注:這是專業(yè)才有的工具,不是插件,不需要安裝)
在 Python 中有許多模塊可以幫助你分析并找出你的項(xiàng)目中哪里出現(xiàn)了性能問題。
比如,常用的模塊有 cProfile,在某些框架中,也內(nèi)置了中間件幫助你進(jìn)行性能分析,比如 Django ,WSGI。
做為Python 的第一 IDE, PyCharm 本身就支持了這項(xiàng)功能。而且使用非常方便,小白。
假設(shè)現(xiàn)在要分析如下這段代碼的性能損耗情況,找出到底哪個(gè)函數(shù)耗時(shí)最多
import time
def?fun1():
????time.sleep(1)
def?fun2():
????time.sleep(1)
def?fun3():
????time.sleep(2)
def?fun4():
????time.sleep(1)
def?fun5():
????time.sleep(1)
????fun4()
fun1()
fun2()
fun3()
fun5()
點(diǎn)擊 Run -> Profile '程序' ,即可進(jìn)行性能分析。
運(yùn)行完畢后,會自動跳出一個(gè)性能統(tǒng)計(jì)界面。
性能統(tǒng)計(jì)界面由Name、Call Count、Time(ms)、Own Time(ms) ,4列組成一個(gè)表格,見下圖。
1.?表頭Name顯示被調(diào)用的模塊或者函數(shù);Call?Count顯示被調(diào)用的次數(shù);Time(ms)顯示運(yùn)行時(shí)間和時(shí)間百分比,時(shí)間單位為毫秒(ms)。
2.?點(diǎn)擊表頭上的小三角可以升序或降序排列表格。
3.?在Name這一個(gè)列中雙擊某一行可以跳轉(zhuǎn)到對應(yīng)的代碼。
4.?以fun4這一行舉例:fun4被調(diào)用了一次,運(yùn)行時(shí)間為1000ms,占整個(gè)運(yùn)行時(shí)間的16.7%
點(diǎn)擊 Call Graph(調(diào)用關(guān)系圖)界面直觀展示了各函數(shù)直接的調(diào)用關(guān)系、運(yùn)行時(shí)間和時(shí)間百分比,見下圖。
右上角的4個(gè)按鈕表示放大、縮小、真實(shí)大小、合適大小;
1.?箭頭表示調(diào)用關(guān)系,由調(diào)用者指向被調(diào)用者;
2.?矩形的左上角顯示模塊或者函數(shù)的名稱,右上角顯示被調(diào)用的次數(shù);
3.?矩形中間顯示運(yùn)行時(shí)間和時(shí)間百分比;
4.?矩形的顏色表示運(yùn)行時(shí)間或者時(shí)間百分比大小的趨勢:紅色?>?黃綠色?>?綠色,由圖可以看出fun3的矩形為黃綠色,fun1為綠色,所有fun3運(yùn)行時(shí)間比fun1長。
5.?從圖中可以看出Test.py直接調(diào)用了fun3、fun1、fun2和fun5函數(shù);fun5函數(shù)直接調(diào)用了fun4函數(shù);fun1、fun2、fun3、fun4和fun5都直接調(diào)用了print以及sleep函數(shù);整個(gè)測試代碼運(yùn)行的總時(shí)間為6006ms,其中fun3的運(yùn)行時(shí)間為1999ms,所占的時(shí)間百分比為33.3%,也就是?1999ms?/?6006ms?=?33.3%。
13 Json Parser
在開發(fā)過程中,經(jīng)常會把校驗(yàn)一串 JSON 字符串是否合法,在以前我的做法都是打開
https://tool.lu/json/
這個(gè)在線網(wǎng)站,直接美化來校驗(yàn),只有 JSON 格式都正確無誤合法的,才能夠美化。
直到后來發(fā)現(xiàn)在 PyCharm 有一個(gè)插件專門來做這個(gè)事,那就是?JSON Parser
,在插件市場安裝后,重啟 PyCharm
,就能在右側(cè)邊欄中看到它。
14 Inspect Code in PyCharm
(注:這是自帶工具,不是插件,不需要安裝)
對于編譯型的語言,如
Java,需要將代碼編譯成機(jī)器可識別的語言才可運(yùn)行,在編譯過程中,就可以通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性,找出代碼隱藏的錯(cuò)誤和缺陷。這個(gè)過程叫做靜態(tài)代碼分析檢查。
那對于 Python
這種解釋型的語言來說,代碼是邊運(yùn)行邊翻譯的,不需要經(jīng)過編譯這個(gè)過程。很多肉眼無法一下子看出的錯(cuò)誤,通常都是跑一下(反正跑一下這么方便)才能發(fā)現(xiàn)。
由于Python 運(yùn)行是如此的方便,以至于我們都不太需要關(guān)注靜態(tài)分析工具。
但也不是說,靜態(tài)分析工具完全沒有用武之地,我認(rèn)為還是有。
如果你的編碼能力還沒有很成熟,代碼中可以有許許多多的隱藏bug,由于 Python
是運(yùn)行到的時(shí)候才解釋,導(dǎo)致一次運(yùn)行只能發(fā)現(xiàn)一個(gè)錯(cuò)誤,要發(fā)現(xiàn)100個(gè)bug,要運(yùn)行100次,數(shù)字有點(diǎn)夸大,其實(shí)就是想說,如果這么多的錯(cuò)誤都能通過一次靜態(tài)檢查發(fā)現(xiàn)就立馬修改,開發(fā)調(diào)試的效率就可以有所提升。當(dāng)然啦,并不是說所有的錯(cuò)誤靜態(tài)分析都能提前發(fā)現(xiàn),這點(diǎn)希望你不要誤解。
做為 Python 最強(qiáng) IDE,PyCharm本身內(nèi)置了這個(gè)功能,不需要你安裝任何插件。
你只需要像下面這樣點(diǎn)擊項(xiàng)目文件夾,然后右鍵,選擇?Inspect Code
,就可以開啟靜態(tài)檢查。
我對開源組件 nova 的靜態(tài)檢查發(fā)現(xiàn),其有不規(guī)范的地方有數(shù)千處。
Statistic
statistic項(xiàng)目統(tǒng)計(jì)插件,統(tǒng)計(jì)整體代碼量,包括所有文件的統(tǒng)計(jì)數(shù)量和行數(shù)。點(diǎn)擊左下角的statistic >>>>refresh即可。
Tabnine
該插件主要在于可以幫助我們自動填充代碼,由于是在人工智能技術(shù)的驅(qū)動之下,因此每次都可以精準(zhǔn)的預(yù)測我們將要填充的究竟是什么代碼。
Rainbow Brackets(推薦)
該插件的作用在于能夠?qū)⒗ㄌ栆圆煌念伾珮?biāo)注出來,這樣就能夠在括號很多的時(shí)候,清楚辨別哪個(gè)括號是一對,支持多種語言。
Indent Rainbow(推薦)
該插件的作用在于能夠?qū)τ诓煌瑢蛹壙s進(jìn)的空格標(biāo)注不同的顏色