https://blog.csdn.net/pdcfighting/article/details/93269028
大家好,距离最近一篇 PyCharm 使用技巧的文章已经过去一月有余,最近虽然也比较忙,但是一直没忘记录下一些我觉得值得分享的小tip。这个系列到今天已经是第四篇了,按照惯例,本次还是分享 5 个。

如果你还未看过前四篇,可以点此进行查看。

1 受用一生的高效PyCharm使用技巧
2 受用一生的高效PyCharm使用技巧(二)
3 受用一生的高效PyCharm使用技巧(三)

  1. 快速定位到错误行
    前几天打开 PyCharm,发现在导航栏这里出现了很多红色波浪线,有过 PyCharm 使用经验的同学,这是代码出现了错误。

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

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

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

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

我在搜索框输入 Error,就找到了快速定位到错误位置的快捷键 F2 和 Shift+F2 可以快速的定位到错误行(Mac和Windows快捷键一样)。

640?wx_fmt=png
使用快捷键 F2 查看了下原来是这里缩进有问题,导致语法出现错误。

640?wx_fmt=png
17. 快速查看最近的修改
上面为了恢复因为手误造成的语法错误,我使用了快捷键来定位错误行,虽然解决了问题,但总有种绕了几个弯的感觉。

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

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

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

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

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

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

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

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

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

640?wx_fmt=png
我对开源组件 nova 的代码做了下静态检查发现,其不规范的地方高达数千处。

640?wx_fmt=png
19. 全方位无死角精准定位
一直觉得使用鼠标是一种非常低效的习惯。

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

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

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

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

640?wx_fmt=png
精准定位到类:Windows:Ctrl+N,Mac:Command+N

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

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

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

640?wx_fmt=png

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

640?wx_fmt=png
20. 利用 TODO 解救“中年痴呆”
一个程序员,如果能够一天都只和代码打交道,是一件多么难得的事情。

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

代码写着写着,测试突然就喊道:小明,你的代码有bug,ug,g(回声)。。
代码写着写着,运维突然一个弹窗:小明,这个线上问题赶紧排查一下。。
代码写着写着,产品突然就跳出来:小明,能做一个根据手机壳颜色自动改变app主题的app不??

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

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

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

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

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

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

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

640?wx_fmt=png

好了,本次的 PyCharm 使用技巧,就是这五个了,你学会了吗?

上一篇文章在知乎发完后,有朋友反馈,希望能将Windows和Mac的快捷键都列出来。所以从这篇文章开始,我多花了点心思,去确认了下Windows的快捷键,照顾到只用Windows系统的同学。

最后,感谢你的阅读,如果觉得文章对你有所帮助,还望你能帮忙分享、转发、点在看,这就是对我的最大支持

受用一生的高效 PyCharm 使用技巧(四)相关推荐

  1. pycharm 最上面的快速定位标签_受用一生的高效 PyCharm 使用技巧(四)

    原标题:受用一生的高效 PyCharm 使用技巧(四) 大家好,距离最近一篇 PyCharm 使用技巧的文章已经过去一月有余,最近虽然也比较忙,但是一直没忘记录下一些我觉得值得分享的小tip.这个系列 ...

  2. 受用一生的高效 PyCharm 使用技巧(六)

    http://www.sohu.com/a/329854019_654419 大家好,今天我又来给大家更新 PyCharm 的使用技巧. 从第一篇开始,一直到本篇,一共更新了6篇文章,每篇 5 个小技 ...

  3. 受用一生的高效 PyCharm 使用技巧 !

    大家好,今天我又来给大家更新 PyCharm 的使用技巧. 本系列一共更新了6篇文章,每篇 5 个小技巧,总计 30 个. 这30个使用技巧,全部是我自己在使用 PyCharm 中认为比较有用的,抽取 ...

  4. 受用一生的高效PyCharm使用技巧(三)

    来源 | Python编程时光(ID:Python-Time) 大家好,这是本系列 PyCharm 的高效使用技巧的第三篇.按照惯例,本次还是分享 5 个. 从前两篇的阅读量.赞赏数和在看数来看,大家 ...

  5. 受用一生的高效 PyCharm 使用技巧

    受用一生的高效 PyCharm 使用技巧(一) 受用一生的高效 PyCharm 使用技巧(二) 受用一生的高效 PyCharm 使用技巧(三) 受用一生的高效 PyCharm 使用技巧(四) 受用一生 ...

  6. 受用一生的高效 PyCharm 使用技巧(三)

    大家好,这是本系列 PyCharm 的高效使用技巧的第三篇.按照惯例,本次还是分享 5 个. 从前两篇的阅读量.赞赏数和在看数来看,大家对这个系列给予了肯定和期待,我也尽量不辜负大家,尽我所能写一些对 ...

  7. 受用一生的高效 PyCharm 使用技巧(二)pycharm 指定参数运行文件

    https://mp.weixin.qq.com/s/Ii0-qHUXayTPb-K-17hmQQ 在介绍技巧之前,有些话想声明一下,这个系列的一些小技巧,对于一些重试用户来说可能是小 case,如果 ...

  8. 受用一生的高效PyCharm使用技巧(二)

    本文转载自公众号Python编程时光(ID: Python-Time) 今天又来给大家推荐一些我自己的用的小技巧,大家择需所取即可.如果你还没看过,可以下面的传送门,直接访达:受用一生的高效 PyCh ...

  9. 受用一生的高效 PyCharm 使用技巧(五)

    大家好,这个系列到今天已经是第五篇了,按照惯例,本次还是分享 5 个. 如果你还未看过前四篇,可以点此进行查看. 受用一生的高效PyCharm使用技巧受用一生的高效PyCharm使用技巧(二)受用一生 ...

最新文章

  1. 字节跳动一面:i++ 是线程安全的吗?
  2. DELL备份恢复系统的小工具 Dell DataSafe Local Backup
  3. yii blog页面不能正确显示js,css文件的原因分析
  4. Android应用插件式开发解决方法[转]
  5. SAP 电商云 Spartacus UI 路由事件监控
  6. python调用ctypes中windll中的方法超时处理_python中使用ctypes调用MinGW生成的动态链接库(dll)...
  7. maven打包不用eclipse插件
  8. C#实现软件授权,限定MAC运行(软件license管理,简单软件注册机制)
  9. EVCache缓存在 Spring Boot中的实战
  10. access orcad 数据库_OrCAD Capture CIS使用MySQL数据库
  11. Python比较文件不同
  12. SQL语句 操作实例
  13. 《码出高效》学习:TreeMap与红黑树
  14. 华为什么时候能升android10,华为手机什么时候升级安卓Q 华为首批适配Android10机型列表...
  15. html form背景图片设置,input 提交表单按钮 背景图片的完美设置
  16. 华为服务器查询IPMI地址
  17. 自然语言期末复习笔记—Morphological Analysis
  18. 又一篇!天昊生物微生物16S扩增子绝对定量测序技术再发好文
  19. 墨天轮数据库在线实训平台发布,这份操作指南助你快速上手
  20. rscp胎位图_【胎位检查解读】胎位检查什么时间最好_什么时候做胎位检查 - 妈妈网百科...

热门文章

  1. 2022-2028年中国离心机行业市场研究及前瞻分析报告
  2. leetcode 438. Find All Anagrams in a String 滑动窗口法
  3. 使用UEFI模式安装win10中的格式化磁盘问题
  4. 路由器远程登陆配置:01一个人登陆多台设备
  5. 配置动态路由协议OSPF
  6. LeetCode简单题之将所有数字用字符替换
  7. LLVM一些编程语法语义特性
  8. Compiler编译过程
  9. 人工智能训练云燧T10
  10. CodeGen用户定义的扩展令牌