介绍一些 Pycharm 中大幅度提高生产力的快捷键, 不看后悔一辈子! (逃)
大部分的快捷键在同系列的 IDE(JetBrains 全家桶)上应该都是能通用的
友情提示: 点击图片, 可显示大图~
声明: 因为这些快捷键都是可以自定义的, 而且在不同的操作系统里也不同, 所以我每个都给出了操作的标题, 大家可以在设置里查找对应的快捷键:
最新基于 Pycharm 2017.02
快速搜索
1. Find in Path...
Ctrl+Shift+F/Ctrl+Shift+R
| ⇧⌘F/⇧⌘R
:
在整个项目中 或 指定目录里 进行 全局搜索 / 替换:
2. Find Action by Name
Ctrl+Shift+A
| ⇧⌘A
: text --> 执行一些 action(git pull/commit 等等等等), 潜力无限, 有待开发.
3. Search Everywhere
Shift(Double-press)
: 双击 shift, 我每天使用频率很高的一个快捷键, 可以按最近使用过的 文件名, 类名, 方法名等 去搜索定位!
最棒的是它会记住你的搜索历史, 并将最常用的显示在最上边.
4. Main menu | Navigate | File...
Ctrl+N
| ⌘O
: 查找类 ClassCtrl+Shift+Alt+N
| ⌥⌘O
: 查找所有 Symbol(不知道如何解释, 包括变量, 表名, 等等)Ctrl+Shift+N
| ⇧⌘O
: 查找文件或目录 (比双击 shift 快很多)
但这个搜索文件有个很尴尬的地方, 模糊搜索的时候一定要带斜杠来分割文件夹, 我发邮件给了客服, 竟然刚刚实现这个功能, 下个版本就有咯, cheers~
代码自动化
1. Declaration
Alt+Enter
: 自动 import, 还会做自动优化, 妈妈再也不用担心依赖关系啦
2. Code | Insert Live Template....
Ctrl+Alt+Shift+J
| ⌘J
: 插入一段提前配置好的 代码模板!
e.g. import ipdb; ipdb.set_trace(context=20)
...
https://www.jetbrains.com/help/pycharm/creating-code-constructs-by-live-templates.html
导航
1. Other | Switcher
Ctrl+Tab
: 和 chrome 一样的切换标签
2. Main menu | Navigate | Back/Forward
Alt + Left|Right
: 移动光标 到上一次编辑或者返回移动之前的位置.
在错综复杂的代码中更为重要, 再也不担心迷路了咯.
快速编辑
1. Delete Line
Ctrl+x
: 不用选择, 直接 删除整行 代码
2. Duplicate Line or Selection
Ctrl+shift+d
: 直接 重复一行 或重复生成选中的内容
3. Code/Folding/Expand (All)|Collapse(All)
Ctrl(shift) + +/-
: 折叠一个方法的代码或整个文件的代码.
我一般喜欢, 先折叠整个文件的代码, 然后再打开一个类去看它的结构.
4. Move Line Up|Down
Alt + Up/Down
: 可以上下移动整行或整块 (e.g. 一个 if 的 block) 代码
5. Editor Actions | Unindent Line or Selection:
Shift + Tab
: 对一行或多行 (选中内容) 的逆向缩进!
同时编辑多处:
1. Add or Remove Caret
Alt + 鼠标
or Shift + Crtl + Alt + 鼠标
: 选择多处进行同时编辑, 要是能像 sublime 那样 alt+enter 直接选中所有的查找结果就好了(已解决, 见下一条).
找到解决办法了!
Pycharm 中的快捷键 Select All Occurrences 就等同于 sublime 里的全选所有符合搜索的结果(ctrl+ 回车
)!
2. 正则搜索的妙用
Perl 中 $0 就代表全部匹配(本身), 所以就能实现同时替换所有搜索结果, 和多处同时编辑异曲同工:
(见下图)
按Replace all之后:
其他奇技淫巧:
Annotate
查看当前文件每一行代码是谁是哪个 commit 贡献的(gitbub/gitlab 上的 blame view, 这个名字好形象)
gist
有一天同事和我炫耀它写了个 vim 插件,自动生成 github gist. 然后搜了一下,才发现在 pycharm 中,自身 (不用装插件) 就支持生成 gist:
Scratch files
有时候可能仅仅只想打打草稿,写一些临时的代码做实验,但新起一个项目又觉得太麻烦。jupyter 是个很不错的选择,但 Pycharm 有个对应的解决方案叫做 Scratch files. 配合 gist 使用,简直不要更香。
(持续更新中...)
如果你有什么更好的华丽操作, 记得给我留言哦~~