banner
半米牙

半米牙的笔记

分享技术、记录生活
email

运用 IDEA Live Template 加快写代码速度

用 IDEA 写代码的时候往往会重复性的写一段类似或者一样的代码,让人懊恼不已。

IDEA 自带了个 Live Template 功能,不仅有许多自带的快捷写代码的功能,而且还可以自定义属于自己的 Live Template。

自定义命令#

可以自定义一些命令。 打开 IDEA 的设置,找到 Live Template,右侧添加,可以先添加一个自己的分组,比如我添加了一个My Live的分组,再添加具体的配置

live11

设置中的 Live Template

变量用$$包裹,IDEA 就知道这是个变量了,变量可以在右下角的Edit variables中赋值

live12

其中,Expression列可以为变量设置一个计算方法,比如className()说明CLASS变量为当前类名,也可以在Default value上指定一个默认值。 最后一列如果勾选的话,使用的时候如果这个变量计算出值了则不提示用户进行输入赋值。

以下是我自己使用的一些例子

logger 定义#

Template text

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

Variables

NameExpressionDefault valueSkip if defined
CLASSclassName()☑️

效果

live13

logger 定义

返回 ModelAndView#

Template text

@RequestMapping("/$NAME$.html")
public ModelAndView $NAME$(HttpServletRequest request, HttpServletResponse response) {
	logger.info("****************$CLASS$:$NAME$ 开始****************");
	logger.info("****************$CLASS$:$NAME$ 结束****************");
	return new ModelAndView("$NAME$/$NAME$");
}

Variables

NameExpressionDefault valueSkip if defined
NAME
CLASSclassName()☑️

效果

live14

返回 ModelAndView (有 url 参数)#

Template text

@RequestMapping("/$NAME$/{$PATHVARIABLE$}.html")
public ModelAndView $NAME$(@PathVariable("$PATHVARIABLE$") String $PATHVARIABLE$, HttpServletRequest request, HttpServletResponse response) {
	logger.info("****************$CLASS$:$NAME$ 开始****************");
	logger.info("****************$CLASS$:$NAME$ 结束****************");
	return new ModelAndView("$NAME$/$NAME$");
}

Variables

NameExpressionDefault valueSkip if defined
NAME
PATHVARIABLE
CLASSclassName()☑️

效果

live15

新建 Controller#

Template text

@RestController
public class $ControllerName$Controller {
	private static final Logger logger = LoggerFactory.getLogger($ControllerName$Controller.class);

	/**
	 * $viewName$
	 */
	@RequestMapping("/$viewName$.html")
	public ModelAndView $viewName$(HttpServletRequest request, HttpServletResponse response) {
		logger.info("****************$ControllerName$Controller:$viewName$ 开始****************");
		logger.info("****************$ControllerName$Controller:$viewName$ 结束****************");
		return new ModelAndView("$viewName$/$viewName$");
	}
}

Variables

NameExpressionDefault valueSkip if defined
ControllerName
viewName

效果

live16

自带命令#

也可以使用自带命令来模板式地补全语句,如遍历循环语句(for、foreach)、使用 String.format () 包裹一个字符串、使用类型转化包裹一个表达式、根据判(非)空或者其它判别语句生成 if 语句、用 instanceOf 生成分支判断语句等。 使用的方式也很简单,就是在一个表达式后按下点号 . ,然后输入一些提示或者在列表中选择一个候选项,常见的候选项下面会给出 GIF 演示。

var 声明#

image

null 判空#

image

notnull 判非空#

image

nn 判非空#

image

for 遍历#

image

fori 带索引的遍历#

image

not 取反#

image

if 条件判断#

image

cast 强转#

live98

return 返回值#

live99

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。