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

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