IntelliJ IDEA(五)代码智能补全

628 阅读3分钟

banner窄.png

铿然架构  |  作者  /  铿然一叶 这是铿然架构的第 25 篇原创文章

相关阅读:

萌新快速成长之路
如何编写软件设计文档
JAVA编程思想(一)通过依赖注入增加扩展性
JAVA编程思想(二)如何面向接口编程
JAVA编程思想(三)去掉别扭的if,自注册策略模式优雅满足开闭原则
JAVA编程思想(四)Builder模式经典范式以及和工厂模式如何选?
Java编程思想(七)使用组合和继承的场景
JAVA基础(一)简单、透彻理解内部类和静态内部类
JAVA基础(二)内存优化-使用Java引用做缓存
JAVA基础(三)ClassLoader实现热加载
JAVA基础(四)枚举(enum)和常量定义,工厂类使用对比
JAVA基础(五)函数式接口-复用,解耦之利刃
Seata源码(一)初始化
Seata源码(二)事务基础对象
Seata源码(三)事务处理类结构和流程
Seata源码(四)全局锁GlobalLock
Seata源码(五)Seata数据库操作
Seata源码(六)Seata的undo日志操作
Seata源码(七)Seata事务故障处理
Seata源码(八)Seata事务生命周期hook
Seata源码(九)TCC核心类和处理逻辑
Seata源码(十)RM接收到请求后的调用过程
Seata源码(十一)TC接收到请求后的处理过程\


一、Java常用代码块缩写

iterations

1.fori
描述:Create iteration loop

for(int $INDEX$ = 0; $INDEX$ < $LIMIT$; $INDEX$++) {
  $END$
}

2.itar
描述:Iterate elements of array

for(int $INDEX$ = 0; $INDEX$ < $ARRAY$.length; $INDEX$++) {
  $ELEMENT_TYPE$ $VAR$ = $ARRAY$[$INDEX$];
  $END$
}

3.itco
描述:Iterate elements of java.util.Collection

for($ITER_TYPE$ $ITER$ = $COLLECTION$.iterator(); $ITER$.hasNext(); ) {
  $ELEMENT_TYPE$ $VAR$ =$CAST$ $ITER$.next();
  $END$
}

4.iten
描述:Iterate java.util.Enumeration

while($ENUM$.hasMoreElements()){
  $TYPE$ $VAR$ = $CAST$ $ENUM$.nextElement();
  $END$
}

5.iter
描述:Iterate Iterable | Array

for ($ELEMENT_TYPE$ $VAR$ : $ITERABLE_TYPE$) {
  $END$
}

6.itit
描述:Iterate java.util.Iterator

while($ITER$.hasNext()){
  $TYPE$ $VAR$ = $CAST$ $ITER$.next();
  $END$
}

7.itli
描述:Iterate elements of java.util.List

for (int $INDEX$ = 0; $INDEX$ < $LIST$.size(); $INDEX$++) {
  $ELEMENT_TYPE$ $VAR$ = $CAST$ $LIST$.get($INDEX$);
  $END$
}

8.ittok
描述:Iterate tokens from String

for (java.util.StringTokenizer $TOKENIZER$ = new java.util.StringTokenizer($STRING$); $TOKENIZER$.hasMoreTokens(); ) {
    String $VAR$ = $TOKENIZER_COPY$.nextToken();
    $END$
}

9.ritar
描述:Iterate elements of array in reverse order

for(int $INDEX$ = $ARRAY$.length - 1; $INDEX$ >= 0; $INDEX$--) {
  $ELEMENT_TYPE$ $VAR$ = $ARRAY$[$INDEX$];
  $END$
}

other

1.geti
描述:Inserts singleton method getInstance

public static $CLASS_NAME$ getInstance() {
  return $VALUE$;
}

2. ifn
描述:Inserts 'if null' statement

if ($VAR$ == null) {
$END$
}

3. inn
描述:Inserts 'if not null' statement

if ($VAR$ != null) {
$END$
}

4. inst
描述:Checks object type with instanceof and down-casts it

if ($EXPR$ instanceof $TYPE$) {
  $TYPE$ $VAR1$ = ($TYPE$)$EXPR$;
  $END$
}

5. lazy
描述:Performs lazy initialization

if ($VAR$ == null) {
  $VAR$ = new $TYPE$($END$);
}

6. lst
描述:Fetches last element of an array

$ARRAY$[$ARRAY$.length - 1]

7. main
描述:main() method declaration

public static void main(String[] args){
  $END$
}

8. mn
描述:Sets lesser value to a variable

$VAR$ = Math.min($VAR$, $END$);

9. mx
描述:Sets greater value to a variable

$VAR$ = Math.max($VAR$, $END$);

10. toar
描述:Sets greater value to a variable

Stores elements of java.util.Collection into array

output

1. serr
描述:Prints a string to System.err

System.err.println($END$);

2. souf
描述:Prints a formatted string to System.out

System.out.printf("$END$");

3. sout
描述:Prints a string to System.out

System.out.println($END$);

4. soutm
描述:Prints current class and method names to System.out

System.out.println("$CLASS_NAME$.$METHOD_NAME$");

5. soutp
描述:Prints method parameter names and values to System.out

System.out.println($FORMAT$);

6. soutv
描述:Prints a value to System.out

System.out.println("$EXPR_COPY$ = " + $EXPR$);

二、自定义缩写

当代码块的出现频率很高时可以定义对应的缩写,例如Intellij IDEA中logd缩写对应的代码块是用于AndroidLog,如果不是Android开发的话可以屏蔽掉并使用自己定义的logd。

1.去掉勾选

2.在output下新增一个模板

3.定义logd
模板文本中的ENDEND变量可使得在生成模板文本后,鼠标光标停留在这个位置,否则光标会停留在行尾。模板内容填写好后点击Define来定义使用场景。

4.选择在Java语言中使用。

5.在代码中输入logd后出现提示

end.