强大的 IDEA 代码生成
Java项目开发
共 3179字,需浏览 7分钟
·
2021-08-26 08:54
Java 开发过程经常需要编写有固定格式的代码,例如说声明一个私有变量,logger或者bean等等。对于这种小范围的代码生成,我们可以利用 IDEA 提供的 Live Templates功能。刚开始觉得它只是一个简单的Code Snippet,后来发现它支持变量函数配置,可以支持很复杂的代码生成。
基本使用
for (int i = 0; i < ; i++) {
}
自定义 Template
简单用法
==========
<out>
----------
System.out.println($END$)
==========
<pfs>
----------
private final static String $varName$ = "$var$";`
==========
<privateField>
----------
/**
* $COMMENT$
*/
@Getter
@Setter
private $TYPE$ $NAME$;
==========
<main>
----------
public static void main(String[] args) {
$END$
}
==========
$$
包围的字符表示一个变量。$END$
是一个特殊的预定义变量,表示光标最后跳转的位置。每个变量的位置都可以跳转过去。高级用法
<osgiRef>
----------
/**
* $END$
*/
@OsgiReference
@Setter
private $TYPE$ $NAME$;
clipboard():返回当前粘贴板的字符串 decapitalize():将输入的字符串首字母变为小写
<logger>
----------
/** logger */
private static final Logger LOGGER = LoggerFactory.getLogger($CLASS$.class);
最强大的 groovyScript()
groovyScript("code", ...)
| code | 一段Groovy代码或者Groovy脚本代码绝对路径 |
| ... | 可选入参,这些参数会绑定到`_1, _2, _3, ..._n`, 在 Groovy 代码中使用。|
<bean>
----------
<bean id="$id$" class="$REF$" />
decapitalize(groovyScript("_1.tokenize('.')[-1]", clipboard()))
,首先取clipboard()
的值得到类的全引用,然后执行 groovy 代码_1.tokenize('.')[-1]
(按.分割为字符串数组,然后取最后一个即可得到类名,然后用decapitalize()
将首字母小写即可得到id。<printContext>
---------------
LogUtil.$TYPE$(LOGGER, "$MSG$ " + $params$);
groovyScript("'\"' + _1.collect { it + ' = [\" + ' + it + ' + \"]'}.join(', ') + '\"'", methodParameters())
,就能够自动将当前函数的参数格式化后输出。总结
作者 | Sharehub
链接 | blog.xiaohansong.com/idea-live-templates.html
--完-- 推荐阅读:
怎么接私货?这个渠道你100%有用!请收藏!
喜欢文章,点个在看
评论