Idea代码模板初探
博客专区 > yx91490 的博客 > 博客详情
Idea代码模板初探
yx91490 发表于5个月前
Idea代码模板初探
  • 发表于 5个月前
  • 阅读 7
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

在工作中发现要大量写一些有固定模式的代码,比如声明一个logger:

private static Logger logger = LoggerFactory.getLogger(Object.class);

这种代码写起来真的很没劲,于是灵机一动的我在想能不能让idea给我自动生成? 百度了一下发现原来有个Live template的功能就是为这个需求而生的,而且已经内置了一些默认的代码模板,比如fori展开成for循环等等。看来idea还是博大精深还有许多功能没仔细研究。 既然已经找到了,编写一个logger的模板还是很简单的:

private static Logger logger = LoggerFactory.getLogger($className$.class);

需要注意的是要把$className$变量设置成内置的类名称函数className(),这样会自动生成正确的类名。

变量

这个仅仅是个小菜,真正让我拍手称快的是自动生成从一种list到另一种list的转换的代码模板。工作中用的是jdk1.7的语法,不能用lambda表达式,因此一些list转换则变得十分繁琐,要定义一个又一个私有方法来完成这种转换,或者使用guava的Lists.transform()方法,但是匿名内部类的使用又使得代码变得不够优雅,而且官方也不推荐这么用。但是我们可以定义一个模板来自动化的完成这种转换:

private List<$to$> to$to$List(List <$from$> inputList) {
    List<$to$> list = Lists.newArrayList();
    for ($from$ input : inputList) {
        if ($checkNull$) {
            continue;
        }
        $convert$
        if ($checkElement$) {
            list.add($element$);
        }
    }

    return list;
}

不得不说idea是一个神器,神器在手,就看你能不能用好了。

标签: idea
共有 人打赏支持
粉丝 0
博文 13
码字总数 2887
×
yx91490
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: