Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
打開 IDEA 的 Settings,點(diǎn)擊 Editor-->File and Code Templates,點(diǎn)擊右邊 File 選項(xiàng)卡下面的 Class,在其中添加圖中紅框內(nèi)的內(nèi)容:
/**
* @author jitwxs
* @date ${YEAR}年${MONTH}月${DAY}日 ${TIME}
*/
在我提供的示例模板中,說明了作者和時(shí)間,IDEA 支持的所有的模板參數(shù)在下方的 Description 中被列出來。
保存后,當(dāng)你創(chuàng)建一個(gè)新的類的時(shí)候就會(huì)自動(dòng)添加類注釋。如果你想對(duì)接口也生效,同時(shí)配置上圖中的 Interface 項(xiàng)即可。
不同于目前網(wǎng)絡(luò)上互相復(fù)制粘貼的方法注釋教程,本文將實(shí)現(xiàn)以下功能:
相較于類模板,為方法添加注釋模板就較為復(fù)雜,首先在 Settings 中點(diǎn)擊 Editor-->Live Templates。
點(diǎn)擊最右邊的 +,首先選擇 2. Template Group... 來創(chuàng)建一個(gè)模板分組:
在彈出的對(duì)話框中填寫分組名,我這里叫做 userDefine:
然后選中剛剛創(chuàng)建的模板分組 userDefine,然后點(diǎn)擊 +,選擇 1. Live Template:
此時(shí)就會(huì)創(chuàng)建了一個(gè)空的模板,我們修改該模板的 Abbreviation、Description 和 Template text。需要注意的是,Abbreviation 必須為 *,最后檢查下 Expand with 的值是否為 Enter 鍵。
上圖中· Template text 內(nèi)容如下,請(qǐng)直接復(fù)制進(jìn)去,需要注意首行沒有 /,且 \* 是頂格的。
*
*
* @author jitwxs
* @date $date$ $time$$param$ $return$
*/
注意到右下角的 No applicable contexts yet 了嗎,這說明此時(shí)這個(gè)模板還沒有指定應(yīng)用的語(yǔ)言:
點(diǎn)擊 Define,在彈框中勾選Java,表示將該模板應(yīng)用于所有的 Java 類型文件。
設(shè)置 applicable contexts
還記得我們配置 Template text 時(shí)里面包含了類似于 $date$ 這樣的參數(shù),此時(shí) IDEA 還不認(rèn)識(shí)這些參數(shù)是啥玩意,下面我們對(duì)這些參數(shù)進(jìn)行方法映射,讓 IDEA 能夠明白這些參數(shù)的含義。點(diǎn)擊 Edit variables 按鈕:
為每一個(gè)參數(shù)設(shè)置相對(duì)應(yīng)的 Expression:
設(shè)置 Expression
需要注意的是,date 和 time 的 Expression 使用的是 IDEA 內(nèi)置的函數(shù),直接使用下拉框選擇就可以了,而 param 這個(gè)參數(shù) IDEA 默認(rèn)的實(shí)現(xiàn)很差,因此我們需要手動(dòng)實(shí)現(xiàn),代碼如下:
groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\r\\n ' : '')}; return result == '' ? null : '\\r\\n ' + result", methodParameters())
另外 return 這個(gè)參數(shù)我也自己實(shí)現(xiàn)了下,代碼如下:
groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())
注:你還注意到我并沒有勾選了 Skip if defined 屬性,它的意思是如果在生成注釋時(shí)候如果這一項(xiàng)被定義了,那么鼠標(biāo)光標(biāo)就會(huì)直接跳過它。我并不需要這個(gè)功能,因此有被勾選該屬性。
點(diǎn)擊 OK 保存設(shè)置,大功告成!
類注釋只有在新建類時(shí)才會(huì)自動(dòng)生成,效果如下:
類注釋
將演示以下幾種情況:
方法注釋
(1)為什么模板的 Abbreviation 一定要叫 \* ?Expand with 要保證是 Enter 鍵?
答:因?yàn)?IDEA 模板的生成邏輯是 模板名 + 生成鍵,當(dāng)生成鍵是 Enter 時(shí),我們輸入 * + Enter 就能夠觸發(fā)模板。
這也同時(shí)說明了為什么注釋模板首行是一個(gè) * 了,因?yàn)楫?dāng)我們先輸入 /*,然后輸入 * + Enter,觸發(fā)模板,首行正好拼成了 /**,符合 Javadoc 的規(guī)范。
(2)注釋模板中為什么有一行空的 \*?
答:因?yàn)槲伊?xí)慣在這一行寫方法說明,所以就預(yù)留了一行空的寫,你也可以把它刪掉。
(3)注釋模板中 $time$$param$ 這兩個(gè)明明不相干的東西為什么緊貼在一起?
答:首先網(wǎng)上提供的大部分 param 生成函數(shù)在無(wú)參情況下仍然會(huì)生成一行空的 @param,因此我對(duì)param 函數(shù)的代碼進(jìn)行修改,使得在無(wú)參情況下不生成 @param,但是這就要求 $param$ 要和別人處在同一行中,不然沒法處理退格。
(4)為什么 return 參數(shù)不使用 methodReturnType(), 而要自己實(shí)現(xiàn)?
答:methodReturnType() 在無(wú)返回值的情況下會(huì)返回 void,這并沒有什么意義,因此我對(duì) methodReturnType() 返回值進(jìn)行了處理,僅在有返回值時(shí)才生成。
(5)為什么 $return$ 不是單獨(dú)一行?
答:因?yàn)楫?dāng) methodReturnType() 返回 null 時(shí),無(wú)法處理退格問題,原因同第三點(diǎn)。
文章作者: Jitwxs
鏈接: https://jitwxs.cn/4135e0a9.html
DEA 全稱 IntelliJ IDEA,是java編程語(yǔ)言開發(fā)的集成環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具,尤其在智能代碼助手、代碼自動(dòng)提示、重構(gòu)、JavaEE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說是超常的。IDEA是JetBrains公司的產(chǎn)品,這家公司總部位于捷克共和國(guó)的首都布拉格,開發(fā)人員以嚴(yán)謹(jǐn)著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費(fèi)版只支持Java,Kotlin等少數(shù)語(yǔ)言。
俗話說:"工欲善其事必先利其器",今天準(zhǔn)備和大家一起分享一下實(shí)際工作中能提升幸福感和工作效率的IDEA插件。
廢話不多說,let's go !!!
1Alibaba Java Coding Guidelines
【阿里巴巴代碼規(guī)范檢查插件】
在你需要檢查的代碼上面,點(diǎn)擊右鍵,選擇編碼規(guī)約掃描
將會(huì)出現(xiàn)如下所示的檢查結(jié)果,并會(huì)給出編碼規(guī)范和提示:
2GsonFormat
【jsonToBean】
在平時(shí)的開發(fā)中,將json轉(zhuǎn)為Bean
3A8Translation
【翻譯的插件】
選中你要翻譯的漢語(yǔ)或英文,點(diǎn)擊鼠標(biāo)右鍵,選擇Translate, (快捷鍵是Alt+T)就會(huì)實(shí)現(xiàn)翻譯,不用再去切換屏幕使用翻譯軟件翻譯了。
4Maven Helper
【分析依賴沖突的插件】
此插件可用來方便顯示maven的依賴樹,和顯示沖突,在我們梳理依賴時(shí)幫助很大。
5Free Mybatis plugin
【增強(qiáng)idea對(duì)mybatis支持的插件】
生成mapper xml文件 快速?gòu)拇a跳轉(zhuǎn)到mapper及從mapper返回代碼 mybatis自動(dòng)補(bǔ)全及語(yǔ)法錯(cuò)誤提示 集成mybatis generator gui界面 這個(gè)插件超級(jí)實(shí)用,可以從mapper接口跳轉(zhuǎn)到mybatis的xml文件中,還能找到對(duì)應(yīng)地方
6Grep Console
【日志高亮顯示插件】
可以Ctrl + Alt +S Other Settings進(jìn)行配色(顏色參考請(qǐng)搜索:電腦最護(hù)眼的色彩、顯示屏亮度亦如此)
7Lombok
當(dāng)我們創(chuàng)建一個(gè)實(shí)體時(shí),通常對(duì)每個(gè)字段去生成GET/SET方法,但是萬(wàn)一后面需要增加或者減少字段時(shí),又要重新的去生成GET/SET方法,非常麻煩。可以通過該插件,無(wú)需再寫那么多冗余的get/set代碼。
注意:需要在pom引入依賴
<!--lombok用來簡(jiǎn)化實(shí)體類:需要安裝lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
8Nyan progress bar
基于Idea使用的漂亮進(jìn)度條。把你的加載進(jìn)度條全都變成彩虹和貓咪
9FindBugs-IDEA
【Bug檢查插件】
在文件上或文件里面點(diǎn)擊鼠標(biāo)右鍵,選擇FingBugs
簡(jiǎn)單的bug能給你快速找回來,什么NPE啥的,小兒科!推薦!!(嗓門大就說一遍)
10Key Promoter X
你還在為記不住快捷鍵煩惱嗎,Key Promoter X可以幫助你快速記住常用的快捷鍵。當(dāng)你在idea中用鼠標(biāo)點(diǎn)擊菜單,它可以顯示對(duì)應(yīng)的快捷鍵以及點(diǎn)擊次數(shù)。使用一段時(shí)間后有助于過渡到更快、無(wú)鼠標(biāo)的開發(fā)。
11JavaDoc
在項(xiàng)目中經(jīng)常要求寫代碼注釋,否則不能通過代碼門禁,JavaDoc工具可以一鍵生成注釋。
插件安裝成功后在菜單欄 code -> JavaDocs可以找到
自動(dòng)生成注釋效果如下:
12ignore
項(xiàng)目開發(fā)中通常會(huì)使用到git進(jìn)行版本管理,在提交代碼時(shí)經(jīng)常有人將本地的不必要的文件提交到代碼倉(cāng)庫(kù)中,使用.ignore插件可以很好解決這個(gè)問題。插件安裝完成后會(huì)在項(xiàng)目中生成一個(gè).ignore文件,編輯該文件忽略一些動(dòng)態(tài)生成的文件,如class文件,maven的target目錄等。
13RainbowBrackets
彩虹括號(hào),代碼中有多個(gè)括號(hào)會(huì)顯示不同的顏色。
14Activate-power-mode
在敲代碼時(shí)有抖動(dòng)酷炫的特效,非常適合給前端小姐姐表演特技。(壞笑)
15CodeGlance
16GenerateAllSetter
17RestfulToolkit
18JRebel
熱門部署插件,讓你在修改完代碼后,不用再重新啟動(dòng),很實(shí)用!但是,不是免費(fèi)的,需要大家發(fā)揮下聰明才智自行百度破解!
19Json Parser
厭倦了打開瀏覽器格式化和驗(yàn)證JSON?為什么不安裝JSON解析器并在IDE中使用離線支持呢?JSON解析器是一個(gè)用于驗(yàn)證和格式化JSON字符串的輕量級(jí)插件。
20aiXcode & codota
aiXcoder是一個(gè)強(qiáng)大的代碼完成器和代碼搜索引擎,基于最新的深度學(xué)習(xí)技術(shù)。它有可能向您推薦一整套代碼,這將幫助您更快地編寫代碼。aiXcoder還提供了一個(gè)代碼搜索引擎,以幫助您在GitHub上搜索API用例。
類似功能的插件還有codota,codota基于數(shù)百萬(wàn)個(gè)開源Java程序和您的上下文來完成代碼行,從而幫助您以更少的錯(cuò)誤更快地進(jìn)行編碼。新版本的codota提供以下功能:
比如我想知道list.stream.map(…)方法的參考使用,只需要光標(biāo)定位在map上,然后右鍵選擇菜單“Get relevant examples”或者使用快捷鍵“Ctrl + Shift + O”就可以快速搜索出來很多示例,非常方便。
來源:blog.csdn.net/CSDN_SAVIOR/article/details/122505538
明
IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一,尤其在智能代碼助手、代碼自動(dòng)提示、重構(gòu)、J2EE支持、Ant、JUnit、CVS整合、代碼審查、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說是超常的。IDEA是JetBrains公司的產(chǎn)品,這家公司總部位于捷克共和國(guó)的首都布拉格,開發(fā)人員以嚴(yán)謹(jǐn)著稱的東歐程序員為主。
常用設(shè)置
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。