文档章节

Idea代码模板初探

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

在工作中发现要大量写一些有固定模式的代码,比如声明一个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
哈尔滨
没想到吧!Intellij IDEA 神器还有这些小技巧

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

开源中国
05/15
0
0
IntelliJ IDEA使用技巧——插件的安装及使用方法

IntelliJ IDEA 支持非常多的插件,熟练的使用插件,能够有效提高我们的开发效率以及用户体验。 首先,进入插件安装界面: Mac: -> -> ; Windows: -> -> . 标注 1:显示 IntelliJ IDEA 的插...

发芽的土豆丶
2017/11/02
0
0
IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane
06/23
0
0
intellij idea 插件开发---live template

注:创建plugin项目可参考本人之前的博客https://my.oschina.net/u/2526698/blog/1548929 一.最终效果 1.输入test出现快捷提示,回车便创建测试方法,效果如下图 ---> 以此类推,你可以创建c...

流浪汉8023
2017/11/07
0
0
Intellij IDEA12 中文帮助(译)

创建和运行第一个Java应用程序 为了获取Intellij Idea怎样帮助你开发和运行Java应用程序的印象,我们建议你从创建,构建和运行古老的"Hello,Wolrd"例子开始. 开始之前 创建一个项目 浏览项目结...

林优望
2013/05/17
0
0
Intellij IDEA神器常用技巧八-2018版本新增快捷键

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再次让人眼前一亮:什么,还能...

Mkeeper
06/28
0
0
代码生成利器:IDEA 强大的 Live Templates

原文出处:肖汉松 前言 Java 开发过程经常需要编写有固定格式的代码,例如说声明一个私有变量,logger或者bean等等。对于这种小范围的代码生成,我们可以利用 IDEA 提供的 Live Templates功能...

肖汉松
2017/12/29
0
0
Java开发工具IntelliJ IDEA使用教程:创建新的Andriod项目

IntelliJ IDEA社区版作为一个轻量级的Java开发IDE,本身是一个开箱即用的Android开发工具。 注意:在本次的教程中我们将以Android平台2.2为例进行IntelliJ IDEA的使用说明,Android 2.2虽然是...

kouxunli1
2013/09/22
0
0
Play For Scala 开发指南 - 第4章 第一个Play项目

转载请注明joymufeng,欢迎访问PlayScala社区(http://www.playscala.cn) 原文链接:http://www.playscala.cn/doc/catalog?id=j111 准备环境 安装JDK8 单击这里下载并安装JDK8,安装完成后在命...

joymufeng
2017/10/20
0
0
IntelliJ IDEA学习笔记 - 总

作为一个刚毕业的程序员,学校的时候老师们都用Eclipse,之前也一直使用Eclipse进行开发,虽然听说过IntelliJ IDEA(后为idea),但没有深入了解。前段时间跟着慕课网上一个教程学习Spring ...

dotleo
2017/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

全新内存布局Android5 for one x

众所周知Android5.0默认ART模式,运行速度加倍,软件占用内存也加倍,我们one x这种元老机采用旧的内存布局,data空间2g ART模式下安装几个软件也就不够用了。最近逛国外的xda论坛,发现有大...

CrazyManDF
10分钟前
0
0
web3j转账

 web3 转账功能   为了完成以太坊交易,必须有几个先决条件   1、对方的以太坊地址   2、确定要转账的金额   3、自己地址的转账权限   4、大于转账金额的以太币,以太币转账其实就...

智能合约
10分钟前
0
0
10.28 rsync工具介绍 , rsync常用选项, rsync通过ssh同步

rsync远程同步 重点!重点!!重点!!! 例子 • rsync -av /etc/passwd /tmp/1.txt • rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt rsync格式 • rsync [OPTION] … SRC DEST • rs......

Linux_老吴
24分钟前
0
0
iis php 环境搭建,非常详细的教程

准备篇 一、环境说明: 操作系统:Windows Server 2016 PHP版本:php 7.1.0 MySQL版本:MySQL 5.7.17.0 二、相关软件下载: 1、PHP下载地址: http://windows.php.net/downloads/releases/ph...

T_star
26分钟前
0
0
Day35 rsync通过服务同步

rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口。 log file:指定日志文件。 pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等...

杉下
31分钟前
1
0
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了...

ios122
32分钟前
0
0
rsync至ssh同步

rsync: 文件同步工具,可实现“增量拷贝”;使用yum安装rsync包 常用选项:-a=-rtplgoD (-r同步目录,-t保持文件的时间属性,-p保持文件的权限属性,-l保持软连接,-g保持文件的属组,-o保持...

ZHENG-JY
37分钟前
0
0
TradingView 学习笔记

#前言 公司最后需要使用TradingView展示K线图走势。由于之前没接触过,拿到文档时一脸蒙逼。还好找到二篇文章+Demo代码,直接改改就行了。 #被批 由于上面的懵懂,有个问题困扰4个小时没解决...

hihubs
37分钟前
0
0
10.28 rsync工具介绍~10.31 rsync通过ssh同步

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

洗香香
40分钟前
1
0
卷积为什么要旋转180度

参考《最容易理解的对卷积(convolution)的解释》 https://blog.csdn.net/bitcarmanlee/article/details/54729807 这篇博客详细讲解了“卷积”,提及了为什么要反转180度,我简述下。 1.卷积的...

datadev_sh
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部