专栏名称: python
隔天更新python文章,我希望用我的努力换来劳动的成果帮助更多的人掌握一门技术,因此我要更加努力。
目录
相关文章推荐
Python开发者  ·  成人玩偶 + ... ·  2 天前  
Python爱好者社区  ·  DeepSeek 被放弃了,阿里牛逼! ·  昨天  
Python爱好者社区  ·  付费上班终于成为了现实。 ·  昨天  
Python爱好者社区  ·  刚刚,DeepSeek放出重磅论文!梁文锋亲 ... ·  3 天前  
Python爱好者社区  ·  吴恩达,yyds ·  3 天前  
51好读  ›  专栏  ›  python

Python IDE:PyCharm中的那些实用功能

python  · 公众号  · Python  · 2017-06-18 19:28

正文




PyCharm中文版安装包地址: Python最新开发工具下载地址...



实时比较

PyCharm 对一个文件里你做的改动保持实时的跟踪,通过在编辑器的左侧栏显示一个蓝色的标记。


这一点非常方便,我之前一直是在Eclipse里面用命令“Compare against HEAD” 来比较一个文件前后的改动。

在PyCharm中,你可以对你的改动一览无余。同时,点击那个标记,会显示出之前的内容以及一个工具栏:


你可以很容易地回滚这些改动,在一个详尽的对话框中查看这些改动或是将之前的文本粘贴到剪切板上。
Python学习交流   643692991   群内每天更新相关资料

提交时的比较预览

在Eclipse 中,当你提交改动时,会有一个提交对话框向你展示将要被提交的文件列表。

你可以双击其中任意一项来查看改动的对比:这时候,如果你看到代码里一些想修改的地方(比如一个拼错的单词,一段

遗漏的文档,等等),那可就不爽了:你必须关闭所有的东西(包括带有你精心写好的提交注释的提交框),去找到那处惹人烦的代码,改正,然后从头再来一遍。

PyCharm 有同样的特性,但是你的改动是可编辑的。我简直不能再去强调可以当场修正那些错误有多么棒啦!

在提交过程中,我可以很容易地修复像上面那些类似的拼写错误。

一个额外好处是,无论你因为何种原因关闭了提交对话框,当再次尝试提交时,它会保留你刚才填写的那些提交注释。

提交时检查

在提交过程中,我们还可以在实际提交前执行其他一些选项,像“优化导入(排序并移除未使用过的导入)“,检查变动集合中的待完成项等等。


一个有意思的地方是”执行代码分析“那一项。。。

代码审查

你可以让PyCharm在一个文件,目录或整个项目里执行“代码审查”操作。它会在无需实际执行程序的情况下,

找出存在问题以及相应的改进办法,比如类型检查,可静态的方法,违反代码规范等等问题。

正如在上一节中解释过的,这也可以在提交时在发生改动的文件中自动完成。这是一个文件一次审查之后的结果:

对于其中一些审查结果来说,你还可以应用一个修复建议。例如,对于“Function call can be replaced with set literal()”这一建议,我们可以选择相应的选项来修复。

Python学习交流   643692991   群内每天更新相关资料


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,等等)。

而且,当你开启一项任务时,它会询问你是否想要创建那个任务的一个特性分支,分支的名字可以配置。



Python学习交流   643692991   群内每天更新相关资料

这就避免了必须手动创建一个新的分支,而这个操作确实挺繁琐的(拿到任务的ID,选择名称,等等)。

这个是加分项。

快速

我观察到PyCharm在执行代码的自动完成时扫瞄代码的速度要远快于Eclipse,而且还不打断你当前的工作。







请到「今天看啥」查看全文