pycharm 使用心得:一些實用功能介紹

下面我將會介紹一些在我在使用PyCharm時感到驚奇的一些事情。

實時比較

PyCharm 對一個文件里你做的改動保持實時的跟蹤,通過在編輯器的左側(cè)欄顯示一個藍色的標記。

這一點非常方便,我之前一直是在Eclipse里面用命令“Compare against HEAD” 來比較一個文件前后的改動。

在PyCharm中,你可以對你的改動一覽無余。同時,點擊那個標記,會顯示出之前的內(nèi)容以及一個工具欄:

你可以很容易地回滾這些改動,在一個詳盡的對話框中查看這些改動或是將之前的文本粘貼到剪切板上。

提交時的比較預覽

在Eclipse 中,當你提交改動時,會有一個提交對話框向你展示將要被提交的文件列表。

你可以雙擊其中任意一項來查看改動的對比:這時候,如果你看到代碼里一些想修改的地方(比如一個拼錯的單詞,一段

遺漏的文檔,等等),那可就不爽了:你必須關閉所有的東西(包括帶有你精心寫好的提交注釋的提交框),去找到那處惹人煩的代碼,改正,然后從頭再來一遍。

PyCharm 有同樣的特性,但是你的改動是可編輯的。我簡直不能再去強調(diào)可以當場修正那些錯誤有多么棒啦!

在提交過程中,我可以很容易地修復像上面那些類似的拼寫錯誤。

一個額外好處是,無論你因為何種原因關閉了提交對話框,當再次嘗試提交時,它會保留你剛才填寫的那些提交注釋。

提交時檢查

在提交過程中,我們還可以在實際提交前執(zhí)行其他一些選項,像“優(yōu)化導入(排序并移除未使用過的導入)“,檢查變動集合中的待完成項等等。

一個有意思的地方是”執(zhí)行代碼分析“那一項。。。

代碼審查

你可以讓PyCharm在一個文件,目錄或整個項目里執(zhí)行“代碼審查”操作。它會在無需實際執(zhí)行程序的情況下,

找出存在問題以及相應的改進辦法,比如類型檢查,可靜態(tài)的方法,違反代碼規(guī)范等等問題。

正如在上一節(jié)中解釋過的,這也可以在提交時在發(fā)生改動的文件中自動完成。這是一個文件一次審查之后的結(jié)果

對于其中一些審查結(jié)果來說,你還可以應用一個修復建議。例如,對于“Function call can be replaced with set literal()”這一建議,我們可以選擇相應的選項來修復。

PyCharm 會將這句::

復制代碼代碼如下:

xtensions = set(['.avi', '.mp4', '.mpg', '.mkv'])

自動替換為:

復制代碼代碼如下:

extensions = {'.avi', '.mp4', '.mpg', '.mkv'}

你可以關閉任何你不希望的審查,包括在項目一級。

重構(gòu)

我一直在試圖重命名一個模塊,可在菜單項里一直找不到那一項。。。F2也無濟于事。

突然我注意到文件子菜單下面的”重構(gòu)/重命名“一項,就想。。。會是它嗎?果然就是!

在你重命名一個模塊時,PyCharm會詢問你是否需要自動修改所有與之關聯(lián)的項目。有福了!

還有很多其他的重構(gòu)項目,但目前為止我還沒有機會一一嘗試。

關于過時代碼的提示以及改進建議

PyCharm可以告訴你代碼里面過時的結(jié)構(gòu)塊,并且提出一些改進建議。比如,我有像下面一段這樣的代碼:

復制代碼代碼如下:

with nested(open(filename1), open(filename2)) as (f1, f2):

<代碼塊>

PyCharm會明顯的標注出nested:

我用的是Python2.7,事實上你可以使用嵌套上下文管理器,但是,唉,我還得支持python的一些老版本,就保留了nested。

但PyCharm提醒了我,這個事情本身還是很酷的。

任務+特性 分支

如同Eclipse一樣(需要Mylin支持),PyCharm也支持基于任務的工作流(包括任務感知的上下文)。

然而PyCharm本身自帶了很多直接可用的連接器(GitHub,Mantis,Jira,Bugzilla,等等)。

而且,當你開啟一項任務時,它會詢問你是否想要創(chuàng)建那個任務的一個特性分支,分支的名字可以配置。

這就避免了必須手動創(chuàng)建一個新的分支,而這個操作確實挺繁瑣的(拿到任務的ID,選擇名稱,等等)。

這個是加分項。

快速

我觀察到PyCharm在執(zhí)行代碼的自動完成時掃瞄代碼的速度要遠快于Eclipse,而且還不打斷你當前的工作。

當你想保存一個文件時,Eclipse會阻止你這么做因為它正在后臺執(zhí)行一個任務,這有多惹人煩。。。

快速查看文檔

當你把光標挪到一個函數(shù)、方法,類或者別的什么上的時候,你會得到一個選項來瀏覽”快速文檔“??匆谎郏?/p>

正如你看到的,它會用一種賞心悅目的格式展示方法的文檔說明,還從代碼使用說明中提示了參數(shù)的類型。。。即使該函數(shù)沒有對應的文檔說明,你還是會得到像下面這樣的一個說明:

很好!

Docutils 支持

PyCharm 還包括了對于doctils的一流支持,這讓它很容易從集成開發(fā)環(huán)境中直接再生成文檔。

另一方面,它還包括了一個非常好的富文本(譯者注:ReST即reStructuredTexteditor)編輯器(比Eclipse的IMHO好用的多):

完善的插件系統(tǒng)

跟據(jù)我的使用經(jīng)驗,在Eclipse里面安裝插件是件挺痛苦的事情:

很難找到你想要去的地方(提示: 幫助/安裝新軟件。。。);

你沒有一個單一的索引,所以你得去網(wǎng)上去找那些插件源;

系統(tǒng)有時會因為庫的依賴問題而崩潰,結(jié)果我就沒裝上那些我想要的插件(工作中還有其他人也同樣遇到這個問題,最后不得不放棄);

PyCharm的插件體驗則要流暢地多。

首先,它位于一個你認為它有可能會存在的地方:就在”設置”下面的一項:

你可以很容易地瀏覽插件:

我快速安裝了一個標記編輯器(和ReST一樣),一個臨時存放代碼片段的插件,可以讓我直接從選擇的文本中快速地剪貼,并且預覽代碼,和SublimeText類似,還用一個漂亮的代碼外觀。

結(jié)語

目前為止就這些了。我會向我的朋友盡力展示一切我認為“看這有多酷”的事情。我使用PyCharm的時間很短,如果我發(fā)現(xiàn)還有更多有趣的事情值得再寫一篇發(fā)表的話,我會繼續(xù)寫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 到目前為止,我用Eclipse已經(jīng)有一些年頭了,大部分的時間都是用來寫Python(安裝Pydev插件)以及C++...
    hzyido閱讀 2,157評論 2 7
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,940評論 25 709
  • 電子邀請函是經(jīng)常需要制作的東西,使用Sketch進行設計能夠讓全局更容易被掌控,風格文字更加統(tǒng)一,本人以自己的婚禮...
    黃方聞閱讀 1,255評論 5 13
  • 此展不偏不倚正在我看到某公眾號的推送,刺激到我的某根文藝神經(jīng),又正值當天記錯某個活動的時間周六下午得空百無聊賴的時...
    missrainyday閱讀 765評論 0 3

友情鏈接更多精彩內(nèi)容