IDEA 的 LiveTempleate 自动补全日志代码

前言
Live Template 是 IDEA 提供的一个自动生成代码的工具, 可以自定义一段小代码, 比如最常见的 System.out.println(“”); , 当然这已经被内置了, 输入 sout即可输出。

说明:
配置方式由两种;
1:直接 改idea 的配置文件

配置文件的存储位置
D:\ideaIU-2016.IntelliJIdea\config\templates\user.xml

2:通过 File -> Settings -> Editor -> Live Template 手动输入;

自定义 Live Template
打开 IDEA, 点击工具栏 File -> Settings -> Editor -> Live Template, 点击右边的加号 +。
输入下面的代码。

1、自动补全 logger 实例化

private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger($CLASS_NAME$.class);
$END$

然后idea重启后在代码中输入 logg 即可生成自动生成上面的代码;

1.1、通过修改配置文件方式批量加入多个命令

修改 user.xml

<templateSet group="user">
  <template name="logg" value="private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger($CLASS_NAME$.class);
$END$" description="log日志输出器" toReformat="false" toShortenFQNames="true">
    <variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="true" />
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
  <template name="loge" value="logger.error("$END$");" description="log日志error级别" toReformat="false" toShortenFQNames="true">
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
  <template name="logw" value="logger.warn("$END$");" description="log日志warn级别" toReformat="false" toShortenFQNames="true">
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
  <template name="logi" value="logger.info("$END$");" description="log日志info级别" toReformat="false" toShortenFQNames="true">
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
  <template name="logd" value="logger.debug("$END$");" description="log日志debug级别" toReformat="false" toShortenFQNames="true">
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
  <template name="can" value="java.util.Scanner in = new java.util.Scanner(System.in);
int n = in.nextInt();
$END$" description="控制台输入" toReformat="false" toShortenFQNames="true">
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
  <template name="pra" value="java.util.Arrays.toString($END$)" description="打印数组" toReformat="false" toShortenFQNames="true">
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
  <template name="prm" value="for(java.util.Map.Entry entry : $VAR$.entrySet()){
    System.out.println(entry.getKey()+" : "+entry.getValue());
}" description="打印Map集合" toReformat="false" toShortenFQNames="true">
    <variable name="VAR" expression="" defaultValue="" alwaysStopAt="true" />
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>
templateSet>

这样 就设置了多样是日志输出补全代码了;

2、自动注入粘贴板中的 类

配置如下:
IDEA 的 LiveTempleate 自动补全日志代码_第1张图片

使用方法:
1:复制类名称
2:代码中 敲 aw 即可实现;

提供配置文件供参考

  <template name="aw" value="@Autowired
private $TYPE$ $NAME$;
" description="自动注入" toReformat="false" toShortenFQNames="true">
    <variable name="TYPE" expression="clipboard()" defaultValue="" alwaysStopAt="true" />
    <variable name="NAME" expression="" defaultValue="decapitalize(clipboard())" alwaysStopAt="true" />
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>

3、同理,简化new list

IDEA 的 LiveTempleate 自动补全日志代码_第2张图片

使用方法:
1:复制 需要泛型的 类
2:代码中 敲入 newlist 即可

  <template name="newlist" value="List<$TYPE$> list=new ArrayList<$TYPE$>();" description="新建集合" toReformat="false" toShortenFQNames="true">
    <variable name="TYPE" expression="" defaultValue="clipboard()" alwaysStopAt="true" />
    <context>
      <option name="JAVA_CODE" value="true" />
    context>
  template>

你可能感兴趣的:(java基础,IDEA)