到今朝为止,我用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 会将这句:
#p#分页标题#e#
1 |
extensions = set(['.avi', '.mp4', '.mpg', '.mkv']) |
自动替换为:
1 |
extensions = {'.avi', '.mp4', '.mpg', '.mkv'} |
你可以封锁任何你不但愿的审查,包罗在项目一级。
重构
我一直在试图重定名一个模块,可在菜单项里一直找不到那一项。。。F2也无济于事。
溘然我留意到文件子菜单下面的”重构/重定名“一项,就想。。。会是它吗?公然就是!
在你重定名一个模块时,PyCharm会询问你是否需要自动修改所有与之关联的项目。有福了!
尚有许多其他的重构项目,但今朝为止我还没有时机一一实验。
关于过期代码的提示以及改造发起
#p#分页标题#e#
PyCharm可以汇报你代码内里过期的布局块,而且提出一些改造发起。好比,我有像下面一段这样的代码:
1 2 |
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会阻止你这么做因为它正在靠山执行一个任务,这有多惹人烦。。。
快速查察文档
当你把光标挪到一个函数、要领,类可能此外什么上的时候,你会获得一个选项来欣赏”快速文档“。看一眼:
#p#分页标题#e#
正如你看到的,它会用一种赏心好看的名目展示要领的文档说明,还从代码利用说明中提示了参数的范例。。。纵然该函数没有对应的文档说明,你照旧会获得像下面这样的一个说明:
很好!
Docutils 支持
PyCharm 还包罗了对付doctils的一流支持,这让它很容易从集成开拓情况中直接再生成文档。
另一方面,它还包罗了一个很是好的富文本(译者注:ReST即reStructuredTexteditor)编辑器(比Eclipse的IMHO好用的多):
完善的插件系统
跟据我的利用履历,在Eclipse内里安装插件是件挺疾苦的工作:
很难找到你想要去的处所(提示: 辅佐/安装新软件。。。);
你没有一个单一的索引,所以你得去网上去找那些插件源;
系统有时会因为库的依赖问题而瓦解,功效我就没装上那些我想要的插件(事情中尚有其他人也同样碰着这个问题,最后不得不放弃);
PyCharm的插件体验则要流通地多。
首先,它位于一个你认为它有大概会存在的处所:就在”配置”下面的一项:
你可以很容易地欣赏插件:
我快速安装了一个标志编辑器(和ReST一样),一个姑且存放代码片断的插件,可以让我直接从选择的文本中快速地剪贴,而且预览代码,和SublimeText雷同,还用一个大度的代码外观。