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

大家好,这是本系列 PyCharm 的高效使用技巧的第五篇。按照惯例,本次还是分享 5 个。

本系列前四篇如下,若还没看的,你可以点击查阅

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

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

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

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

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

有时候,我们并不希望整块代码进行折叠,而只想对其他一大段暂时对我们无用的代码进行折叠。那能做到吗?

答案是可以的。

只要你先选中你想折叠的代码,再按住 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

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

如果你嫌这快捷键太长了,可以使用 鼠标中键 点击这个类,可以达到同样的效果。


每周分享五个 PyCharm 使用技巧(五)的更多相关文章

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

    这是 「PyCharm 技巧分享」系列的第二篇分享.由于上一篇文章得到了大家的一些赞同,所以今天又来给大家推荐一些我平时自己有用的小技巧,大家择需所取即可. 先声明下,并不保证对所有的人都是有帮助的, ...

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

    PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定会给我们的开发效率带 ...

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

    大家好,今天我又来给大家更新 PyCharm 的使用技巧. 从今年3月24号开始一直到今天,将近四个月的时间.包括本篇,一共更新了6篇文章,每篇 5 个小技巧,总计 30 个. 这30个使用技巧,全部 ...

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

    文章首发于 微信公众号:Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌 ...

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

    文章首发于 微信公众号:Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌 ...

  6. PyCharm 教程(五)断点 调试

    PyCharm 教程(五)断点 调试 PyCharm 作为IDE,断点调试是必须有的功能.否则,我们还真不如用纯编辑器写的快. [运行]和[调试]前的设置,详见前面的文章,helloword. 1,设 ...

  7. 你有哪些想要分享的 PyCharm 使用技巧?

    作者:Light Lin链接:https://www.zhihu.com/question/37787004/answer/75269463来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  8. [转帖]Linux Shell常用技巧(五)

    Linux Shell常用技巧(五) https://zhuanlan.zhihu.com/p/73451771 1. 变量:在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可 ...

  9. PyCharm常用技巧集合

    PyCharm常用技巧集合 一.添加或者修改文件模板 File>settings>Editor>File and Code Templates>Python Script 你可 ...

随机推荐

  1. 真的懂了:TCP协议中的三次握手和四次挥手(关闭连接时, 当收到对方的FIN报文时, 仅仅表示对方不在发送数据了, 但是还能接收数据, 己方也未必全部数据都发送对方了。相当于一开始还没接上话不要紧,后来接上话以后得让人把话讲完)

    一.TCP报文格式 下面是TCP报文格式图: (1) 序号, Seq(Sequence number), 占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记. (2) 确 ...

  2. 电讯“情趣me”为什么命途多舛?

        古人有句话叫做战争"鼓作气,再而衰,三而竭",意思是打仗必须"一气呵成".才干发挥最大实力,取得最好的战绩.所谓商场如战场,经商也是如此,近期,中国电信 ...

  3. Information centric network (icn) node based on switch and network process using the node

    The present invention relates to an apparatus for supporting information centric networking. An info ...

  4. 分享 WebBrowser显示Html内容3点细节技巧,解决刷新后空白

    直接显示Html内容,不像直接导航网址容易处理: 问题:按微软的控件属性提示,可以用WebBrowser.DocumentText 属性赋值 ,但是这种赋值,只是首次有效,后续切换都没啥作用. 下面给 ...

  5. [WebGL入门]十一,着色器编译器和连接器

    注意:文章翻译http://wgld.org/,原作者杉本雅広(doxas).文章中假设有我的额外说明.我会加上[lufy:].另外.鄙人webgl研究还不够深入.一些专业词语,假设翻译有误.欢迎大家 ...

  6. ORACLE 时间加减操作

    DATE和timestamp类型都可以进行加减操作.可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个 ...

  7. 检查Android是否支持指纹识别以及是否已经录入指纹

    原文:检查Android是否支持指纹识别以及是否已经录入指纹 Android M 开始,系统中加入了指纹相关功能. 主要用到的类为:FingerprintManager 只提供三个方法: 返回值 方法 ...

  8. Genymotion常见问题解决方案

    最近更新了Genymotion之后, 出了一大堆问题, 花了差不多两天的时间, 把一系列问题基本遇到遍了, 终于修成正果, 分享出来希望可以让大家少走一点弯路. 无法启动Genymotion;关键字: ...

  9. Plupload上传插件中文文档

    Plupload上传插件中文帮助文档 如有疑问,加群交流:646104701 下载地址:https://www.plupload.com/download/ 配置参数 实例化一个plupload对象时 ...

  10. WPF显示html的几种方法

    原文:WPF显示html的几种方法 客户希望系统在一些特定的条件下,界面上能显示用户自定义的格式和内容,格式和内容通过html指定. 基本上在wpf中显示html有以下四种方法. 1.       W ...