文档章节

Idea代码模板初探

yx91490
 yx91490
发布于 2017/07/30 18:41
字数 412
阅读 12
收藏 1

在工作中发现要大量写一些有固定模式的代码,比如声明一个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是一个神器,神器在手,就看你能不能用好了。

© 著作权归作者所有

共有 人打赏支持
yx91490
粉丝 0
博文 17
码字总数 3073
作品 0
哈尔滨
私信 提问
Demo Show | 蚂蚁金服 mPaaS IDEA 插件实践

前言 本文将结合上周在 JetBrains 开发者大会分享的《mPaaS IDEA 插件实践》,深入展开 mPaaS 在 IDEA 插件开发之路上踩过的坑和沉淀的思考,希望能够带来一些参考性: mPaaS 冷启动过程如何...

josephjin
2018/12/18
0
0
Intellij IDEA 使用教程

前言: 正所谓工欲善其事,必先利其器,身为码农的我们,拥有得心应手的编辑器就好比如鱼得水,在万行代码中取bug首级就如观鱼赏花!IDEA就堪称是当世之神兵,自诩为最智能的编辑器。到底是它...

贪挽懒月
2018/08/18
0
0
没想到吧!Intellij IDEA 神器还有这些小技巧

作者:Sam哥哥聊技术 来自:开源中国社区 概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专...

开源中国
2018/05/15
0
0
需要安装的几个idea插件以及一些其它设置!!!

在开始之前先把idea的几个插件安装好,有以下几个插件需要安装: .ignore 这个是用来管理git的忽略文件设置的,同时会提供一些git的忽略文件模板。 GenerateSerialVersionUID 用来在需要序列...

kevinky
2017/03/02
1
1
阿里java代码规范IDEA添加插件

为了尽量自己写好代码,为了尽量团队代码风格统一,有一套可执行的规范是再好不过了,《阿里巴巴Java开发手册》对JAVA编码规范做了一个总结,并且把这个规范做成了一个很好用的IDEA插件,可以...

全世界最好的肥猪精
2018/12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
4
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
26
3
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部