PyCharm 应该是最常用的 Python 编辑器之一了,今天整理了一份 PyCharm 快捷键大全,包含了 Mac 和 Windows 版本,建议收藏备用。
Mac 版快捷键大全
符号说明
- ⌘ Command
- ⇧ Shift
- ⌥ Option
- ⌃ Control
- ↩︎ Return/Enter
- ⌫ Delete
- ⌦ 向前删除键(Fn+Delete)
- ↑ 上箭头
- ↓ 下箭头
- ← 左箭头
- → 右箭头
- ⇞ Page Up(Fn+↑)
- ⇟ Page Down(Fn+↓)
- Home Fn + ←
- End Fn + →
- ⇥ 右制表符(Tab键)
- ⇤ 左制表符(Shift+Tab)
- ⎋ Escape (Esc)
编辑
- ⌃Space 基本的代码补全(补全任何类、方法、变量)
- ⌃⇧Space 智能代码补全(过滤器方法列表和变量的预期类型)
- ⌘⇧↩ 自动结束代码,行末自动添加分号
- ⌘P 显示方法的参数信息
- ⌃J Mid. button click 快速查看文档
- ⇧F1 查看外部文档(在某些代码上会触发打开浏览器显示相关文档)
- ⌘+ 鼠标放在代码上 显示代码简要信息
- ⌘F1 在错误或警告处显示具体描述信息
- ⌘N, ⌃↩, ⌃N 生成代码(getter、setter、构造函数、hashCode/equals,toString)
- ⌃O 覆盖方法(重写父类方法)
- ⌃I 实现方法(实现接口中的方法)
- ⌘⌥T 包围代码(使用if..else, try..catch, for, synchronized等包围选中的代码)
- ⌘/ 注释/取消注释与行注释
- ⌘⌥/ 注释/取消注释与块注释
- ⌥↑ 连续选中代码块
- ⌥↓ 减少当前选中的代码块
- ⌃⇧Q 显示上下文信息
- ⌥↩ 显示意向动作和快速修复代码
- ⌘⌥L 格式化代码
- ⌃⌥O 优化import
- ⌃⌥I 自动缩进线
- ⇥ / ⇧⇥ 缩进代码 / 反缩进代码
- ⌘X 剪切当前行或选定的块到剪贴板
- ⌘C 复制当前行或选定的块到剪贴板
- ⌘V 从剪贴板粘贴
- ⌘⇧V 从最近的缓冲区粘贴
- ⌘D 复制当前行或选定的块
- ⌘⌫ 删除当前行或选定的块的行
- ⌃⇧J 智能的将代码拼接成一行
- ⌘↩ 智能的拆分拼接的行
- ⇧↩ 开始新的一行
- ⌘⇧U 大小写切换
- ⌘⇧] / ⌘⇧[ 选择直到代码块结束/开始
- ⌥⌦ 删除到单词的末尾(⌦键为Fn+Delete)
- ⌥⌫ 删除到单词的开头
- ⌘+ / ⌘- 展开/ 折叠代码块
- ⌘⇧+ 展开所以代码块
- ⌘⇧- 折叠所有代码块
- ⌘W 关闭活动的编辑器选项卡
查询/替换
- Double ⇧ 查询任何东西
- ⌘F 文件内查找
- ⌘G 查找模式下,向下查找
- ⌘⇧G 查找模式下,向上查找
- ⌘R 文件内替换
- ⌘⇧F 全局查找(根据路径)
- ⌘⇧R 全局替换(根据路径)
- ⌥F7 / ⌘F7 在文件中查找用法 / 在类中查找用法
- ⌘⇧F7 在文件中突出显示的用法
- ⌘⌥F7 显示用法
- ⌘⇧S 查询结构(Ultimate Edition 版专用,需要在Keymap中设置)
- ⌘⇧M 替换结构(Ultimate Edition 版专用,需要在Keymap中设置)
编译/运行
- ⌘F9 编译Project
- ⌘⇧F9 编译选择的文件、包或模块
- ⌃⌥R 弹出 Run 的可选择菜单
- ⌃⌥D 弹出 Debug 的可选择菜单
- ⌃R 运行
- ⌃D 调试
- ⌃⇧R, ⌃⇧D 从编辑器运行上下文环境配置
调试
- F8 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
- F7 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
- ⇧F7 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法
- ⇧F8 跳出
- ⌥F9 运行到光标处,如果光标前有其他断点会进入到该断点
- ⌥F8 计算表达式(可以更改变量值使其生效)
- ⌘⌥R 恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上
- ⌘F8 切换断点(若光标当前行有断点则取消断点,没有则加上断点)
- ⌘⇧F8 查看断点信息
导航
- ⌘O 查找类文件
- ⌘⇧O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
- ⌘⌥O 前往指定的变量 / 方法
- ⌃← / ⌃→ 左右切换打开的编辑tab页
- F12 返回到前一个工具窗口
- ⎋ 从工具窗口进入代码文件窗口
- ⇧⎋ 隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口
- ⌘⇧F4 关闭活动run/messages/find/… tab
- ⌘L 在当前文件跳转到某一行的指定处
- ⌘E 显示最近打开的文件记录列表
- ⌘⌥← / ⌘⌥→ 退回 / 前进到上一个操作的地方
- ⌘⇧⌫ 跳转到最后一个编辑的地方
- ⌥F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)
- ⌘B / ⌘ 鼠标点击 进入光标所在的方法/变量的接口或是定义处
- ⌘⌥B 跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口
- ⌥ Space, ⌘Y 快速打开光标所在方法、类的定义
- ⌃⇧B 跳转到类型声明处
- ⌘U 前往当前光标所在方法的父类的方法 / 接口定义
- ⌃↓ / ⌃↑ 当前光标跳转到当前文件的前一个/后一个方法名位置
- ⌘] / ⌘[ 移动光标到当前所在代码的花括号开始/结束位置
- ⌘F12 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)
- ⌃H 显示当前类的层次结构
- ⌘⇧H 显示方法层次结构
- ⌃⌥H 显示调用层次结构
- F2 / ⇧F2 跳转到下一个/上一个突出错误或警告的位置
- F4 / ⌘↓ 编辑/查看代码源
- ⌥ Home 显示到当前文件的导航条
- F3 选中文件/文件夹/代码行,添加/取消书签
- ⌥F3 选中文件/文件夹/代码行,使用助记符添加/取消书签
- ⌃0...⌃9 定位到对应数值的书签位置
- ⌘F3 显示所有书签
重构
- F5 复制文件到指定目录
- F6 移动文件到指定目录
- ⌘⌫ 在文件上为安全删除文件,弹出确认框
- ⇧F6 重命名文件
- ⌘F6 更改签名
- ⌘⌥N 一致性
- ⌘⌥M 将选中的代码提取为方法
- ⌘⌥V 提取变量
- ⌘⌥F 提取字段
- ⌘⌥C 提取常量
- ⌘⌥P 提取参数
版本控制
- ⌘K 提交代码到版本控制器
- ⌘T 从版本控制器更新代码
- ⌥⇧C 查看最近的变更记录
- ⌃C 快速弹出版本控制器操作面板
模板
- ⌘⌥J 弹出模板选择窗口,将选定的代码使用动态模板包住
- ⌘J 插入自定义动态代码模板
其他
- ⌘1...⌘9 打开相应编号的工具窗口
- ⌘S 保存所有
- ⌘⌥Y 同步、刷新
- ⌃⌘F 切换全屏模式
- ⌘⇧F12 切换最大化编辑器
- ⌥⇧F 添加到收藏夹
- ⌥⇧I 检查当前文件与当前的配置文件
- `§⌃, ⌃“ 快速切换当前的scheme(切换主题、代码样式等)
- ⌘, 打开IDEA系统设置
- ⌘; 打开项目结构对话框
- ⇧⌘A 查找动作(可设置相关选项)
- ⌃⇥ 编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上delete,则是关闭对应选中的窗口)
- ⌘⇧8 竖编辑模式
- ⌃⌘F 切换全屏模式
Windows 版快捷键大全
编辑
- Ctrl + Space 基本的代码完成(类、方法、属性)
- Ctrl + Alt + Space 快速导入任意类
- Ctrl + Shift + Enter 语句完成
- Ctrl + P 参数信息(在方法中调用参数)
- Ctrl + Q 快速查看文档
- F1 外部文档
- Shift + F1 外部文档,进入web文档主页
- Ctrl + Shift + Z --> Redo 重做
- 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 + shift + Numpad+/- 展开/折叠所有代码块
- Ctrl + F4 关闭运行的选项卡
查找/替换
- F3 下一个
- Shift + F3 前一个
- Ctrl + R 替换
- Ctrl + Shift + F 或者连续2次敲击shift 全局查找{可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的}
- Ctrl + Shift + R 全局替换
- Alt + F7/Ctrl + F7 文件中查询用法
- Ctrl + Shift + F7 文件中用法高亮显示
- Ctrl + Alt + F7 显示用法
运行
- Alt + Shift + F10 运行模式配置
- Alt + Shift + F9 调试模式配置
- Shift + F10 运行
- Shift + F9 调试
- Ctrl + Shift + F10 运行编辑器配置
- Ctrl + Alt + R 运行.py任务
调试
- F8 跳过
- F7 进入
- Shift + F8 退出
- Alt + F9 运行游标
- Alt + F8 验证表达式
- Ctrl + Alt + F8 快速验证表达式
- F9 恢复程序
- Ctrl + F8 断点开关
- Ctrl + Shift + F8 查看断点
导航
- 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 书签助记开关
- Ctrl + #[0-9] 跳转到标识的书签
- Shift + F11 显示书签
重构
- 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 提取参数
版本控制
- Ctrl + K 提交项目
- Ctrl + T 更新项目
- Alt + Shift + C 查看最近的变化
- Alt + BackQuote(’)VCS 快速弹出
模版
- Ctrl + Alt + J 当前行使用模版
- Ctrl +J 插入模版
其他
- Alt + #[0-9] 打开相应的工具窗口
- Ctrl + Alt + Y 同步
- Ctrl + Shift + F12 最大化编辑开关
- Alt + Shift + F 添加到最喜欢
- Alt + Shift + I 根据配置检查当前文件
- Ctrl + BackQuote(’) 快速切换当前计划
- Ctrl + Alt + S 打开设置页
- Ctrl + Shift + A 查找编辑器里所有的动作
- Ctrl + Tab 在窗口间进行切换
推荐阅读
Python 入门必备知识
100 个 Python 小例子
怎么自学python,大概要多久?
哪些 Python 库让你相见恨晚?
Numpy 闯关 100 题,你能闯几关?
Pandas 闯关 100 题,你能闯几关?
你们都用Python实现了哪些办公自动化?