IDEA快捷键拆解系列(十八):Live Templates篇

本文涉及的产品
视频直播,500GB 1个月
简介:   这是IDEA快捷键拆解系列的第十八篇。  本文将介绍一下IDEA强大的Live Template功能。  首先,我们要知道Live Template是在哪里定义的,先按Ctrl + Shift + S进入设置,接着在输入框输入“Live Template”就可以定位到了,如下图所示。

  这是IDEA快捷键拆解系列的第十八篇。

  本文将介绍一下IDEA强大的Live Template功能。

  首先,我们要知道Live Template是在哪里定义的,先按Ctrl + Shift + S进入设置,接着在输入框输入“Live Template”就可以定位到了,如下图所示。

Live Template
Live Template

  从上图可以看到,IDEA官方已经帮我们定义好了一些常用的Live Template,而且针对不同的文件类型也划分了不同的Live Template Group。查看Live Template的快捷键是Ctrl + J,这里列几个比较常用的。

  • iterate (迭代)

    • itar:Iterate elements of array,操作顺序迭代数组
        //1.定义一个数组
        String[] strings = new String[];
        //2.输入itar后会有提示,按`Enter`确认后会自动输出以下内容,默认是按`Tab`键快速进行光标切换
        for (int i = 0; i < strings.length; i++) {
            String string = strings[i];
    
        }
    
    • ritar:Iterate elements of array in reverse order,反转迭代数组
         String[] strings = new String[];
        //输入ritar后会有提示,按`Enter`确认后会自动输出以下内容,默认是按`Tab`键进行光标快速切换
        for (int i = strings.length - 1; i >= 0; i--) {
            String string = strings[i];
    
        }
    
    • iter:Iterate (for each..in),ForEach迭代
        List<String> stringList = new ArrayList<>();
        //输入iter后会有提示,按`Enter`确认后会自动输出以下内容,默认是按`Tab`键进行光标快速切换
        for (String s : stringList) {
    
        }
    
    • fori:Create iteration loop,含下标的普通迭代
        //输入fori后会有提示,按`Enter`确认后会自动输出以下内容,默认是按`Tab`键进行光标快速切换
        for (int i = 0; i < ; i++) {
    
        }
    
    • itli:Iterate elements of java.util.List,List迭代
        List<String> stringList = new ArrayList<>();
        //输入itli后会有提示,按`Enter`确认后会自动输出以下内容,默认是按`Tab`键进行光标快速切换
        for (int i = 0; i < stringList.size(); i++) {
            String s =  stringList.get(i);
    
        }
    
    • itco:Iterate elements of java.util.Collection,iterator迭代
        List<String> stringList = new ArrayList<>();
        //输入itco后会有提示,按`Enter`确认后会自动输出以下内容,默认是按`Tab`键进行光标快速切换
        for (Iterator<String> iterator = stringList.iterator(); iterator.hasNext(); ) {
            String next =  iterator.next();
    
        }
    
    • iten:Iterate java.util.Enumeration
    • itit:Iterate java.util.Iterator
    • ittok:Iterate tokens from String
    • itve:Iterate elements of java.util.Vector
  • define (定义)

    • St
      String
      
    • thr
      throw new
      
    • psf
      public static final
      
    • prsf
      private static final
      
    • psfi
      public static final int
      
    • psfs
      public static final String
      
    • psfs
      public static final String
      
    • geti:Inserts singleton method getInstance
      public static $CLASS_NAME$ getInstance() {
          return ;
      }
      
    • ifn:Inserts if null statement
      if ($VAR$ == null) {
      
      }
      
    • inn:Inserts if not null statement
      if ($VAR$ != null) {
      
      }
      
    • inst:Checks object type with instanceof and down-casts it
      if ($EXPR$ instanceof $TYPE$) {
        $TYPE$ $VAR1$ = ($TYPE$)$EXPR$;
        $END$
      }
      
    • lazy:Performs lazy initialization
          if ($VAR$ == null) {
            $VAR$ = new $TYPE$();
          }
      
    • lst:Fetches last element of an array
    • mn:Sets lesser value to a variable
    • mx:Sets greater value to a variable
    • toar:Stores elements of java.util.Collection into array
  • main

    • psvm
      public static void main(String[] args) {}
      
  • print (打印)

    • sout:Prints a string to System.out
      System.out.println();
      
    • souf:Prints a formatted string to System.out
      System.out.printf("");
      
    • serr:Prints a string to System.err
      System.err.println("");
      
    • soutm:Prints current class and method names to System.out
      System.out.println("className.methodName");
      
    • soutv:Prints a value to System.out
      System.out.println("variable name = " + variable value);
      
    • soutp:Prints method parameter names and values to System.out
      System.out.println("parameter name = [" + parameter value + "]");
      
  • Maven

    • dep:dependency

      <dependency>
          <groupId></groupId>
          <artifactId></artifactId>
          <version></version>
      </dependency>
      
    • pl:plugin

      <plugin>
          <groupId></groupId>
          <artifactId></artifactId>
          <version></version>
      </plugin>
      
    • repo:repository

      <repository>
          <id></id>
          <name></name>
          <url></url>
      </repository>
      
  • SQL

    • col:new column definition
      $col$ $type$ $null$$END$
      
    • ins:insert rows into a table
      insert into $table$ ($columns$) values ($END$);
      
    • sel:select all rows from a table
      select * from $table$$END$;
      
    • selc:select the number of specific rows in a table
      select count(*) from $table$ $alias$ where $alias$.$END$;
      
    • selw:select specific rows from a table
      select * from $table$ $alias$ where $alias$.$END$;
      
    • tab:new table definition
      create table $table$ (
        $col$ $type$ $null$$END$
      );
      
    • upd:update values in a table
      update $table_name$ set $col$ = $value$ where $END$;
      

  当然了,Live Templat强大的地方不仅在于官方定义好的这部分,更重要是还支持自定义的Live Template。在学习工作中,我们可以尝试把一些重复的代码抽出来变成模板,接下来我们就来看看如何自定义Live Template。

  1. 配置自定义Live Template
配置自定义Live Template
配置自定义Live Template
  1. 修改作用范围
修改作用范围
修改作用范围
修改作用范围
修改作用范围
  1. 新建POJO,输入自定义的Live Template快捷键,如这里是cps,按Enter键选择后光标将停留在VAR1的位置,默认按Tab键即可快速切换到VAR2的位置。
测试Live Template
测试Live Template
测试Live Template
测试Live Template

由于个人疏忽,所以截图部分Live Template存在部分错误,下面是更正后的Live Template。

/**
 * $VAR1$
 */
private String $VAR2$;

$END$

IDEA快捷键拆解系列(前言)
IDEA快捷键拆解系列(一)
IDEA快捷键拆解系列(二):File篇
IDEA快捷键拆解系列(三):Edit篇
IDEA快捷键拆解系列(四):View篇
IDEA快捷键拆解系列(五):Navigate篇
IDEA快捷键拆解系列(六):Code篇
IDEA快捷键拆解系列(七):Analyze篇
IDEA快捷键拆解系列(八):Refactor篇
IDEA快捷键拆解系列(九):Build篇
IDEA快捷键拆解系列(十):Run篇
IDEA快捷键拆解系列(十一):Tools篇
IDEA快捷键拆解系列(十二):VCS篇
IDEA快捷键拆解系列(十三):Window篇
IDEA快捷键拆解系列(十四):Help篇
IDEA快捷键拆解系列(十五):经验篇
IDEA快捷键拆解系列(十六):插件篇
IDEA快捷键拆解系列(十七):Debug篇
IDEA快捷键拆解系列(十八):Live Templates篇
IDEA快捷键拆解系列(十九):Postfix篇
IDEA快捷键拆解系列(后记)

目录
相关文章
|
1月前
|
Linux Android开发 Windows
IDEA如何设置成Eclipse的快捷键
【10月更文挑战第9天】这段内容介绍了如何在 IntelliJ IDEA 中设置类似 Eclipse 的快捷键。主要包括:1) 打开设置;2) 进入快捷键设置页面;3) 选择 Eclipse 快捷键方案;4) 可选的自定义调整。通过这些步骤,可以让熟悉 Eclipse 的用户更快适应 IDEA。
319 4
|
2月前
|
安全 Java
IntelliJ Idea 常用快捷键列表
这是一份IntelliJ IDEA常用快捷键列表,涵盖了代码编辑、文件操作、重构、查找及调试等多种开发场景。例如,使用Ctrl+Shift+Enter完成语句,Ctrl+E打开最近的文件,Ctrl+Shift+E查看最近更改的文件,以及Alt+Q预览当前方法声明等,极大地提升了开发效率。
IDEA中返回上一步和下一步快捷键失效【Ctrl+Alt+左箭头】
这篇文章提供了解决IntelliJ IDEA中"返回上一步"和"下一步"快捷键失效的方法,通常是因为与其他软件的快捷键发生冲突,解决方法是更改快捷键设置。
|
4月前
|
Java Android开发 Spring
idea开发常用快捷键总结
idea开发常用快捷键总结
178 9
|
4月前
|
程序员 开发者
IDEA插件-Key Promoter X快捷键显示
Key Promoter X 是一款用于 IntelliJ IDEA 的插件,旨在帮助开发者学习并提键盘快捷键使用效率。它会监视用户在 IDEA 中的操作,并在您使用鼠标执行某些操作时提供相应的快捷键提示。 当使用鼠标点击一个按钮或菜单项时,Key Promoter X 会显示一个弹窗,告诉用户可以使用哪个键盘快捷键来执行相同的操作。
160 0
IDEA插件-Key Promoter X快捷键显示
|
3月前
|
Java
IDEA常用快捷键
本文为IDEA用户,特别是Java新手总结了一系列实用快捷键,包括快速生成main方法(psvm)、输出语句(sout)、删除行(Ctrl + X/Y)等,以及代码搜索、调试模式启动等高级功能,并提供了自定义快捷键的方法及示例图片,助你提升开发效率。
|
4月前
|
Java 测试技术
idea for mac 最全快捷键整理
idea for mac 最全快捷键整理
847 12
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path
idea使用构造函数的快捷键是什么?alt + insert
idea使用构造函数的快捷键是什么?alt + insert
idea打开命令窗口的快捷键,使包分开的写法
idea打开命令窗口的快捷键,使包分开的写法

热门文章

最新文章

下一篇
无影云桌面