IDEA实时模板

在IDEA中有个实时模板的强大功能,可以把自己常用的代码做成代码提示.

Java8的Stream中,工具类Collctors提供了一些便利的收集器,例如toList、toSet、joining和groupingBy。

对一个字符串集合进行过滤,并创建新的列表:

1
2
3
4
stringCollection
.stream()
.filter(e -> e.startsWith("a"))
.collect(Collectors.toList());

其实这些都可以用toList、toSet、groupingBy 和 join创建一个模板来增强.

在IDEA中的设置中,Editor,live template中,添加一个Stream组,添加如下的模板:

1
2
3
4
5
6
7
8
9
10
11
// Abbreviation: .toList
.collect(Collectors.toList())

// Abbreviation: .toSet
.collect(Collectors.toSet())

// Abbreviation: .join
.collect(Collectors.joining("$END$"))

// Abbreviation: .groupBy
.collect(Collectors.groupingBy(e -> $END$))

重要的一点 什么上下文中生效,我们这里选择 java -> other

除了这些 还可以修改IDEA的原来的部分,比如在output组中的sout,我秀改了成了 System.out.println($SELECTION$$END$);
选中了文本直接通过sout输出.

定义$spring,快速的配置Spring的xml文件,如下:

1
2
3
4
5
6
7
8
<!-- spring context config -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml$contextpath$</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

当然还有springMVC的配置文件,$springmvc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- spring mvc config -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:springMVC-servlet.xml$contextConfigLocation$</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>