介绍一些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 使用,简直不要更香。
(持续更新中...)
如果你有什么更好的华丽操作, 记得给我留言哦~~