跳到主要内容

IntelliJ IDEA

一、快捷键

1.1 适应之后的快捷键

  1. 查找某个类的所有方法 Ctrl + O File Structure
  2. 删除行 Ctrl + D Delete Line
  3. 复制行 Ctrl + Shift + ↓ Duplicate Entire Lines
  4. 上移一行 Ctrl + ↑ Move Line Up
  5. 下移一行 Ctrl + ↓ Move Line Down
  6. 全局搜索 Ctrl + H Find in Files
  7. 查找文件 Ctrl + Shift + R Go to File
  8. 查找类 Ctrl + Shift + T Go to Class
  9. 查找方法或类的引用 Ctrl + G Find Usages
  10. 在当前问价中查找方法或类的引用 Ctrl + Shift + G Find Usages in File
  11. 关闭当前 tab 页 Ctrl + W Close Tab
  12. 前进 Ctrl + → Back
  13. 后退 Ctrl + ← Forward
  14. 撤销 Ctrl + Z Undo
  15. 取消撤销 Ctrl + Y Redo
  16. 查看某个类或方法的实现 Ctrl + T Go to Implementation(s)
  17. 查看某个类或接口的继承关系 Ctrl + Alt + H Type Hierarchy
  18. 调到指定行 Ctrl + L Go to Line
  19. 查找 Ctrl + F Find
  20. 替换 Ctrl + R Replace
  21. 添加 try-catch 等代码 Ctrl + Alt + T surround with
  22. 代码格式化 Ctrl + Alt + L reformat code
  23. 自动田添加包 Ctrl + Shift + O optimize imports
  24. 大小写转换 Ctrl + Shift + U Toggle Case
  25. 展开所有方法 Ctrl + Shift + = expand all
  26. 取消展开所有方法 Ctrl + Shift + - collapse all
  27. 重新构建项目 F9 Rebuild Project
  28. git 查看当前文件的记录 F1 show history
  29. 重命名 F2 Rename
  30. 翻译插件 F4 Translate
  31. 执行表达式 F3 Evaluate Expression
  32. 比较 git 的修改记录时,直接跳转到文件中 F12 jump to source
  33. GitHub Copilot 代码提示 Ctrl + I Show Completions

1.2 调试快捷键

  1. 进入方法 Step Into F5
  2. 步进 Step over F6
  3. 退出方法 Step Out F7
  4. 放过 Resume Program F8
  5. 强制步进 Forece Step Info Alt+Shift + F7
  6. 允许到光标 Run to cursor Ctrl + R

二、设置

2.1 导出快捷键设置

File - Manage IDE Settings - Export Settings

2.2 修改 pom.xml 之后,自动更新

2.3 代码提示忽略大小写

2.4 新增或删除文件自动添加到 git 版本管理中

2.5 省电模式

power save mode 省电模式,勾选时,会没有代码提示。

2.7 连续两次格式化之后会把原来的在多行的代码弄到一行

取消勾选 Editor -> Code Style -> Formatter -> Reformat again to remove custom line breaks

新版本移动至 Editor -> General -> Smart Keys -> Reformat again to remove custom line breaks

2.8 代码格式化时将代码自动换行

勾选 Editor -> Code Style -> Java -> Wrapping and Braces -> Keep when reformatting -> Ensure right margin is nor exceeded

2.9 yml 文件没有代码提示

需要安装 YAML、YAML/Ansible support 两个插件

2.10 自动生成/删除 import

Add unambiguous imports on the fly:快速添加明确的导入。 Optimize imports on the fly:快速优化导入,优化的意思即自动帮助删除无用的导入。

2.11 不自动生成 import *

修改 Editor -> Code Style -> Java -> Imports

  • Class Count to use import with *
  • Names coint to use static import with *

调大的话,不自动生成 import * (100) 调小点话,自动生成 import *(5)

2.12 文件导航栏隐藏指定后缀的文件

Editor -> File Types -> Ignore Files and Folders

2.13 git 提交代码时,不出现弹框

取消勾选

Version Control -> Commit -> Use non-model commit interface

2.14 新建类时,添加类注释

Editor -> File and Code Templates -> Files -> Class

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
*
* @author wangzhy
* @since ${DATE}, ${DAY_NAME_SHORT}
*/
public class ${NAME} {
}

2.16 生成 serialVersionUID

File -> Settings -> Editor -> Inspections -> JVM Languages -> serialization class without serialVersionUID

https://intellij-support.jetbrains.com/hc/en-us/community/posts/14718197525906-intellij-serialversionuid-generate

2.17 DataGrid 在执行删除全表数据时,出现提示

解决方案:

  1. 点击下方的 Execute and Suppress
  2. 取消勾选 DataGrip -> Query Execution -> Show warning before running potentially unsafe queries

2.18 MyBatis 的 xml 文件格式错误

Languages & Frameworks -> SQL Dialects -> Global SQL Dialect、Project SQL Dialect 选择对应的数据库.

2.19 调试模式下不会进入 jdk 源码

Build, Execution, Deployment -> Debugger -> Stepping -> Do not step into the classes 取消勾选 java.* javax.*

三、好用插件

3.1 CheckStyle

1、设置 ConstantName 的默认值

<module name="ConstantName">
<property name="format" value="^([A-Z][A-Z0-9]*(_[A-Z0-9]+)*|log|logger)$"/>
</module>

四、问题

4.1 java: Compilation failed: internal java compiler error

解决方案:检查 Target bytecode version

4.2 找不到或无法加载主类

依次尝试下面的操作

1. 重新编一下整个项目:Build -> rebuild

2. 清除IDEA的缓存:File -> Invalidate Caches...

3. 排查 resources 文件夹中是否有 class 文件

4.3 maven-resources-production:XXXXX: java.lang.IndexOutOfBoundsException

重新 build 整个项目即可。

4.4 jRebel debug 模式启动的时候卡住

Labguages & Frameworks -> Reactive Streams 取消所有勾选。

五、代码重构

1、提取段代码为一个方法

选中代码,连续两次 win + alt + m

2、提取常量

win + alt + c

3、提取变量

win + alt + v

六、license server

https://jbls.ide-soft.com/