自定义Live Template

// *c
*  
 * @author hubz  
 * @date $DATE$ $TIME$  
 **/

使用:/**c 回车

方法

// *m
*  
 * $END$  
 * @author hubz  
 * @date $DATE$ $TIME$  
 * $PARAMS$$RETURN$  
 **/

PARAMS的表达式

groovyScript("if(\"${_1}\".length() == 2) {return '';}  else { def result='';  def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { if(i==0){result+='@param ' + params[i] + ' '} else{result+='\\n' + ' * @param ' + params[i] + ' '}};  if(result) { result = '\\n * ' + result}; return result;}", methodParameters() );

RETURN的表达式

groovyScript("def returnType = \"${_1}\"; if(returnType == 'void'){return ''}; def result = '\\n * @return ' + returnType; return result;", methodReturnType()); 

使用:/**m 回车

属性

// *f
** $END$ */

使用:/**f 回车

调试窗口按钮修改

image-20230707233608260

注释不在行首

显示行号

20211219213814.png

自定义按钮

注意:添加时会在选定的元素同级进行添加按钮

20220308233241.png

20220308233221.png

Maven插件

Debugger

查看本地历史

IDEA 全局搜索,搜索Jar包中内容

61b4a9a22ab3f51d91178150

61b4a9e12ab3f51d91179e07

61b4a9e92ab3f51d9117a1f3

61b4a9ef2ab3f51d9117a4aa

设置自动编译

20211219213854.png

设置自动导入

快捷键

  • Ctrl+J:打开LiveTemplate窗口

  • F3:打开文件所在位置

    • File->Settings-> Keymap-> 搜索 Show In Explorer -> 将快捷键设置为F3
  • Ctrl+ 鼠标右键:直接打开实现类

    • File->Settings-> Keymap-> 搜索 implementation-> Add Mouse Shortcut 将快捷键设置为`Ctrl+ 鼠标右键
    • 默认快捷键:Ctrl+Alt+鼠标左键
  • Ctrl+左或右:一次跳一个单词

  • Ctrl+E:查看浏览过的文件

  • Ctrl+Y:删除行

  • Alt+左键:列编辑

IDEA提交窗口

模式一:弹窗形式

模式二:侧边栏形式

格式化时不格式化注释

滚轮控制文字大小

Tab页设置

Maven解决JAR包冲突

旧版

新版

20220113002129.png

20220113002228.png

20220113002324.png

显示使用内存设置

20211219000410.png

好用的窗口

发生更改的文件

20211219000440.png

收藏夹窗口

20211219000529.png

IntelliJ IDEA隐藏不想看到的文件或文件夹

61b4aaf42ab3f51d91183603

展示类的所有继承关系

覆盖率测试

20211219000028.png

自定义LOG模板

20211219000108.png

private static final Logger LOG = LoggerFactory.getLogger($CLASSNAME$.class);

20211219000249.png

20211219000303.png

自定义注释模板

自定义模版(优化升级):

20220510143954.png

*
 * $END$
 * @author hubz
 * @date $DATE$ $TIME$
 * $PARAMS$ $RETURN$
 **/

自定义方法参数注释

groovyScript("if(\"${_1}\".length() == 2) {return '';}  else { def result='';  def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { if(i==0){result+='@param ' + params[i] + ' '} else{result+='\\n' + ' * @param ' + params[i] + ' '}};  if(result) { result = '\\n * ' + result}; return result;}", methodParameters());

自定义return注释:

groovyScript("def returnType = \"${_1}\"; if(returnType == 'void'){return ''}; def result = '\\n * @return ' + returnType; return result;", methodReturnType());

同样的项目在不同的端口启动两份

20211219000602.png

20211219000616.png