到目前為止,我用Eclipse已經有一些年頭了,大部分的時間都是用來寫Python(安裝Pydev插件)以及C++(安裝CDT插件)。
最近我從一個好友那裡聽說了PyCharm以及它新的免費社群版logr。我這個朋友用Eclipse也很久了,對PyCharm也是讚不絕口,所以我決定至少在家辦公的時候試著用用PyCharm。到目前為止,我已經深深的喜歡上了它,甚至在日常工作時也用PyCharm(社群版採用Apache2授權)。
以下我將會介紹一些在我在使用PyCharm時感到驚奇的一些事情。
我無意批評Eclipse或PyDev,我用了它們很多年,它們很棒!請記住,這是我的個人經驗,你的或許有所不同。
PyCharm 對一個文件裡你做的改動保持實時的跟踪,通過在編輯器的左側欄顯示一個藍色的標記。
# 這一點非常方便,我之前一直是在Eclipse裡面用命令“Compare against HEAD” 來比較一個文件前後的改動。
在PyCharm中,你可以對你的改變一覽無遺。同時,點選那個標記,會顯示出先前的內容以及一個工具列:
#
# 你可以很容易地回滾這些改動,在一個詳盡的對話框中查看這些改動或是將先前的文字貼到剪切板上。
# 在Eclipse 中,當你提交改動時,會有一個提交對話框向你展示將要被提交的文件清單。
你可以雙擊其中任一項來查看改動的對比:這時候,如果你看到程式碼裡一些想修改的地方(例如一個拼錯的單字,一段
# 遺漏的文檔,等等),那可就不爽了:你必須關閉所有的東西(包括帶有你精心寫好的提交註釋的提交框),去找到那處惹人煩的代碼,改正,然後從頭再來一遍。
PyCharm 有相同的特性,但是你的改變是可編輯的。我簡直不能再去強調可以當場修正那些錯誤有多棒啦!
# 在提交過程中,我可以輕鬆地修復像上面那些類似的拼字錯誤。
一個額外好處是,無論你因為何種原因關閉了提交對話框,當再次嘗試提交時,它會保留你剛才填寫的那些提交註釋。
在提交過程中,我們還可以在實際提交前執行其他一些選項,像“優化導入(排序並移除未使用過的導入)“,檢查變動集合中的待完成項等等。
# 一個有意思的地方是」執行程式碼分析「那一項。 。 。
你可以讓PyCharm在一個文件,目錄或整個專案裡執行「程式碼審查」操作。它會在無需實際執行程式的情況下,
找出存在問題以及對應的改進方法,例如型別檢查,可靜態的方法,違反程式碼規範等等問題。
正如在上一節中解釋過的,這也可以在提交時在發生改動的文件中自動完成。這是一個文件一次審查之後的結果:
#
# 對於其中一些審查結果來說,你也可以應用一個修復建議。例如,對於「Function call can be replaced with set literal()」這個建議,我們可以選擇對應的選項來修復。
PyCharm 會將這句話:
extensions = set(['.avi', '.mp4', '.mpg', '.mkv'])
自動替換為:
extensions = {'.avi', '.mp4', '.mpg', '.mkv'}
你可以關閉任何你不希望的審查,包括在專案層級。
我一直在試著重命名一個模組,可在選單項目裡一直找不到那一項。 。 。 F2也無濟於事。
突然我注意到文件子選單下面的」重構/重新命名「一項,就想。 。 。會是它嗎?果然就是!
在你重新命名一個模組時,PyCharm會詢問你是否需要自動修改所有與之關聯的項目。有福了!
還有很多其他的重構項目,但目前為止我還沒有機會一一嘗試。
PyCharm可以告诉你代码里面过时的结构块,并且提出一些改进建议。比如,我有像下面一段这样的代码:
with nested(open(filename1), open(filename2)) as (f1, f2): <代码块>
PyCharm会明显的标注出nested:
我用的是Python2.7,事实上你可以使用嵌套上下文管理器,但是,唉,我还得支持python的一些老版本,就保留了nested。
但PyCharm提醒了我,这个事情本身还是很酷的。
如同Eclipse一样(需要Mylin支持),PyCharm也支持基于任务的工作流(包括任务感知的上下文)。
然而PyCharm本身自带了很多直接可用的连接器(GitHub,Mantis,Jira,Bugzilla,等等)。
而且,当你开启一项任务时,它会询问你是否想要创建那个任务的一个特性分支,分支的名字可以配置。
这就避免了必须手动创建一个新的分支,而这个操作确实挺繁琐的(拿到任务的ID,选择名称,等等)。
这个是加分项。
我观察到PyCharm在执行代码的自动完成时扫瞄代码的速度要远快于Eclipse,而且还不打断你当前的工作。
当你想保存一个文件时,Eclipse会阻止你这么做因为它正在后台执行一个任务,这有多惹人烦。。。
当你把光标挪到一个函数、方法,类或者别的什么上的时候,你会得到一个选项来浏览”快速文档“。看一眼:
正如你看到的,它会用一种赏心悦目的格式展示方法的文档说明,还从代码使用说明中提示了参数的类型。。。即使该函数没有对应的文档说明,你还是会得到像下面这样的一个说明:
很好!
PyCharm 还包括了对于doctils的一流支持,这让它很容易从集成开发环境中直接再生成文档。
另一方面,它还包括了一个非常好的富文本(译者注:ReST即reStructuredTexteditor)编辑器(比Eclipse的IMHO好用的多):
跟据我的使用经验,在Eclipse里面安装插件是件挺痛苦的事情:
很难找到你想要去的地方(提示: 帮助/安装新软件。。。);
你没有一个单一的索引,所以你得去网上去找那些插件源;
系统有时会因为库的依赖问题而崩溃,结果我就没装上那些我想要的插件(工作中还有其他人也同样遇到这个问题,最后不得不放弃);
PyCharm的插件体验则要流畅地多。
首先,它位于一个你认为它有可能会存在的地方:就在”设置”下面的一项:
你可以很容易地浏览插件:
我快速安装了一个标记编辑器(和ReST一样),一个临时存放代码片段的插件,可以让我直接从选择的文本中快速地剪贴,并且预览代码,和SublimeText类似,还用一个漂亮的代码外观。
目前为止就这些了。我会向我的朋友尽力展示一切我认为“看这有多酷”的事情。我使用PyCharm的时间很短,如果我发现还有更多有趣的事情值得再写一篇发表的话,我会继续写。
原文链接: Bruno Oliveira 翻译: 伯乐在线 - 高磊
以上是Python IDE:細數下PyCharm中的那些實用功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!