每周分享五个 PyCharm 使用技巧(五)

文章首发于 微信公众号:Python编程时光编程

你们好,这是本系列 PyCharm 的高效使用技巧的第五篇。按照惯例,本次仍是分享 5 个。 本系列前四篇以下,若还没看的,你能够点击查阅微信

一、juejin.im/post/5c98f6…框架

二、juejin.im/post/5ca0be…编辑器

三、juejin.im/post/5cd275…函数

四、juejin.im/post/5d0785…工具

21. 随处折叠,实现代码自由

PyCharm 里代码块的折叠功能,至关的显眼,在代码编辑框的左侧,你能够发现有 + 也有 -,很容易理解 + 表明代码块被折叠了能够点此展开,而 - 表明这个代码块处于展开状态能够点此折叠。post

若是你和我同样是个键盘党,你可使用快捷(Mac:按住Command键,再按+或者- ,Windows:按住Ctrl键,再按+或者- )进行快速反折叠/折叠。3d

代码块的折叠和反折叠,应该是一个代码编辑器的基本功能。在这一点上, PyCharm 作为一个 IDE,在这一点上势必要作得更出色,事实证实,它作到了。code

从上面,咱们知道只有代码块才支持缩放,那什么样的代码PyCharm才会认为是一个代码块呢?其严格地定义我没有找到,从经验来看,一个类,一个函数,一个for循环,一个while循环,一个多行注释等都是代码块。均可以进行折叠、反折叠。cdn

有时候,咱们并不但愿整块代码进行折叠,而只想对其余一大段暂时对咱们无用的代码进行折叠。那能作到吗?

答案是能够的。

只要你先选中你想折叠的代码,再按住 Command 紧接着按住 . 就能够了。效果以下:

(GIF动态只播放两次,重播请刷新页面)

22. 重构操做,一步到位

最近有一位同事走了,由我来接手他的所有工做。

可能因为我有代码洁癖,我花了一个星期对其代码进行了大量的重构。

重构代码,免不了要对变量进行重命名。

若是一个一个改,显然不太智能,要知道咱们是在用IDE,你也许会说,用搜索所有替换不就好了?还真不行。

好比下面这段代码,我只想改myfun 里的的test_name,而对于全局下的同名变量是不该该修改的。若是你全局替换,就会有误伤。

这时候,咱们如何作呢?

可使用 PyCharm 的 Refactor 功能,它会自动匹配做用域,既作到批量更改,也作到不误伤。

操做方法很简单,先选中你的变量,而后使用快捷键 Shift+F6,就能够直接重命名了。

(GIF动态只播放两次,重播请刷新页面)

23. 复杂操做,录制成宏

若是你在使用PyCharm 的时候,遇到有一些操做是比较复杂(步骤多),且使用频率特别高。

那能够考虑一下,使用其自带的宏录制工具。

它会将你的一连串操做,录制下来。等你想用的时候,直接调用就好了。

这边,我以录制一个 删除函数 的宏为例:先按上面的方法折叠函数,再按 Command+y 删除该行,就删除了该函数。

作录制方法以下:

(GIF动态只播放两次,重播请刷新页面)

录制好后,你能够先定位到你要删除的函数处,点菜单栏 Edit - Macro 而后选择咱们刚刚录制的宏,就能够播放宏了。

这样播放宏显得有点繁琐,我的建议你为这个宏定义一个快捷键,这样会更方便播放宏。

设置快捷键时,注意不要和已有的快捷键冲突。

设置好后,查看 Macro,发现PyCharm已经将这个快捷键绑定给这个宏。

以后你就可使用这个快捷键删除一个函数(其实这只是删除一个代码块,可是这里只讨论设置方法)。

24. 多行标签页,尽收眼底

PyCharm 打开一个文件,就占用一个标签面。

你有没有发现,不知不觉地,打开的文件愈来愈多,多到一行标签都装不下,装不下的标签页 PyCharm 会将其隐藏起来,并以数字的形式告诉你隐藏了几个文件。

点击数字5,你才能够查看隐藏了哪些文件。

这时你确定会说,一行装不下 PyCharm 为何不能多行显示呢?

答案是,不是不能,而是须要你设置。

以下图,将单行显示取消勾选便可。

设置完后,有哪些文件就很是清晰了。

25. 应用搜索,阅读源码必备

你平时如有阅读框架源码的需求或习惯,那你必定要来掌握这个技能。

在阅读源码时,代码的入口、流程、走向特别重要。

假设你如今知道了一个特别关键的类,你特别想知道是哪里调用了这个类,你想知道源头,知道整个调用流程。

这个时候你使用全局搜索,就会有不少的干扰信息。

这个时候,你急需有一种方法,能够快速给你列出有哪些地方调用了这个类。

快捷键:Mac:Command+Option+F7 ,Windows:Ctrl+Alt+F7

以下图所示,按下快捷键后能够很轻松地看见调用列表。

若是你嫌这快捷键太长了,可使用 鼠标中键 点击这个类,能够达到一样的效果。

最后,我能够求个赞吗? ^_^


相关文章
相关标签/搜索