..

PyCharm 收藏多年快捷键分享 WOW

介绍一些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: 查找类Class
Ctrl+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 使用,简直不要更香。

(持续更新中…)
如果你有什么更好的华丽操作, 记得给我留言哦~~