裝上這 14 個(gè)插件,PyCharm才真的是無(wú)敵的存在!(留言送書)

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

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

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

效果如下

4. Jupyter Notebook in PyCharm
使用 Jupyter 之前 ,先要安裝它
$?pip?install?jupyter
然后按照下圖指示新建一個(gè) Notebook ,就可以開(kāi)始運(yùn)作了。

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

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

只要你安裝了 Jupyter 后,你使用 Python Console 也會(huì)自動(dòng)變成 Jupyter 的模式

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

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

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

6. Use Bash in Windows
在 Windows 上的 cmd 命令和 Linux 命令有不少的差異,比如要列出當(dāng)前目錄下的所有文件,Windows 上是用 dir ,而 Linux 上則是用 ls -l 。
對(duì)于像我這樣熟悉 Linux 的開(kāi)發(fā)者來(lái)說(shuō),Windows 的 那些 CMD 命令帶來(lái)的糟糕體驗(yàn)是無(wú)法忍受的。

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

7. Auto PEP8 in PyCharm
pep8 是Python 語(yǔ)言的一個(gè)代碼編寫規(guī)范。如若你是新手,目前只想快速掌握基礎(chǔ),而不想過(guò)多去注重代碼的的編寫風(fēng)格(雖然這很重要),那你可以嘗試一下這個(gè)工具 - autopep8
首先在全局環(huán)境中(不要在虛擬環(huán)境中安裝),安裝一下這個(gè)工具。
$?sudo?pip?install?autopep8
然后在 PyCharm 導(dǎo)入這個(gè)工具,具體設(shè)置如下圖
Name:?AutoPep8
Description:?autopep8?your?code
Program:?autopep8
Arguments:?--in-place?--aggressive?--aggressive?$FilePath$
Working?directory:?$ProjectFileDir$
Output?filters:?$FILE_PATH$\:$LINE$\:$COLUMN$\:.*

我隨意寫了一段不符合 pep8 規(guī)范的代碼。

點(diǎn)擊右鍵,選擇 External Tools -> AutoPep8

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

你可能會(huì)說(shuō),Pycharm 本身就自帶這個(gè)功能了呀,快捷鍵 Command+Option+L ,就可以實(shí)現(xiàn)一鍵pep8了。你可以對(duì)比一下,Pycharm 自帶的代碼 pep8 化功能 并沒(méi)有像這個(gè)autopep8 來(lái)得徹底。我相信你最終的選擇肯定是后者。
8. Test RESTful Web Service
PyCharm 的 Test RESTful Web Service工具提供了RESTful接口測(cè)試界面,如下圖所示,提供了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)行它開(kāi)啟服務(wù),訪問(wèn)地址是:http://127.0.0.1:5000/

通過(guò)下圖方式打開(kāi) Test RESTful Web Service

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

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

9. Execute Selection in Console
當(dāng)你想寫一段簡(jiǎn)單的測(cè)試代碼時(shí),或許你會(huì)這樣子
使用 Python Shell 直接寫。缺點(diǎn)是沒(méi)有自動(dòng)補(bǔ)全。
在 PyCharm 中新開(kāi)一個(gè)文件。缺點(diǎn)是要新創(chuàng)建一個(gè)文件,完了后還要?jiǎng)h除。
今天再給大家介紹一種新的方法,可以完全避開(kāi)上面兩種方式的缺點(diǎn)。
那就是 Execute Selection in Console,可以說(shuō)是 Run in Anywhere.
只要在當(dāng)前文件中,寫好代碼,然后光標(biāo)選擇后,右鍵點(diǎn)擊 Execute Selection in Python Console 或者 使用快捷鍵 option + shift + E (windows 上是 alt + shift + E)。

接著 PyCharm 就會(huì)彈出一個(gè) Python Console 窗口,然后運(yùn)行你所選擇的代碼。

可以發(fā)現(xiàn)其中的一個(gè)亮點(diǎn),就是使用這種方法,PyCharm 會(huì)自動(dòng)幫我們處理好縮進(jìn)(我們選擇時(shí),前面有縮進(jìn),可是在執(zhí)行時(shí),會(huì)自動(dòng)去掉前面多余的縮進(jìn))
10. CodeGlance
如果你曾使用過(guò) Sublime Text,切換到其他代碼編輯器,或多或少會(huì)有些不習(xí)慣,因?yàn)楹苌儆芯庉嬈鲿?huì)像 Sublime 那樣自帶一個(gè)預(yù)覽功能的滾動(dòng)條。
在 PyCharm 中,就沒(méi)有解決不了的問(wèn)題,如果有,那么就裝個(gè)插件。
要想在 PyCharm 中使用這個(gè)預(yù)覽滾動(dòng)條,只要裝上 CodeGlance 這個(gè)插件。使用效果如下

11. Chinese Plugin
經(jīng)常聽(tīng)到很多初學(xué)者抱怨說(shuō),PyCharm 怎么是全英文的?學(xué)起來(lái)好難啊。
在以前,我會(huì)跟他們說(shuō),學(xué)習(xí)編程語(yǔ)言,英文是一項(xiàng)非常重要的能力,千萬(wàn)不能懼怕它,逃避它,而要是去學(xué)習(xí)它,適應(yīng)它,如果連個(gè) IDE 都適應(yīng)不了,那就別學(xué)編程了。
而現(xiàn)在,JetBrains 官方自己出了漢化插件,名字就叫:chinese,在插件市場(chǎng)里一搜,排名第一便是它,下載量已經(jīng) 40 萬(wàn),對(duì)比排名第二的民間漢化插件,簡(jiǎn)直不是量級(jí)的。

點(diǎn)擊 ?INSTALL 安裝后,會(huì)提示你進(jìn)行重啟,才能生效。

重啟完成后,展現(xiàn)在我們面前的是一個(gè)既熟悉又陌生的界面,所有的菜單欄全部變成了中文。

點(diǎn)進(jìn)設(shè)置一看,可以說(shuō)基本實(shí)現(xiàn)了漢化,只剩下一小撮的英文(難道是因?yàn)檫@些詞保留英文會(huì)比翻譯后更容易理解嗎?就像 socket 和套接字一樣。),不過(guò)個(gè)人感覺(jué)完全不影響使用了。

12. Profile in PyCharm
在 Python 中有許多模塊可以幫助你分析并找出你的項(xiàng)目中哪里出現(xiàn)了性能問(wè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)行完畢后,會(huì)自動(dòng)跳出一個(gè)性能統(tǒng)計(jì)界面。

性能統(tǒng)計(jì)界面由Name、Call Count、Time(ms)、Own Time(ms) ,4列組成一個(gè)表格,見(jiàn)下圖。
表頭Name顯示被調(diào)用的模塊或者函數(shù);Call Count顯示被調(diào)用的次數(shù);Time(ms)顯示運(yùn)行時(shí)間和時(shí)間百分比,時(shí)間單位為毫秒(ms)。
點(diǎn)擊表頭上的小三角可以升序或降序排列表格。
在Name這一個(gè)列中雙擊某一行可以跳轉(zhuǎn)到對(duì)應(yīng)的代碼。
以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í)間百分比,見(jiàn)下圖。

右上角的4個(gè)按鈕表示放大、縮小、真實(shí)大小、合適大?。?/p>
箭頭表示調(diào)用關(guān)系,由調(diào)用者指向被調(diào)用者;
矩形的左上角顯示模塊或者函數(shù)的名稱,右上角顯示被調(diào)用的次數(shù);
矩形中間顯示運(yùn)行時(shí)間和時(shí)間百分比;
矩形的顏色表示運(yùn)行時(shí)間或者時(shí)間百分比大小的趨勢(shì):紅色 > 黃綠色 > 綠色,由圖可以看出fun3的矩形為黃綠色,fun1為綠色,所有fun3運(yùn)行時(shí)間比f(wàn)un1長(zhǎng)。
從圖中可以看出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è)測(cè)試代碼運(yùn)行的總時(shí)間為6006ms,其中fun3的運(yùn)行時(shí)間為1999ms,所占的時(shí)間百分比為33.3%,也就是 1999ms / ?6006ms = 33.3%。
13. Json Parse in PyCharm
在開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)把校驗(yàn)一串 JSON 字符串是否合法,在以前我的做法都是打開(kāi) https://tool.lu/json/ 這個(gè)在線網(wǎng)站,直接美化來(lái)校驗(yàn),只有 JSON 格式都正確無(wú)誤合法的,才能夠美化。

直到后來(lái)發(fā)現(xiàn)在 PyCharm 有一個(gè)插件專門來(lái)做這個(gè)事,那就是 JSON Parser,在插件市場(chǎng)安裝后,重啟 PyCharm ,就能在右側(cè)邊欄中看到它。

14. Inspect Code in PyCharm
對(duì)于編譯型的語(yǔ)言,如 Java,需要將代碼編譯成機(jī)器可識(shí)別的語(yǔ)言才可運(yùn)行,在編譯過(guò)程中,就可以通過(guò)分析或檢查源程序的語(yǔ)法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性,找出代碼隱藏的錯(cuò)誤和缺陷。這個(gè)過(guò)程叫做靜態(tài)代碼分析檢查。
那對(duì)于 Python 這種解釋型的語(yǔ)言來(lái)說(shuō),代碼是邊運(yùn)行邊翻譯的,不需要經(jīng)過(guò)編譯這個(gè)過(guò)程。很多肉眼無(wú)法一下子看出的錯(cuò)誤,通常都是跑一下(反正跑一下這么方便)才能發(fā)現(xiàn)。
由于Python 運(yùn)行是如此的方便,以至于我們都不太需要關(guān)注靜態(tài)分析工具。
但也不是說(shuō),靜態(tài)分析工具完全沒(méi)有用武之地,我認(rèn)為還是有。
如果你的編碼能力還沒(méi)有很成熟,代碼中可以有許許多多的隱藏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í)就是想說(shuō),如果這么多的錯(cuò)誤都能通過(guò)一次靜態(tài)檢查發(fā)現(xiàn)就立馬修改,開(kāi)發(fā)調(diào)試的效率就可以有所提升。當(dāng)然啦,并不是說(shuō)所有的錯(cuò)誤靜態(tài)分析都能提前發(fā)現(xiàn),這點(diǎn)希望你不要誤解。
作為 Python 最強(qiáng) IDE,PyCharm本身內(nèi)置了這個(gè)功能,不需要你安裝任何插件。
你只需要像下面這樣點(diǎn)擊項(xiàng)目文件夾,然后右鍵,選擇 Inspect Code,就可以開(kāi)啟靜態(tài)檢查。

我對(duì)開(kāi)源組件 nova 的靜態(tài)檢查發(fā)現(xiàn),其有不規(guī)范的地方有數(shù)千處。



留言送書

推薦理由:本書內(nèi)容精練、重點(diǎn)突出、實(shí)例豐富、講解通俗,是廣大網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)和開(kāi)發(fā)人員不可多得的一本參考書,同時(shí)非常適合大中專院校師生學(xué)習(xí)和閱讀,也可作為高等院校計(jì)算機(jī)及相關(guān)培訓(xùn)機(jī)構(gòu)的教材。
推薦理由:本書主要講解數(shù)據(jù)分析與大數(shù)據(jù)處理所需的技術(shù)、基礎(chǔ)設(shè)施、核心概念、實(shí)施流程。從編程語(yǔ)言準(zhǔn)備、數(shù)據(jù)采集與清洗、數(shù)據(jù)分析與可視化,到大型數(shù)據(jù)的分布式存儲(chǔ)與分布式計(jì)算,貫穿了整個(gè)大數(shù)據(jù)項(xiàng)目開(kāi)發(fā)流程。本書輕理論、重實(shí)踐,目的是讓讀者快速上手。
活動(dòng)獎(jiǎng)品:
《Python Web開(kāi)發(fā)從入門到精通》*2
《Python數(shù)據(jù)分析與大數(shù)據(jù)處理從入門到精通》*2
活動(dòng)規(guī)則:
活動(dòng)截止時(shí)我們將從精選留言中選出?四條?留言,中獎(jiǎng)?wù)呖稍谏戏綍鴨沃腥我膺x一本書籍,先來(lái)先選。(每人當(dāng)月僅限一次中獎(jiǎng)機(jī)會(huì))。
留言要求:
內(nèi)容與本文相關(guān)的留言
每人僅限精選一條留言
另外我們每天還會(huì)在文末的留言中隨機(jī)抽取?3位?小伙伴贈(zèng)送
6.6元的現(xiàn)金紅包,感謝大家一直以來(lái)的支持。
截止時(shí)間:?2021 年 1 月 21 日 16:00 整

14日送書名單








以上三位小伙伴,加小編微信:Mayyy530領(lǐng)取小小紅包一份哦!

1、打壓仍未停止!小米等多家中國(guó)企業(yè)被拉黑
2、小心你的文件!incaseformat病毒來(lái)襲!
3、微信再次更新,全國(guó)人民期待已久的終于來(lái)了!

