精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

強大的 IDEA 代碼生成器,學會用,真香!

開發 前端 新聞
Java 開發過程經常需要編寫有固定格式的代碼,例如說聲明一個私有變量,logger或者bean等等。

 前言

Java 開發過程經常需要編寫有固定格式的代碼,例如說聲明一個私有變量,logger或者bean等等。對于這種小范圍的代碼生成,我們可以利用 IDEA 提供的 Live Templates功能。剛開始覺得它只是一個簡單的Code Snippet,后來發現它支持變量函數配置,可以支持很復雜的代碼生成。下面我來介紹一下Live Templates的用法。

[[347287]]

基本使用

IDEA 自帶很多常用的動態模板,在 Java 代碼中輸入fori,回車就會出現

  1. for ( int i = 0 ; i < ; i++) { 
  2.  

按Tab可以在各個空白處跳轉,手動填值。

自定義 Template

官方自帶模板畢竟不能滿足我們個人編碼風格的需要,Live Templates提供了變量函數的方式供我們自定義。

簡單用法

新增自定義模板,首先需要填寫觸發單詞(即 Abbreviation),描述是可選的,然后定義模板的上下文,點擊define選擇Java,這樣在編輯 Java 的時候就會觸發當前模板,定義完上下文之后,就可以填寫模板了。

下面列舉幾個我常用的簡單模板

  1. ========== 
  2.  
  3. <out> 
  4.  
  5. ---------- 
  6.  
  7. System.out.println($END$) 
  8.  
  9. ========== 
  10.  
  11. <pfs> 
  12.  
  13. ---------- 
  14.  
  15. privatefinalstatic String $varName$ = "$var$" ;` 
  16.  
  17. ========== 
  18.  
  19. <privateField> 
  20.  
  21. ---------- 
  22.  
  23. /** 
  24.  
  25. * $COMMENT$ 
  26.  
  27. @Getter 
  28.  
  29. @Setter 
  30.  
  31. private $TYPE$ $NAME$; 
  32.  
  33. ========== 
  34.  
  35. <main> 
  36.  
  37. ---------- 
  38.  
  39. public static void main (String[] args) { 
  40.  
  41. $END$ 
  42.  
  43.  
  44. ========== 

模板支持變量的定義,使用$$包圍的字符表示一個變量。是一個特殊的預定義變量,表示光標最后跳轉的位置。每個變量的位置都可以跳轉過去。

高級用法

如果你用過 vim 的Code Sinppet插件,你會發現模板里面是可以執行函數的,強大的 Live Templates當然也支持,而且 IDEA 能夠感知代碼的語義,例如說當前編輯的函數的參數。但這一點就能夠讓我們玩出花來。我們從易到難來研究模板函數的功能。

前面我們提到的變量可以綁定函數,配置方式如上圖所示。

快速聲明變量

聲明變量是一個常用的操作,特別是需要聲明變量需要加注解,注釋的時候,這些代碼寫起來就很枯燥。下面是我定義的模板:

  1. <osgiRef> 
  2.  
  3. ---------- 
  4.  
  5. /** 
  6.  
  7. * $END$ 
  8.  
  9. @OsgiReference 
  10.  
  11. @Setter 
  12.  
  13. private $TYPE$ $NAME$; 

乍一看這個模板跟我上面定義的privateField差不多,唯一的不同在于我給這些變量綁定了函數。

1.clipboard():返回當前粘貼板的字符串

2.decapitalize():將輸入的字符串首字母變為小寫

下面我們演示一下,我們先拷貝當前類名,然后輸入osgiRef

快速聲明 logger

聲明 logger 也是一個常用的操作,上面我們是利用了粘貼函數來快速聲明變量,現在我們來利用另一個函數className(),顧名思義,它的作用就是返回當前類名。

  1. <logger> 
  2.  
  3. ---------- 
  4.  
  5. /** logger */ 
  6.  
  7. privatestaticfinal Logger LOGGER = LoggerFactory.getLogger($CLASS$.class); 

最強大的 groovyScript()

如果說上面用到的函數提供的能力有限,不夠靈活,那么groovyScript()提供了一切你想要的能力,它支持執行 Groovy 腳本處理輸入,然后輸出處理后的字符串。

  1. groovyScript( "code" , ...) 
  2.  
  3. | code | 一段Groovy代碼或者Groovy腳本代碼絕對路徑 | 
  4.  
  5. | ... | 可選入參,這些參數會綁定到`_1, _2, _3, ..._n`, 在 Groovy 代碼中使用。| 

下面我們來看一下它的實際應用。

快速 bean 配置

新增一個服務都要在 Spring 中注冊一個 bean,一般這個配置無非就是將指明id和class,由于我們是在 xml 中配置,所以不能利用className()函數,但是我們可以利用clipboard()函數獲取到類的全引用,在 IDEA 中我們直接右鍵類名,點擊Copy Reference就行。然后執行 groovy 腳本獲取類名。

  1. <bean> 
  2.  
  3. ---------- 
  4.  
  5. <bean id= "$id$" class = "$REF$" /> 

id綁定decapitalize(groovyScript("_1.tokenize('.')[-1]", clipboard())),首先取clipboard()的值得到類的全引用,然后執行 groovy 代碼_1.tokenize('.')[-1](按.分割為字符串數組,然后取最后一個即可得到類名,然后用decapitalize()將首字母小寫即可得到id。

快速打印當前上下文信息

打印錯誤日志的時候需要打印當前上下文信息的,例如說入參,有時候入參很多的時候,寫起來很痛苦,好在有模板函數methodParameters(),返回當前函數參數的列表,當然這個列表我們不能直接使用,需要結合groovyScript對它進行轉化。

  1. <printContext> 
  2.  
  3. --------------- 
  4.  
  5. LogUtil.$TYPE$(LOGGER, "$MSG$ " + $params$); 

將params綁定到groovyScript("'"' + _1.collect { it + ' = [" + ' + it + ' + "]'}.join(', ') + '"'", methodParameters()),就能夠自動將當前函數的參數格式化后輸出

總結

上面我們簡單介紹了常用的模板函數,其實 IDEA 還有很多其它模板函數,具體參考Creating and Editing Template Variables

(https://www.jetbrains.com/help/idea/2016.3/creating-and-editing-template-variables.html)。

IDEA 是一個很強大的工具,善用工具能夠極大的提高工作效率,將精力投入到關鍵的事情上,而不是將時間浪費在編寫重復代碼上面。一些更高級的用法還有待大家去發掘。最后推廣一波代碼生成插件CodeMaker(https://github.com/x-hansong/CodeMaker),好好利用也能節省很多重復編寫代碼的時間。

 

 

責任編輯:張燕妮 來源: 搜云庫技術團隊
相關推薦

2023-05-17 16:02:00

CSS工具代碼生成器

2021-07-23 11:24:54

Create Inc開源G代碼生成器

2015-08-25 15:54:17

程序員代碼生成器

2021-09-17 09:50:29

Elpscrk智能字典生成器安全工具

2012-03-30 09:31:44

WEBCSS

2023-01-06 07:52:52

代碼生成器開發

2017-03-20 17:49:21

Java Web模板代碼

2021-12-10 09:45:19

生成器配置代碼

2021-10-29 11:25:41

代碼編程語言Java

2017-09-06 09:26:03

Python生成器協程

2009-07-03 09:29:24

KeelKit

2015-04-22 09:36:27

JAVA代碼生成器

2022-05-19 14:57:30

CSS代碼工具

2010-03-26 13:03:23

Boost.Pytho

2010-09-07 16:31:17

SQL語句insert

2011-12-23 13:42:05

JavaScript

2021-04-22 21:15:38

Generator函數生成器

2025-03-28 01:05:13

2017-07-01 16:02:39

分布式ID生成器

2025-01-23 08:36:27

CSS開發工具
點贊
收藏

51CTO技術棧公眾號

日韩毛片无码永久免费看| 免费成人进口网站| 中文字幕乱码在线观看| 91偷拍一区二区三区精品| 欧美精品xxxxbbbb| 国产激情片在线观看| 日本黄视频在线观看| 日韩激情中文字幕| 九九精品在线视频| aaaaaav| 韩国理伦片久久电影网| 亚洲宅男天堂在线观看无病毒| 国产私拍一区| 在线观看免费视频一区| 黄色av成人| 中文字幕日韩精品在线观看| 性高潮免费视频| 日本一区二区三区视频在线| 一区二区三区日本| 欧美一区二区三区在线播放 | 欧美性淫爽ww久久久久无| 黄色网在线视频| av在线日韩国产精品| 成人在线视频首页| 国产女人18毛片水18精品| 日韩成人av毛片| 999国产精品视频| 国产视频在线观看一区二区| 黄页网站在线看| 岛国精品在线| 欧美午夜精品久久久久久人妖| 51xx午夜影福利| 爱久久·www| 99视频在线观看一区三区| 91在线观看免费观看| 尤物视频免费观看| 国产精品一级| 欧美激情欧美激情在线五月| 成人做爰视频网站| 国产伦一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 国产美女18xxxx免费视频| 91av久久| 亚洲国产成人va在线观看天堂| 熟女视频一区二区三区| 一级毛片视频在线| 欧美高清一级片在线观看| 久久久久久九九九九| 日韩永久免费视频| 丁香六月综合激情| 不卡一卡2卡3卡4卡精品在| 一级片视频网站| 久久成人免费网站| 国产精品女人网站| 中文字幕在线观看欧美| 免费高清视频精品| 国产欧美日韩91| 中文字幕在线播放不卡| 另类小说综合欧美亚洲| 成人高h视频在线| 97精品人妻一区二区三区| 激情深爱一区二区| 91青青草免费在线看| 国内毛片毛片毛片毛片| 国产二区国产一区在线观看| 亚洲自拍在线观看| 国产视频手机在线观看| 丁香婷婷综合五月| 久久超碰亚洲| 春暖花开成人亚洲区| 国产女主播视频一区二区| 亚洲天堂电影网| 麻豆传媒在线观看| 亚洲一区欧美一区| 国产精品沙发午睡系列| 都市激情亚洲综合| 欧美综合亚洲图片综合区| 日韩一区二区三区久久| 国产激情一区| 精品福利在线导航| 国产交换配乱淫视频免费| 成人在线一区| 欧美另类暴力丝袜| 可以免费在线观看的av| 欧美a一区二区| 亚洲iv一区二区三区| 亚洲精品一区二区三区四区| 2021久久国产精品不只是精品| 午夜精品亚洲一区二区三区嫩草| 黄色一级大片在线免费看产| 午夜精品久久久| 手机在线免费观看毛片| 国产精品一区二区美女视频免费看 | 日韩美女免费观看| 一级特黄aaa| 成人av在线资源网站| 欧美日韩在线观看一区| 国产一区久久精品| 欧美日韩中文字幕在线视频| jizz欧美性11| 欧美激情久久久久久久久久久| 永久免费毛片在线播放不卡| 国产亚洲精品av| 日韩激情视频网站| 岛国视频一区免费观看| 国产香蕉在线| 亚洲一区在线看| 久久国产精品国产精品| 盗摄系列偷拍视频精品tp| 在线日韩中文字幕| 国产无套粉嫩白浆内谢| 久久国产婷婷国产香蕉| 久久久久九九九| 在线免费观看的av| 欧美少妇性性性| 国产精品久久久免费观看| 亚洲最新av| 国产精品xxx视频| 蜜桃视频污在线观看| 国产精品乱人伦| 毛片一区二区三区四区| 日韩欧美中文字幕在线视频 | 日日骚欧美日韩| 国产日韩欧美一区二区| 草莓福利社区在线| 欧洲亚洲精品在线| 粉嫩av懂色av蜜臀av分享| 亚洲最大黄网| 国产精品尤物福利片在线观看| 无码精品人妻一区二区| 亚洲久草在线视频| gogogo高清免费观看在线视频| 窝窝社区一区二区| 欧美精品久久久久久久久| 国产精品毛片一区二区在线看舒淇| 久久一区二区三区国产精品| 黄色成人在线看| aiss精品大尺度系列| 欧美成人第一页| 国产免费一区二区三区最新不卡 | 亚洲香蕉成人av网站在线观看| 日本三级理论片| 粉嫩av一区二区三区在线播放| a级黄色片网站| 国产精品国产亚洲精品| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲一区中文字幕在线| 中文字幕精品一区二区精品绿巨人 | 美国一级黄色录像| 日韩综合小视频| 日本在线观看不卡| 色豆豆成人网| 在线观看精品国产视频| 国产成人av免费| 国产精品久久久久久久久免费丝袜| 亚洲77777| 久久免费大视频| 国产在线不卡精品| av观看在线| 精品成人a区在线观看| 日韩av免费网址| 91在线码无精品| 久久无码高潮喷水| 久久99免费视频| 久久久久久久爱| 婷婷伊人综合中文字幕| 香蕉久久一区二区不卡无毒影院 | 亚洲精品不卡| 怡红院成人在线| 亚洲日韩第一页| 在线永久看片免费的视频| 91麻豆免费看| 99久久久无码国产精品6| 日本电影一区二区| 国产日韩在线视频| 超碰电影在线播放| 欧美电影免费提供在线观看| 精品无码人妻一区二区三区品| av日韩在线网站| av观看免费在线| 精品国产一区二区三区噜噜噜| 国产精品日韩在线播放| 黄色免费在线看| 亚洲精品久久久久久下一站| 黄色在线视频网址| 国产精品素人视频| 午夜xxxxx| 亚洲黑丝一区二区| 午夜精品福利一区二区| 国产一区二区av在线| 国产69精品久久久久9| 天堂在线一二区| 91福利国产精品| 欧美成人综合色| aaa国产一区| 久草福利视频在线| 欧美国产偷国产精品三区| 粉嫩高清一区二区三区精品视频| 国产99在线| 国产亚洲视频在线| 精品人妻一区二区三区三区四区| 色婷婷av一区二区三区大白胸| 久久99久久99精品免费看小说| 国产精品综合二区| 春日野结衣av| 日韩成人影院| 久久久久一区二区三区| 久久国内精品| 久久久久久伊人| av在线电影网| 精品视频一区在线视频| 国产原创中文av| 日韩欧美黄色动漫| www.5588.com毛片| 99久久精品国产导航| 亚洲天堂一区二区在线观看| 美女网站久久| 国产一区二区片| 精品国产91乱码一区二区三区四区| 国产精品播放| 欧美黑粗硬大| 51色欧美片视频在线观看| 大地资源网3页在线观看| 亚洲精品国产成人| 国产女人高潮时对白| 色香色香欲天天天影视综合网| 免费一级全黄少妇性色生活片| 国产拍欧美日韩视频二区| 波多野结衣一二三区| 国产在线视频一区二区| 成人性生生活性生交12| 一区视频在线看| 一区二区三区久久网| 香蕉久久精品| 国产精品免费一区二区三区四区| 国产一区二区三区影视| 88国产精品欧美一区二区三区| 白白色在线观看| 大胆人体色综合| 91激情在线| 亚洲午夜未满十八勿入免费观看全集| 色鬼7777久久| 精品国产不卡一区二区三区| 国产99久久九九精品无码免费| 欧美日韩专区在线| 久久国产精品系列| 精品国产福利在线| 中文字幕一区二区三区手机版 | 一本色道久久88亚洲精品综合| 国产乱码精品一区二区亚洲| 久久久久久精| 全球av集中精品导航福利| 久草一区二区| 欧美大片网址| 久久精品国产精品青草色艺| 国产精品久久久网站| 久久久福利视频| 欧美三级电影在线| 国产综合欧美在线看| 男人的天堂久久| 美女一区视频| 国产最新精品| 亚洲精品中文综合第一页| 婷婷伊人综合| 无码人妻aⅴ一区二区三区日本| 国产精品久久久久久| 亚洲一区二区三区加勒比| 久久免费精品视频在这里| 欧美性视频在线播放| 在线观看国产精品入口| 国产精品三级一区二区| 国产精品红桃| 凹凸国产熟女精品视频| 麻豆91在线播放| 亚洲天堂网站在线| 国产精品18久久久久久久网站| 催眠调教后宫乱淫校园| 不卡视频在线观看| 国内精品久久99人妻无码| 国产午夜精品一区二区| 91ts人妖另类精品系列| 尤物av一区二区| 九九热在线视频播放| 色综合欧美在线视频区| 亚洲视频在线观看一区二区| 精品国产电影一区二区| 精华区一区二区三区| 久久好看免费视频| 男女羞羞视频在线观看| 538国产精品一区二区免费视频| 亚洲精品国产嫩草在线观看| 成人h猎奇视频网站| 玖玖玖免费嫩草在线影院一区| 欧美成人dvd在线视频| 香蕉久久网站| 91黄色在线看| 美女国产一区二区三区| 韩国av中国字幕| 久久久综合网站| 久久久综合久久久| 在线观看国产精品网站| 国产精品视频无码| 亚洲成人精品视频在线观看| 亚洲乱亚洲乱妇| 97视频免费看| 视频91a欧美| 欧美一区观看| 欧美日韩精品一本二本三本 | 999国内精品视频在线| 国产精品自拍区| 国产一区二区四区| 蜜桃av噜噜一区| 国产麻豆天美果冻无码视频| 亚洲天堂av一区| 波多野结衣在线观看视频| 欧洲亚洲精品在线| 性xxxx视频| 欧美老女人在线视频| 99亚洲伊人久久精品影院| 久久久久无码国产精品一区| 欧美日韩hd| 老司机久久精品| 久久一区二区三区四区| 国产成人精品a视频一区| 91精选在线观看| 国产香蕉视频在线看| 2020久久国产精品| 91综合精品国产丝袜长腿久久| 无码免费一区二区三区免费播放| 国内精品嫩模av私拍在线观看| 中文字幕第10页| 国产精品久久久久aaaa樱花| 国产精品久久久久久久久久久久久久久久久 | 日韩精品第1页| 极品美女销魂一区二区三区| 亚洲成人黄色av| 疯狂欧美牲乱大交777| 成人久久久精品国产乱码一区二区 | 天天超碰亚洲| 国产天堂在线播放| 91麻豆视频网站| 久久久久久久久99| 精品国产伦一区二区三区免费 | 国产精品自拍视频在线| 久久久久久影视| 国产主播第一页| 亚洲欧洲在线播放| 黑人巨大亚洲一区二区久| 欧美国产综合视频| 亚洲综合社区| aaaaaav| 亚洲国产一区二区三区青草影视| 亚洲成人黄色片| 欧美xxxx18国产| 韩国三级大全久久网站| 中国一区二区三区| 激情成人综合网| 永久久久久久久| 欧美一区二区在线播放| 色www永久免费视频首页在线| 51精品国产人成在线观看| 一区二区三区四区日韩| av漫画在线观看| 精品日韩视频在线观看| 三级在线播放| 国产精品女人网站| 99re6这里只有精品| 国产乱码一区二区三区四区| 亚洲女性喷水在线观看一区| www.av日韩| 性色av一区二区三区在线观看| 亚洲精华一区二区三区| 蜜臀av午夜一区二区三区| 久久久久久久久久久电影| 天码人妻一区二区三区在线看| 亚洲性夜色噜噜噜7777| 色噜噜成人av在线| 日韩 欧美 视频| 2023国产精品| 97久久人国产精品婷婷| 欧美激情极品视频| 日韩aaa久久蜜桃av| 99免费视频观看| 亚洲精选视频在线| 无码国产色欲xxxx视频| 国产精品久久综合av爱欲tv| 欧美欧美全黄| 18禁裸乳无遮挡啪啪无码免费| 欧美在线啊v一区| 福利网站在线观看| 免费不卡亚洲欧美| 久久国产综合精品| 亚洲二区在线播放| 日韩精品免费综合视频在线播放| 色综合天天色| 影音先锋男人的网站| 久久在线观看免费| 91精品国产乱码久久| 欧美二区在线播放| 成人国产精品一级毛片视频|