受用一生的 PyCharm 技巧大全(四)

16. 快速定位到错误行

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

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

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

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

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

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

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

17. 快速查看最近的修改

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

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

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

18. 静态代码分析检查

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

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

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

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

如果你的编码能力还没有很成熟,代码中可以有许许多多的隐藏bug,由于 Python 是运行到的时候才解释,导致一次运行只能发现一个错误,要发现100个bug,要运行100次,数字有点夸大,其实就是想说,如果这么多的错误都能通过一次静态检查发现就立马修改,开发调试的效率就可以有所提升。当然啦,并不是说所有的错误静态分析都能提前发现,这点希望你不要误解。学习过程中有不懂的可以加入我们的学习交流秋秋圈784中间758后面214,与你分享Python企业当下人才需求及怎么从零基础学习Python,和学习什么内容。相关学习视频资料、开发工具都有分享

做为 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。学习过程中有不懂的可以加入我们的学习交流秋秋圈784中间758后面214,与你分享Python企业当下人才需求及怎么从零基础学习Python,和学习什么内容。相关学习视频资料、开发工具都有分享

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

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

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

原文地址:https://blog.51cto.com/14445003/2419841

时间: 2024-08-02 20:01:07

受用一生的 PyCharm 技巧大全(四)的相关文章

受用一生的 PyCharm 技巧大全(一)

大家在学习Python的时候,可以从 PyCharm 入手,写一些可以明显改善开发效率的使用技巧,一旦学会,受用一生.以下代码演示是在 Mac 环境下,Windows 也类似,Command 键 相当于 Windows 上的 Control 键. 1. 代码排版,自动PEP8 pep8 是Python 语言的一个代码编写规范.如若你是新手,目前只想快速掌握基础,而不想过多去注重代码的的编写风格(虽然这很重要),那你可以尝试一下这个工具 - autopep8 首先在全局环境中(不要在虚拟环境中安装

受用一生的 PyCharm 技巧大全(三)

11. 一键进行代码性能分析 在 Python 中有许多模块可以帮助你分析并找出你的项目中哪里出现了性能问题. 比如,常用的模块有 cProfile,在某些框架中,也内置了中间件帮助你进行性能分析,比如 Django ,WSGI. 做为Python 的第一 IDE, PyCharm 本身就支持了这项功能.而且使用非常方便,小白. 假设现在要分析如下这段代码的性能损耗情况,找出到底哪个函数耗时最多 import time def fun1(): time.sleep(1) def fun2():

受用一生的 PyCharm 技巧大全(二)

这个系列的一些小技巧,对于一些重试用户来说可能是小 case,如果你觉得简单,直接略过即可,不是所有人都像你一样,是个天才,在你之外,仍然有许多刚入门的小伙伴. 6. 神一样的调试技巧 假如我们在一个爬虫的项目中,会使用到 正则表达式 来匹配我们想要抓取的内容.正则这种东西,有几个人能够一步到位的呢,通常都需要经过很多次的调试才能按预期匹配.在我们改了一次正则后,运行了下,需要重新向网站抓取请求,才能发现没有匹配上,然后又改了一版,再次运行同样需要发起请求,结果还是发现还是没有匹配上,往往复复,

受用一生的 PyCharm 技巧大全(五)

大家好,今天是周五晚.刚好有时间来给大家更新 PyCharm 的使用技巧. 这个系列到今天已经是第五篇了,按照惯例,本次还是分享 5 个. 21. 随处折叠,实现代码自由 PyCharm 里代码块的折叠功能,相当的显眼,在代码编辑框的左侧,你可以发现有 + 也有 -,很容易理解 + 代表代码块被折叠了可以点此展开,而 - 代表这个代码块处于展开状态可以点此折叠. 如果你和我一样是个键盘党,你可以使用快捷(Mac:按住Command键,再按+或者- )进行快速反折叠/折叠. 代码块的折叠和反折叠,

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

PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定会给我们的开发效率带来质的提升.今天我就来写一写我在平时开发中一直在用的,可以明显改善开发效率的使用技巧,一旦学会,受用一生. 01. 代码排版,自动PEP8 pep8 是Python 语言的一个代码编写规范.如若你是新手,目前只想快速掌握基础,而不想过多去注重代码的的编写风格(虽然这很重要),那你可以尝试一下这个工具

Photoshop技能167个经典的Photoshop技巧大全

Photoshop技能167个经典的Photoshop技巧大全 学PS基础:Photoshop 技能167个­ 经典的Photoshop技巧大全,如果你是初级阶段的水平,熟读此文并掌握,马上进阶为中级水平.绝对不是广告噢. ­ 1. 快速打开文件­ 双击Photoshop的背景空白处(默认为灰色显示区域)即可打开选择文件的浏览窗口.­ 2. 随意更换画布颜色­ 选择油漆桶工具并按住Shift点击画布边缘,即可设置画布底色为当前选择的前景色.如果要还原到默认的颜色,设置前景色为25%灰度 (R19

[转]基于Protel DXP软件的PCB高级编辑技巧大全

来源:基于Protel DXP软件的PCB高级编辑技巧大全 一.放置坐标指示 放置坐标指示可以显示出PCB板上任何一点的坐标位置. 启用放置坐标的方法如下:从主菜单中执行命令 Place/Coordinate ,也可以用元件放置工具栏中的 (Place Coordinate)图标按钮. 进入放置坐标的状态后,鼠标将变成十字光标状,将鼠标移动到合适的位置,单击鼠标确定放置,如图1所示. 图 1  坐标指示放置 坐标指示属性设置可以通过以下方法之一: ·在用鼠标放置坐标时按 Tab 键,将弹出 Co

emmet的html和css使用技巧大全

emmet html使用技巧大全 ! 初始化 >:后代+:兄弟^:向上*:乘法$:数字():分组#:id命名.:类命名 一.id,类命名p#infop.infoa[href=#] 二.后代:div#wrap>ul>li*10 三.兄弟:div#wrap>p.one + span.two 四.向上提升一行:^ul>li*10^ol>li*6 五.数字缩写:$ul>li.item$*3 六.多个数量:*ul>li.item$*3 七.分组:()(div.foo&

Mac预览怎么用 Mac预览功能实用技巧大全

Mac预览怎么用?有很多的用户以为Mac自带的预览功能只具有简单的图片浏览功能,其实不然,其实"预览"是一款强大的看图.修图.改图软件,也同时是一款多功能的 PDF 阅读与编辑工具,接下来Pc6苹果小编给大家详细介绍一下Mac预览功能实用技巧. 目前的 Mac 预览程式可以支持 TIFF. PNG. JPEG. GIF. BMP. PDF 等主要文件格式的浏览与编辑,而单纯预览上也可以支持像是 Photoshop 等专业图像处理软件. Office 等专业文书处理软件所产生的特殊文件格