zoukankan      html  css  js  c++  java
  • 每周分享五个 PyCharm 使用技巧(四)

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

    PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能。

    一个每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定会给我们的开发效率带来质的提升。今天我就来写一写我在平时开发中一直在用的,可以明显改善开发效率的使用技巧,一旦学会,受用一生。

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

    本系列其他文章如下,若还没看的,你可以点击查阅

    每周分享五个 PyCharm 使用技巧(一)
    每周分享五个 PyCharm 使用技巧(二)
    每周分享五个 PyCharm 使用技巧(三)
    每周分享五个 PyCharm 使用技巧(四)
    每周分享五个 PyCharm 使用技巧(五)

    16. 快速定位到错误行

    前几天打开 PyCharm,发现在导航栏这里出现了很多波浪线,有过 PyCharm 使用经验的同学,就会知道,这是代码中出现了错误。

    顺着波浪线,我一层一层地展开目录树,终于找到了那个包含错误的文件。由于是手误,我也不知道我改动了哪一行,看了下这个文件,有将近8000行的代码,难道一行一行地去找?

    不,这绝对不是使用 IDE 正确的方式。

    遇到问题,就应该尝试去寻找快捷方法,有没有办法,可以一下子定位到错误代码呢?

    这时候,我想起了PyCharm 有提供给我们一个 Keymap 的面板,可以很方便的设置、查询快捷键。说不定我在那里可以找到我想要的答案

    我在搜索框输入 Error,就找到了快速定位到错误位置的快捷键 F2Shift+F2 可以快速的定位到错误行。

    使用快捷键 F2 查看了下原来是这里缩进有问题。

    17. 快速查看最近的修改

    上面为了恢复因为手误造成的语法错误,我使用了快捷键来定位错误行,虽然解决了问题,但总有种绕了几个弯的感觉。

    假如有种方法,可以项目查看最近的修改记录的话(没有git做版本控制的情况下),那就太好了。

    太巧的是,今天我打开 PyCharm ,就给我推了这条 tip,(在Mac上)使用 option+shift+C 可以快速查看最近修改的内容(windows 上应该是alt+shift+c吧)

    18. 静态代码分析检查

    对于编译型的语言,如 Java,需要将代码编译成机器可识别的语言才可运行,在编译过程中,就可以通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷。这个过程叫做静态代码分析检查。

    那对于 Python 这种解释型的语言来说,代码是边运行边翻译的,不需要经过编译这个过程。很多肉眼无法一下子看出的错误,通常都是跑一下(反正跑一下这么方便)才能发现。

    由于Python 运行是如此的方便,以至于我们都不太需要关注静态分析工具。

    但也不是说,静态分析工具完全没有用武之地,我认为还是有。

    如果你的编码能力还没有很成熟,代码中可以有许许多多的隐藏bug,由于 Python 是运行到的时候才解释,导致一次运行只能发现一个错误,要发现100个bug,要运行100次,数字有点夸大,其实就是想说,如果这么多的错误都能通过一次静态检查发现就立马修改,开发调试的效率就可以有所提升。当然啦,并不是说所有的错误静态分析都能提前发现,这点希望你不要误解。

    做为 Python 最强 IDE,PyCharm本身内置了这个功能,不需要你安装任何插件。

    你只需要像下面这样点击项目文件夹,然后右键,选择 Inspect Code,就可以开启静态检查。

    我对开源组件 nova 的静态检查发现,其有不规范的地方有数千处。

    19. 全方位无死角精准定位

    一直觉得使用鼠标是一种非常低效的习惯。

    我热衷于使用各种键盘快捷键来提高操作的精准度,在编辑器上我可以相当熟练的使用 vim 指令完成我各种需求,因此我给 PyCharm 装上了ideaVim,给 Chrome 装上了 Vimium。

    同样地阅读框架代码,我也都是使用全键盘进行操作。因为我有长期阅读 OpenStack 源码的需求,其代码量是数百万级别的。如果没有使用精准定位来快速跳转,这种极差的体验将很难使我坚持下来。

    这里暂时先介绍几种我最常用的精准定位方法,主要可以定位跳转到如下三种

    • 精准定位到文件:Windows(Ctrl+Shift+N),Mac(Command+ shift +N)

    • 精准定位到类:Windows(Ctrl+N),Mac(Command+N)

    • 精准定位到符号:类的所有成员(函数、变量等)都可以称之为符号,Windows(Ctrl+Alt+Shift+N),Mac(Option+Shift+Command+N)

    • 精准定位到文件结构:文件结构包括类、函数、变量,这说明上面定位到类和定位到符号的方法,你都可以用这个来代替。

      Windows:Ctrl+F12,Mac:Command+F12,如果和我一样是Mac是带touchbar的,键盘上是没有F12的,那你应该先按住 Command + fn,这时 touchbar 上会出现 F12,再按F12即可。

    • 精准定位到某行:Windows(Ctrl+G),Mac(Command+G),如下图定位到第510行第9个字符处。

    20. 利用 TODO 解救“中年痴呆”

    一个程序员,如果能够一天都只和代码打交道,是一件多么难得的事情。

    可能外行人不知道,做为同样是程序员的你,是不是和我有一样的烦恼。

    代码写着写着,测试突然就喊道:小明,你的代码有bug,ug,g(回声)。。

    代码写着写着,运维突然一个弹窗:小明,这个线上问题赶紧排查一下。。

    代码写着写着,产品突然就跳出来:小明,能做一个根据手机壳颜色自动改变app主题的app不??

    这样的噩梦每天都在重复不间断地上演着,或许我知道了为什么程序员要在深夜里码代码了,因为那是白日里得不到的宁静。

    所以 王建硕 在<< 入静和入世 >>一文中写道:

    “当看到一个程序员冥思苦想的时候,不要过去打扰,甚至在极端的情况下,一句友好的问候都是多余的。 ”

    为了避免这个情况,我通常在别人打断我的时候,请对方给我一分钟的时间,使用PyCharn 的 TODO 功能快速记录下当前的思绪状态,以及下一步要做的事情。

    使用方法跟注释差不多,只要固定要以 TODO 开头。然后,你要查看全局项目中的所有 TODO 事项的时候,可以使用快捷键调出 TODO 面板。如果你是 Mac, 快捷键 是Command + 6,而 Windows 是 Alt+6。

    另外,我还使用这个来记录下个版本要优化的代码逻辑,要添加的功能。

    如果是比较紧急的 BUG,可以使用类似 TODO 的标记 — FIXME 来区分紧急程度。


    本系列 30 个 PyCharm 小技巧全部更新完毕了,你可以点击顶部的超链接进行学习。

    希望对你掌握和配置 PyCharm 会有帮助,想继续看文章的朋友,也可以关注我的公众号「Python编程时光」,所有的文章都会在那里首发,公众号里的文章我都经过精心的排版,阅读体验好。欢迎大家来订阅。


    关注公众号,获取最新干货!

  • 相关阅读:
    Mac 虚拟机VMware Fusion显示内部错误的解决方法
    Linux系统中的引导过程与服务控制
    linux系统中如何删除lvm分区
    Linux命令下: LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
    解决:rm: 无法删除"tomcat": 设备或资源忙
    LVM操作过程
    Linux命令下进行硬盘挂载、分区、删除分区,格式化,卸载方法
    finger 命令查询用户名、主目录、停滞时间、登录时间
    【MySQL】MySQL5.7传统复制切换为GTID复制
    深入理解MySQL系列之锁
  • 原文地址:https://www.cnblogs.com/wongbingming/p/11042025.html
Copyright © 2011-2022 走看看