场景:开源社区提交代码每个人每一个MR只有两个commits,一个是merge前的,一个是merge时候的。因为他们不过是把自己在同一个PR上面提交的commits全部压缩成了一个而已。这个在git上面叫squash,通常他们用的是rebase。
另外一种方法同样可以压缩commits,而且比squash更安全,比rebase更简单。
代码编辑
- 代码跳转: Ctrl + 左键 或者 Ctrl + B,可以跳转到函数或者变量的声明位置
- 调用位置: Alt + F7,查找调用者
- 自动补全: 最好是修改一下响应时间,Settings->Editors->General->Code Completing: Autopopup in 0.
- 打开文件: Ctrl + Shift + N
- 打开类: Ctrl + N
- 打开函数: Ctrl + F12
- “超级”打开: 双击 shift,可以 search anywhere.
- 复制整行: Ctrl + D
- 删除整行: Ctrl + Y
- 折叠当前块: Ctrl + “-”,折叠当前块以及子块: Ctrl + Alt + “-”,折叠全部块: Ctrl + Shift + “-”
- 展开, 把折叠的快捷键换成”+”
- 选择: Ctrl + W,会从小到大逐渐扩大。比如按一次,选中word,按两次,选择表达式, 三次, 整个函数
重构
- 改名: Shift + F6,修改函数名,变量名,文件名,同时修改所有引用的位置.
- 移动文件: F6, 并修改文件的引用位置, 包括 html 和 js文件
- 抽取函数: Ctrl + Alt + M,整块代码抽取成函数
- 抽取变量: Ctrl + Alt + V,当前选中抽取为变量
- 移动整块代码: Ctrl + Shift + ↑↓
- 包裹: Ctrl + Alt + T,外层包裹,比如 if、try catch等