IDEA常用快捷功能

IDEA常用快捷功能

五月 20, 2020

前言

此处整理了个人较为高频使用的IDEA编辑功能,根据IDEA中主菜单分类。当忘记快捷键时可以去相应菜单下寻找。调整快捷键在File->Settings->Keymap->Main menu下。

Edit

  1. Undo
  2. Redo
  3. Cut
  4. Copy
  5. Paste
  6. Find
  7. Replace
  8. Find next / Move to next occurrence
    搜索时便捷跳转至下一处
  9. Find previous / Move to previous occurrence
  10. Find in path
  11. Replace in path
  12. Find usage
    查找所有使用当前代码的上一级方法,并以单独对话框显示
  13. Select all
  14. Extend selection
    扩展选择,便捷选中一个变量->一个表达式->一个方法。非常常用
  15. Shrink selection
  16. Complete current statement
    自动补完当前表达式,如括号、分号,如果无需补全则会换到下一行。建议设为比较好按的快捷键比如Shift-Enter,使用习惯之后可以偷不少懒
  17. Join lines
    将选中的多列合并到一行
  18. Duplicate line or selection
  19. Indent selection
  20. Toggle case
  21. Toggle camel / snake case
    驼峰、下划线命名法切换

Navigate

  1. Class
    按类名查找。在熟悉的Java项目中最为常用的跳转功能
  2. File
  3. Symbol
    按语法符号搜索,如方法名、变量名
  4. Line
    输入行号在当前文件内跳转。查找报错时常用
  5. Back
    返回上一代码跳转处。阅读代码不断Ctrl+左键点击跳转阅读代码时常用,用于返回上一级
  6. Forward
  7. Declaration or usages
    在方法、变量等调用处使用可以查找定义,在定义处使用可以查找调用位置
  8. Implementaion
    查看接口、方法的实现
  9. Super method
    查看方法的超类方法
  10. Test
    查看当前类的测试类
  11. Call hierarchy
    分析当前方法的调用链(Find usage只有一层,这个可以溯源到顶层)。可以用于复杂底层方法的分析
  12. Next highlighted error
  13. Previous highlighted error
  14. Next change
    跳转到当前文件下一个代码修改处
  15. Previous change
  16. Next method
    跳转到下一个方法的方法名处
  17. Previous method

Code

  1. Override method
    选择并生成当前类中可以重写的方法
  2. Implement method
    选择并生成当前类中需要实现的接口/抽象方法。对类进行抽象重构时常用
  3. Generate
    自动生成构造方法、Getter等
  4. Surround with
    包裹选中的代码,生成try-catch或if等
  5. Folding
    折叠代码块
  6. Comment with line comment
  7. Reformat code
  8. Optimize import
  9. Auto-indent code
    以上三件打包使用,格式化代码,非常高频。建议养成时不时敲一下的习惯
  10. Move statement
    移动代码块,如if语句,整个方法
  11. Move line
    移动一行代码

Refactor

  1. Rename
    改名时必用,以保证重构不漏
  2. Change signature
    改变方法、字段的签名,如参数、返回值。重构时添加返回值或调整参数很方便
  3. Type migration
    改变字段类型
  4. Safe delete
    尝试安全删除。但一般可以安全删除的字段都是灰色的(无处使用),可以直接通过万用重构Show Context Actions进行Safe-delete
  5. Introduce variable
    将当前选中的表达式抽取成一个变量。非常好用,写代码时不再需要写变量定义了,直接写方法调用/表达式,写完后直接抽取成变量,省去了写变量类型定义的功夫
  6. Introduce constant
    同上,抽取成类常量
  7. Introduce field
    同上,抽取成类成员变量
  8. Introduce parameter
    同上,抽取成方法入参
  9. Extract method
    将当前选中的代码块抽取成一个方法,当当前逻辑包含多个返回值时会抽取失败
  10. Inline
    将代码声明和调用合并
  11. Pull members up
    将子类的变量、方法抽取到父类

神器

  1. Show Context Actions
    万用重构按键。当代码变色(出现warning)时在代码上使用一般都会提供自动的修改方案