pycharm常用快捷键收藏
pycharm是我们日常开发python
必不可少的ide
,同类型的ide
也都可以开发,用过之后还是觉得pycharm
最好用,下面列举下该开发工具一些常用的快捷方式。
好用的快捷键
pycharm相关的快捷键太多了,但是大部分都是使用频率极低甚至不会使用的,这里列几个本人经常会用或者觉得比较好用的快捷键列出来。
自动导入解决依赖:Alt+Enter
当你使用某个包的某个函数,一般都是需要先导入该包,才能使用的。
有了 PyCharm 后,有多省心呢,它能够根据你的函数,自动查找该函数可能属于的包,经过你的确认后,便能自动导入。
查找的快捷键是 Alt + ↩
最终的使用效果如下:
快速开启新的一行
当你的光标不是处在一行代码的结尾,此时你想换行,一般都是先切换到行尾,再按回车。
其实这两个操作,都可以合并成一个快捷键来完成
那就是:Shift + ↩
,无论你的光标在哪里,都会另起一行,效果如下:
变量名一键实现大小写的转换
常量通常都是以大写的形式存在的,若你不小心写成了小写,也可以用 Ctrl + Shift + U 这组快捷键进行转换。
效果如下:
自动纠正与自动补全
快捷键:Ctrl + Shift + ↩
,自动结束代码,行末自动添加分号
快捷键:Ctrl + Shift + J, 智能的将代码拼接成一行
显示上下文信息
如果一个类的定义写得非常的长,就像下面这样子。
你处在这样一个位置,对框架代码不熟悉的人,根本不知道自己目前处在哪个类中。
PyCharm 提供了一个快捷键: Alt + Q,用来显示上下文信息。
同样如果方法体比较长,不知道在哪个方法内,也可以通过同样的方法看到现在处于哪个函数内
在子类方法中快速进入父类方法
- 当前光标处于子类的 reset 方法
- 按下快捷键
Ctrl + U
,就会进入父类的 reset 方法
重写父类方法的正确姿势
当你想要在子类里,复写父类的一个方法时。
通常都是人工定义一个函数,然后再写 super 表达式。
如果你使用了 PyCharm 还要如此笨拙的方式,那真是埋没了这么好的软件了。
在 PyCharm 中正确复写父类方法的姿势 是使用快捷键:Ctrl + O (注意是字母 O,不是数字 0)。
效果如下:
代码封装,一步到位
当一个主函数的代码行数越来越多时,代码的可读性会变得越来越差。通常的做法,是按照功能将代码进行封装成多个函数。
这个过程无非是
- 在合适的位置定义一个新的函数
- 将原有的代码拷贝至该函数中
- 并将原的代码替换成该函数的调用
倘若你的重构的工作量不是很大,完全可以手工来完成这些事。
但当你是在重构一个项目代码时,你可能需要一个更高效的封装技巧。
在 PyCharm 中,提供了多种形式的代码重构快捷方法,大家比较常见的可能是重构变量名:shift+F6,而今天要给大家介绍的是方法的重构,也即代码快速封装的技巧。
假如,我现在有如下一段代码,红框标出的代码放在主函数中,有些不太合适,况且这段代码不能让人一眼就看出它是在做什么事情。如何将其进行封装,对我们理清整个主程序的逻辑会有帮助
选中你要封装的代码,然后按住 Ctrl
+Alt
+M
后,会跳出如下界面,根据自己的需要,修改函数名,选择参数和返回值
一切就绪点击 OK
,PyCharm 会自动在合适的位置为你定义一个函数名,并将你选中的代码放到里面,其中参数名和返回值也都是按照你的要求,效果如下:
跨级别跳转代码块
在 PyCharm 中如何实现跨级别代码块(从下一级跳到上一级,不可逆向)的跳转呢?
只要记住这一组快捷键就可以:
Ctrl + [
:跳到上一级代码块开始的地方Ctrl + ]
:跳到上一级代码块结束的地方
缩进和反缩进
缩进的快捷键是:tab
反缩进的快捷键是:Shift + tab
快速阅读源码
在你使用一个模块的函数时,如果想查看这个函数的源码进入函数声明的位置,就可以看到源码了。
对应的快捷键有如下四组:
Ctrl + B:Go to Declaration or Usages
F4:Jump to Source
Ctrl + Alt + B :Go to Implementation(s)
Ctrl + 鼠标左键
Ctrl + Shift + I
在当前页面弹出一个小窗口,直接显示 源代码,不用像上面一样跳转到另外一个页面。
快速重构,修改所有函数与变量
交接代码时,为了后期维护的方便,通常会花时间对其代码进行了大量的重构。
变量重命名
重构代码,免不了要对变量进行重命名。
用搜索全部替换为什么不行?
比如下面这段代码,只想改myfun 里的的test_name,而对于全局下的同名变量是不应该修改的。如果你全局替换,就会有误伤。
1 | test_name = 'wangbm' |
这时候可以使用 PyCharm 的 Refactor 功能,它会自动匹配作用域,既做到批量更改,也做到不误伤。
操作方法很简单,先选中你的变量,然后使用快捷键 Shift+F6
,就可以直接重命名了。
函数重命名
如果是对函数重命名,使用 Shift + F6 也是可以的,只不过要点很多下。
更合适的方法是使用 Ctrl + F6
,演示过程如下
选择执行:Execute Selection in Console
当你想写一段简单的测试代码时,或许你会这样子
- 使用 Python Shell 直接写。缺点是没有自动补全。
- 在 PyCharm 中新开一个文件。缺点是要新创建一个文件,完了后还要删除。
今天再给大家介绍一种新的方法,可以完全避开上面两种方式的缺点。
那就是 Execute Selection in Console
,可以说是 Run in Anywhere
.
只要在当前文件中,写好代码,然后光标选择后,右键点击 Execute Selection in Python Console
或者 使用快捷键 option + shift + E (windows 上是 alt + shift + E)。
接着 PyCharm 就会弹出一个 Python Console 窗口,然后运行你所选择的代码。
可以发现其中的一个亮点,就是使用这种方法,PyCharm 会自动帮我们处理好缩进(我们选择时,前面有缩进,可是在执行时,会自动去掉前面多余的缩进)
脱离鼠标的代码区域选择:Extend Selection
根据选中的区域的大小,可以分为:
- 选中单词
- 选中表达式
- 选中单行
- 选中代码块
- 选中函数
- 选中类
对于代码区域,通常都要借助鼠标才能完成,这里给你推荐一组快捷键,可以让脱离鼠标进行区域的选择:
- Ctrl + W):扩大选中的区域
- Ctrl + Shift + W:缩小选中的区域
演示的效果如下:
这种用法,适用于:
- 使用 mac 笔记本,不使用鼠标,只使用触控板的人群
- 想要选中一个上千行的类或函数,进行操作的人
程序结束,照样可以调试
假如我们在一个爬虫的项目中,会使用到 正则表达式 来匹配我们想要抓取的内容。正则这种东西,有几个人能够一步到位的呢,通常都需要经过很多次的调试才能按预期匹配。在我们改了一次正则后,运行了下,需要重新向网站抓取请求,才能发现没有匹配上,然后又改了一版,再次运行同样需要发起请求,结果还是发现还是没有匹配上,往往复复,正则不好的同学可能要进行几十次的尝试。
(上面这个例子可能不太贴切,毕竟是有很多种方法实现不用重新发请求,只是列举了一种很笨拙且低效的调试过程,你看看就好了)
而我们在这几十次的调试中,向同一网站发起请求都是没有意义的重复工作。如果在 Pycharm 中可以像 IPython Shell 和 Jupyter Notebook 那样,可以记住运行后所有的变量信息,可以在不需要重新运行项目或脚本,就可以通过执行命令表达式,来调整我们的代码,进行我们的正则调试。
答案当然是有。
假如我在调试如下几行简单的代码。在第 3 行处打了个断点。然后点击图示位置 Show Python Prompt
按钮。
就进入了 Python Shell
的界面,这个Shell 环境和我们当前运行的程序环境是打通的,变量之间可以互相访问,这下你可以轻松地进行调试了。
快速移动/拷贝文件:F6/F5
当你要把一个文件拖动到另外一个目录的时候,正常人的操作有两种:
1、直接拖拽过去(个人感觉这种才是最方便的)
2、先剪切,再粘贴
PyCharm 对于这种重构操作,有更方便的入口。
先选中文件,然后只要按住 F6 就会弹出一个 Move Module 的窗口,直接选目标目录就可以。
除了移动之外 ,拷贝也是可以的。快捷键变成了 F5
显示类继承关系图:Show Diagrams
在阅读一些比较庞大的项目时,如果类的继承关系比较复杂,会给我们阅读源码带来不小的阻碍。
面对这种情况,本篇的这个技巧就能派上用场了。
在你想查看继承关系的 类 中,右键选择 Diagrams
-> Show Diagram
就会新增一个窗口,使用 UML 为你展示该类的继承关系。
把文件设置为只读:Read-Only
如果担心代码因为被自己不小心修改到,可以把该文件设置为只读。
方法很简单,只要点击右下角的 小锁
锁上该文件就可以。
锁上后,想编辑时,就会弹出下面的窗口。
只要你点击上面的 OK ,就可以编辑了。
因为这个功能有限,只能作一个提醒,没办法作强制约束。
在文件管理器/Finder 中打开文件夹
使用快捷键:Alt + F1
一键预览模块的文档
Ctrl + 鼠标左键 ,可以实现函数跳转查看源码, 这几乎是每一个 PyCharmer 都会的一个惯用技巧。
这里再另外介绍两个类似的小技巧,快速 查看函数文档
和 预览源代码
。
在函数的开头处,使用三个引号 "
包含的内容,叫做函数文档 (DocString)。
在编写代码时,顺便写好函数的接口文档,是一个很好的编码习惯。它介绍了该函数的参数类型及说明,返回值类型及范例,写得好一点的还会写出 几个简单的 Example Usage 有助于理解使用。在这一点上,Flask 可以说做得相当好。这边随便截一个 Werkzeug 的例子。
假如我们在使用这个类的时候,忘记了这个用法,可以按住 Ctrl + Q,在当前页面就可以快速预览 LocalStack 的接口文档。
同样的,如果你对这个类或者函数的代码逻辑感兴趣,也可以使用快速预览的方式在当前页面展示源代码。快捷键是:Ctrl + shift + i 。效果如下
如果 PyCharm 检测到的同名函数有多个,可以点这里进行选择查看
这两个快捷键比起使用 Ctrl + 鼠标左键 跳进源代码来说,更加方便,,就像微信小程序一样,用完即焚,不会新产生一个标签页,也不需要来回跳转页面。
显示当前类的继承树:Type Hierarchy
第一种方法
使用快捷键 Ctrl + H
第二种方法
使用快捷键 Ctrl + O
显示当前方法的调用树:Method Hierarchy
按住快捷键 Ctrl + Alt + H
使用模板,快速捕获异常
当你想要对一个代码块进行异常捕获时,你是怎么做的呢?
先在上面写个 try,然后对代码块缩进,然后写 excep ..
这种方法,比较生硬,而且效率极差。
这里推荐一种方法,可以使用 try...except...
快速包围代码。
效果如下
- 先选中代码块
- 按住 Ctrl + Alt + T
- 选择
try/except
模板
爬虫必备,一键加引号
写爬虫的时候,为了方便,经常会从浏览器 F12 里拷贝对应请求的 headers 到我们的代码中。
但是从浏览器中拷贝的 headers 是没有加引号的,但是我们 Python 中 Headers 是要以字典形式传参数的,因此在从浏览器拷贝 Headers 后,都要手动加引号,非常的麻烦。
目前对于这个问题,还没有相关的插件,通用的解决方法是:使用正则表达式进行替换。
选中需要快速加引号的区域
按住Ctrl + R (windows 是 ctrl + r)填写正则匹配表达式
1
2第一行【查找】: (.*?):(.*)
第二行【替换】: '$1':'$2',勾选上
.*
这个选项,开启正则匹配点击替换全部:
Replace all
整体的操作过程,如下图
常用快捷键
快捷键 | 功能 |
---|---|
Ctrl + Q | 快速查看文档 |
Ctrl + F1 | 显示错误描述或警告信息 |
Ctrl + / | 行注释(可选中多行) |
Ctrl + Alt + L | 代码格式化 |
Ctrl + Alt + O | 自动导入 |
Ctrl + Alt + I | 自动缩进 |
Tab / Shift + Tab | 缩进、不缩进当前行(可选中多行) |
Ctrl+C/Ctrl+Insert | 复制当前行或选定的代码块到剪贴板 |
Ctrl + D | 复制选定的区域 |
Ctrl + Y | 删除当前行 |
Shift + Enter | 换行(不用鼠标操作了) |
Ctrl +J | 插入模版 |
Ctrl + Shift ++/- | 展开/折叠全部代码块 |
Ctrl + Numpad+ | 全部展开 |
Ctrl + Numpad- | 全部折叠 |
Ctrl + Delete | 删除到字符结束 |
Ctrl + BackSpace | 删除到字符开始 |
Ctrl + Shift + F7 | 将当前单词在整个文件中高亮,F3移动到下一个,Esc取消高亮。 |
Alt + up/down | 方法上移或下移动 |
Alt + Shift + up/down | 当前行上移或下移动 |
Ctrl + B/鼠标左键 | 转到方法定义处 |
Ctrl + W | 选中增加的代码块 |
Shift + F6 | 方法或变量重命名 |
Ctrl + E | 最近访问的文件 |
Esc | 从其他窗口回到编辑窗口 |
Shift + Esc | 隐藏当前窗口,焦点到编辑窗口 |
F12 | 回到先前的工具窗口 |
全部快捷键
1、编辑(Editing)
快捷键 | 功能 |
---|---|
Ctrl + Space | 基本的代码完成(类、方法、属性) |
Ctrl + Alt + Space | 快速导入任意类 |
Ctrl + Shift + Enter | 语句完成 |
Ctrl + P | 参数信息(在方法中调用参数) |
Ctrl + Q | 快速查看文档 |
Shift + F1 | 外部文档 |
Ctrl + 鼠标 | 简介 |
Ctrl + F1 | 显示错误描述或警告信息 |
Alt + Insert | 自动生成代码 |
Ctrl + O | 重新方法 |
Ctrl + Alt + T | 选中 |
Ctrl + / | 行注释 |
Ctrl + Shift + / | 块注释 |
Ctrl + W | 选中增加的代码块 |
Ctrl + Shift + W | 回到之前状态 |
Ctrl + Shift + ]/[ | 选定代码块结束、开始 |
Alt + Enter | 快速修正 |
Ctrl + Alt + L | 代码格式化 |
Ctrl + Alt + O | 自动导入 |
Ctrl + Alt + I | 自动缩进 |
Tab / Shift + Tab | 缩进、不缩进当前行 |
Ctrl+X/Shift+Delete | 剪切当前行或选定的代码块到剪贴板 |
Ctrl+C/Ctrl+Insert | 复制当前行或选定的代码块到剪贴板 |
Ctrl+V/Shift+Insert | 从剪贴板粘贴 |
Ctrl + Shift + V | 从最近的缓冲区粘贴 |
Ctrl + D | 复制选定的区域或行到后面或下一行 |
Ctrl + Y | 删除当前行 |
Ctrl + Shift + J | 添加智能线 |
Ctrl + Enter | 智能线切割 |
Shift + Enter | 下一行另起一行 |
Ctrl + Shift + U | 在选定的区域或代码块间切换 |
Ctrl + Delete | 删除到字符结束 |
Ctrl + BackSpace | 删除到字符开始 |
Ctrl + Numpad+/- | 展开折叠代码块 |
Ctrl + Numpad+ | 全部展开 |
Ctrl + Numpad- | 全部折叠 |
Ctrl + F4 | 关闭运行的选项卡 |
2、查找/替换(Search/Replace)
快捷键 | 功能 |
---|---|
F3 | 下一个 |
Shift + F3 | 前一个 |
Ctrl + R | 替换 |
Ctrl + Shift + F | 全局查找 |
Ctrl + Shift + R | 全局替换 |
3、运行(Running)
快捷键 | 功能 |
---|---|
Alt + Shift + F10 | 运行模式配置 |
Alt + Shift + F9 | 调试模式配置 |
Shift + F10 | 运行 |
Shift + F9 | 调试 |
Ctrl + Shift + F10 | 运行编辑器配置 |
Ctrl + Alt + R | 运行manage.py任务 |
4、调试(Debugging)
快捷键 | 功能 |
---|---|
F8 | 跳过 |
F7 | 进入 |
Shift + F8 | 退出 |
Alt + F9 | 运行游标 |
Alt + F8 | 验证表达式 |
Ctrl + Alt + F8 | 快速验证表达式 |
F9 | 恢复程序 |
Ctrl + F8 | 断点开关 |
Ctrl + Shift + F8 | 查看断点 |
5、导航(Navigation)
快捷键 | 功能 | |
---|---|---|
Ctrl + N | 跳转到类 | |
Ctrl + Shift + N | 跳转到符号 | |
Alt + Right/Left | 跳转到下一个、前一个编辑的选项卡 | |
F12 | 回到先前的工具窗口 | |
Esc | 从其他窗口回到编辑窗口 | |
Shift + Esc | 隐藏当前窗口,焦点到编辑窗口 | |
Ctrl + Shift + F4 | 关闭主动运行的选项卡 | |
Ctrl + G | 查看当前行号、字符号 | |
Ctrl + E | 最近访问的文件 | |
Ctrl+Alt+Left/Right | 后退、前进 | |
Ctrl+Shift+BackSpace | 导航到最近编辑区域 | |
Alt + F1 | 查找当前文件或标识 | |
Ctrl+B / Ctrl+Click | 跳转到声明 | |
Ctrl + Alt + B | 跳转到实现 | |
Ctrl + Shift + I | 查看快速定义 | |
Ctrl + Shift + B | 跳转到类型声明 | |
Ctrl + U | 跳转到父方法、父类 | |
Alt + up/down | 跳转到上一个、下一个方法 | |
Ctrl + ]/[ | 跳转到代码块结束、开始 | |
Ctrl + F12 | 弹出文件结构 | |
Ctrl + H | 类型层次结构 | |
Ctrl + Shift + H | 方法层次结构 | |
Ctrl + Alt + H | 调用层次结构 | |
F2 / Shift + F2 | 下一条、前一条高亮的错误 | |
F4 / Ctrl + Enter | 编辑资源、查看资源 | |
Alt + Home | 显示导航条F11书签开关 | |
Ctrl + Shift +F11 | 书签助记开关 | |
Shift + F11 | 显示书签 |
6、搜索相关(Usage Search)
快捷键 | 功能 |
---|---|
Alt + F7/Ctrl + F7 | 文件中查询用法 |
Ctrl + Shift + F7 | 文件中用法高亮显示 |
Ctrl + Alt + F7 | 显示用法 |
7、重构(Refactoring)
快捷键 | 功能 |
---|---|
F5 | 复制 |
F6 | 剪切 |
Alt + Delete | 安全删除 |
Shift + F6 | 方法或变量重命名 |
Ctrl + F6 | 更改签名 |
Ctrl + Alt + N | 内联 |
Ctrl + Alt + M | 提取方法 |
Ctrl + Alt + V | 提取属性 |
Ctrl + Alt + F | 提取字段 |
Ctrl + Alt + C | 提取常量 |
Ctrl + Alt + P | 提取参数 |
8、控制VCS/Local History
快捷键 | 功能 |
---|---|
Ctrl + K | 提交项目 |
Ctrl + T | 更新项目 |
Alt + Shift + C | 查看最近的变化 |
Ctrl + Alt + J | 当前行使用模版 |
9、模版(Live Templates)
快捷键 | 功能 |
---|---|
Ctrl + Alt + J | 当前行使用模版 |
Ctrl +J | 插入模版 |
10、基本(General)
快捷键 | 功能 |
---|---|
Ctrl + Alt + Y | 同步 |
Ctrl + Shift + F12 | 最大化编辑开关 |
Alt + Shift + F | 添加到最喜欢 |
Alt + Shift + I | 根据配置检查当前文件 |
Ctrl + Alt + S | 打开设置页 |
Ctrl + Shift + A | 查找编辑器里所有的动作 |
Ctrl + Tab | 在窗口间进行切换 |
文献参考来源:https://pycharm.iswbm.com/index.html