IntelliJ IDEA
一、快捷键
1.1 适应之后的快捷键
- 查找某个类的所有方法
Ctrl + OFile Structure - 删除行
Ctrl + DDelete Line - 复制行
Ctrl + Shift + ↓Duplicate Entire Lines - 上移一行
Ctrl + ↑Move Line Up - 下移一行
Ctrl + ↓Move Line Down - 全局搜索
Ctrl + HFind in Files - 查找文件
Ctrl + Shift + RGo to File - 查找类
Ctrl + Shift + TGo to Class - 查找方法或类的引用
Ctrl + GFind Usages - 在当前问价中查找方法或类的引用
Ctrl + Shift + GFind Usages in File - 关闭当前 tab 页
Ctrl + WClose Tab - 前进
Ctrl + →Back - 后退
Ctrl + ←Forward - 撤销
Ctrl + ZUndo - 取消撤销
Ctrl + YRedo - 查看某个类或方法的实现
Ctrl + TGo to Implementation(s) - 查看某个类或接口的继承关系
Ctrl + Alt + HType Hierarchy - 调到指定行
Ctrl + LGo to Line - 查找
Ctrl + FFind - 替换
Ctrl + RReplace - 添加 try-catch 等代码
Ctrl + Alt + Tsurround with - 代码格式化
Ctrl + Alt + Lreformat code - 自动田添加包
Ctrl + Shift + Ooptimize imports - 大小写转换
Ctrl + Shift + UToggle Case - 展开所有方法
Ctrl + Shift + =expand all - 取消展开所有方法
Ctrl + Shift + -collapse all - 重新构建项目
F9Rebuild Project - git 查看当前文件的记录
F1show history - 重命名
F2Rename - 翻译插件
F4Translate - 执行表达式
F3Evaluate Expression - 比较 git 的修改记录时,直接跳转到文件中
F12jump to source - GitHub Copilot 代码提示
Ctrl + IShow Completions
1.2 调试快捷键
- 进入方法 Step Into
F5 - 步进 Step over
F6 - 退出方法 Step Out
F7 - 放过 Resume Program
F8 - 强制步进 Forece Step Info
Alt+Shift + F7 - 允许到光标 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

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

解决方案:
- 点击下方的
Execute and Suppress - 取消勾选
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.*

2.20 js 格式化时,方法名与括号之间有一个空格
Editor -> Code Style -> JavaScript -> Spaces 取消勾选 Function declaration parentheses
三、好用插件

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/