整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          IDEA這樣 配置注釋模板,讓你高出一個逼格

          IDEA這樣 配置注釋模板,讓你高出一個逼格

          、類注釋

          打開 IDEA 的 Settings,點擊 Editor-->File and Code Templates,點擊右邊 File 選項卡下面的 Class,在其中添加圖中紅框內的內容:

          /**
           * @author jitwxs
           * @date ${YEAR}年${MONTH}月${DAY}日 ${TIME}
           */
          

          在我提供的示例模板中,說明了作者和時間,IDEA 支持的所有的模板參數在下方的 Description 中被列出來。

          保存后,當你創建一個新的類的時候就會自動添加類注釋。如果你想對接口也生效,同時配置上圖中的 Interface 項即可。

          二、方法注釋

          不同于目前網絡上互相復制粘貼的方法注釋教程,本文將實現以下功能:

          • 根據形參數目自動生成 @param 注解
          • 根據方法是否有返回值智能生成 @Return 注解

          相較于類模板,為方法添加注釋模板就較為復雜,首先在 Settings 中點擊 Editor-->Live Templates

          點擊最右邊的 +,首先選擇 2. Template Group... 來創建一個模板分組:

          在彈出的對話框中填寫分組名,我這里叫做 userDefine:

          然后選中剛剛創建的模板分組 userDefine,然后點擊 +,選擇 1. Live Template

          此時就會創建了一個空的模板,我們修改該模板的 AbbreviationDescriptionTemplate text。需要注意的是,Abbreviation 必須為 *,最后檢查下 Expand with 的值是否為 Enter 鍵。

          上圖中· Template text 內容如下,請直接復制進去,需要注意首行沒有 /,且 \* 是頂格的

          *
           * 
           * @author jitwxs
           * @date $date$ $time$$param$ $return$
           */
          

          注意到右下角的 No applicable contexts yet 了嗎,這說明此時這個模板還沒有指定應用的語言:

          點擊 Define,在彈框中勾選Java,表示將該模板應用于所有的 Java 類型文件。

          設置 applicable contexts

          還記得我們配置 Template text 時里面包含了類似于 $date$ 這樣的參數,此時 IDEA 還不認識這些參數是啥玩意,下面我們對這些參數進行方法映射,讓 IDEA 能夠明白這些參數的含義。點擊 Edit variables 按鈕:

          為每一個參數設置相對應的 Expression

          設置 Expression

          需要注意的是,datetimeExpression 使用的是 IDEA 內置的函數,直接使用下拉框選擇就可以了,而 param 這個參數 IDEA 默認的實現很差,因此我們需要手動實現,代碼如下:

          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 這個參數我也自己實現了下,代碼如下:

          groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())
          

          注:你還注意到我并沒有勾選了 Skip if defined 屬性,它的意思是如果在生成注釋時候如果這一項被定義了,那么鼠標光標就會直接跳過它。我并不需要這個功能,因此有被勾選該屬性。

          點擊 OK 保存設置,大功告成!

          三、檢驗成果

          3.1 類注釋

          類注釋只有在新建類時才會自動生成,效果如下:

          類注釋

          3.2 方法注釋

          將演示以下幾種情況:

          1. 無形參
          2. 單個形參
          3. 多個形參
          4. 無返回值
          5. 有返回值

          方法注釋

          四、Q & A

          (1)為什么模板的 Abbreviation 一定要叫 \*Expand with 要保證是 Enter 鍵?

          答:因為 IDEA 模板的生成邏輯是 模板名 + 生成鍵,當生成鍵是 Enter 時,我們輸入 * + Enter 就能夠觸發模板。

          這也同時說明了為什么注釋模板首行是一個 * 了,因為當我們先輸入 /*,然后輸入 * + Enter,觸發模板,首行正好拼成了 /**,符合 Javadoc 的規范。

          (2)注釋模板中為什么有一行空的 \*

          答:因為我習慣在這一行寫方法說明,所以就預留了一行空的寫,你也可以把它刪掉。

          (3)注釋模板中 $time$$param$ 這兩個明明不相干的東西為什么緊貼在一起?

          答:首先網上提供的大部分 param 生成函數在無參情況下仍然會生成一行空的 @param,因此我對param 函數的代碼進行修改,使得在無參情況下不生成 @param,但是這就要求 $param$ 要和別人處在同一行中,不然沒法處理退格。

          (4)為什么 return 參數不使用 methodReturnType(), 而要自己實現?

          答:methodReturnType() 在無返回值的情況下會返回 void,這并沒有什么意義,因此我對 methodReturnType() 返回值進行了處理,僅在有返回值時才生成。

          (5)為什么 $return$ 不是單獨一行?

          答:因為當 methodReturnType() 返回 null 時,無法處理退格問題,原因同第三點。

          文章作者: Jitwxs

          鏈接: https://jitwxs.cn/4135e0a9.html

          DEA 全稱 IntelliJ IDEA,是java編程語言開發的集成環境。IntelliJ在業界被公認為最好的java開發工具,尤其在智能代碼助手、代碼自動提示、重構、JavaEE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位于捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費版只支持Java,Kotlin等少數語言。

          俗話說:"工欲善其事必先利其器",今天準備和大家一起分享一下實際工作中能提升幸福感和工作效率的IDEA插件。

          廢話不多說,let's go !!!

          1Alibaba Java Coding Guidelines

          【阿里巴巴代碼規范檢查插件】

          在你需要檢查的代碼上面,點擊右鍵,選擇編碼規約掃描

          將會出現如下所示的檢查結果,并會給出編碼規范和提示:

          2GsonFormat

          【jsonToBean】

          在平時的開發中,將json轉為Bean

          3A8Translation

          【翻譯的插件】

          選中你要翻譯的漢語或英文,點擊鼠標右鍵,選擇Translate, (快捷鍵是Alt+T)就會實現翻譯,不用再去切換屏幕使用翻譯軟件翻譯了。

          4Maven Helper

          【分析依賴沖突的插件】

          此插件可用來方便顯示maven的依賴樹,和顯示沖突,在我們梳理依賴時幫助很大。

          5Free Mybatis plugin

          【增強idea對mybatis支持的插件】

          生成mapper xml文件 快速從代碼跳轉到mapper及從mapper返回代碼 mybatis自動補全及語法錯誤提示 集成mybatis generator gui界面 這個插件超級實用,可以從mapper接口跳轉到mybatis的xml文件中,還能找到對應地方

          6Grep Console

          【日志高亮顯示插件】

          可以Ctrl + Alt +S Other Settings進行配色(顏色參考請搜索:電腦最護眼的色彩、顯示屏亮度亦如此)

          7Lombok

          當我們創建一個實體時,通常對每個字段去生成GET/SET方法,但是萬一后面需要增加或者減少字段時,又要重新的去生成GET/SET方法,非常麻煩。可以通過該插件,無需再寫那么多冗余的get/set代碼。

          注意:需要在pom引入依賴

          <!--lombok用來簡化實體類:需要安裝lombok插件-->
          <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          </dependency>

          8Nyan progress bar

          基于Idea使用的漂亮進度條。把你的加載進度條全都變成彩虹和貓咪

          9FindBugs-IDEA

          【Bug檢查插件】

          在文件上或文件里面點擊鼠標右鍵,選擇FingBugs

          簡單的bug能給你快速找回來,什么NPE啥的,小兒科!推薦!!(嗓門大就說一遍)

          10Key Promoter X

          你還在為記不住快捷鍵煩惱嗎,Key Promoter X可以幫助你快速記住常用的快捷鍵。當你在idea中用鼠標點擊菜單,它可以顯示對應的快捷鍵以及點擊次數。使用一段時間后有助于過渡到更快、無鼠標的開發。

          11JavaDoc

          在項目中經常要求寫代碼注釋,否則不能通過代碼門禁,JavaDoc工具可以一鍵生成注釋。

          插件安裝成功后在菜單欄 code -> JavaDocs可以找到

          自動生成注釋效果如下:

          12ignore

          項目開發中通常會使用到git進行版本管理,在提交代碼時經常有人將本地的不必要的文件提交到代碼倉庫中,使用.ignore插件可以很好解決這個問題。插件安裝完成后會在項目中生成一個.ignore文件,編輯該文件忽略一些動態生成的文件,如class文件,maven的target目錄等。

          13RainbowBrackets

          彩虹括號,代碼中有多個括號會顯示不同的顏色。

          14Activate-power-mode

          在敲代碼時有抖動酷炫的特效,非常適合給前端小姐姐表演特技。(壞笑)

          15CodeGlance

          16GenerateAllSetter

          • 通過alt+enter對變量類生成對類的所有setter方法的調用
          • 當兩個對象具有相同的字段時生成一個轉換器
          • 當returnType為List Set Map時生成默認值
          • 在所有getter方法上生成對assertThat的調用

          17RestfulToolkit

          • 根據 URL 直接跳轉到對應的方法定義 ( 快捷鍵搜索 Ctrl + Alt + N 或者 Ctrl + \ ); —這個個人感覺非常好用,和Ctrl + F一樣重要。
          • 提供了一個 Services tree 的顯示窗口;
          • 一個簡單的 http 請求工具;
          • 在請求方法上添加了有用功能: 復制生成 URL;,復制方法參數…
          • 其他功能: java 類上添加 Convert to JSON 功能,格式化 json 數據 ( Windows: Ctrl + Enter; Mac: Command + Enter )。

          18JRebel

          熱門部署插件,讓你在修改完代碼后,不用再重新啟動,很實用!但是,不是免費的,需要大家發揮下聰明才智自行百度破解!

          19Json Parser

          厭倦了打開瀏覽器格式化和驗證JSON?為什么不安裝JSON解析器并在IDE中使用離線支持呢?JSON解析器是一個用于驗證和格式化JSON字符串的輕量級插件。

          20aiXcode & codota

          aiXcoder是一個強大的代碼完成器和代碼搜索引擎,基于最新的深度學習技術。它有可能向您推薦一整套代碼,這將幫助您更快地編寫代碼。aiXcoder還提供了一個代碼搜索引擎,以幫助您在GitHub上搜索API用例。

          類似功能的插件還有codota,codota基于數百萬個開源Java程序和您的上下文來完成代碼行,從而幫助您以更少的錯誤更快地進行編碼。新版本的codota提供以下功能:

          • 全線AI自動完成
          • 內聯和相關代碼示例
          • 根據用戶自己的編碼實踐進行編碼建議
          • 不用擔心你的代碼會被公開。codota不會將你的代碼發送到codota服務器,它只會從當前編輯的文件中發送最少的上下文信息,從而使codota能夠根據你當前的本地范圍進行預測。

          比如我想知道list.stream.map(…)方法的參考使用,只需要光標定位在map上,然后右鍵選擇菜單“Get relevant examples”或者使用快捷鍵“Ctrl + Shift + O”就可以快速搜索出來很多示例,非常方便。

          來源:blog.csdn.net/CSDN_SAVIOR/article/details/122505538

          IntelliJ在業界被公認為最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS整合、代碼審查、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位于捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主。

          常用設置

          • IntelliJ IDEA 的代碼提示和補充功能有一個特性:區分大小寫。如上圖標注 1 所示,默認就是 First letter 區分大小寫的。
          • 區分大小寫的情況是這樣的:比如我們在 Java 代碼文件中輸入 stringBuffer IntelliJ IDEA 是不會幫我們提示或是代碼補充的,但是如果我們輸入 StringBuffer 就可以進行代碼提示和補充。
          • 如果想不區分大小寫的話,改為 None 選項即可。

          • 如上圖 Gif 所示,該功能用來快速設置代碼檢查等級。我個人一般在編輯大文件的時候會使用該功能。IntelliJ IDEA 對于編輯大文件并沒有太大優勢,很卡,原因就是它有各種檢查,這樣是非常耗內存和 CPU 的,所以為了能加快大文件的讀寫,我一般會暫時性設置為 None。
          • Inspections 為最高等級檢查,可以檢查單詞拼寫,語法錯誤,變量使用,方法之間調用等。
          • Syntax 可以檢查單詞拼寫,簡單語法錯誤。
          • None 不設置檢查。

          • 如上圖標注 1 和 2 所示,默認 IntelliJ IDEA 是沒有開啟自動 import 包的功能。
          • 勾選標注 1 選項,IntelliJ IDEA 將在我們書寫代碼的時候自動幫我們優化導入的包,比如自動去掉一些沒有用到的包。
          • 勾選標注 2 選項,IntelliJ IDEA 將在我們書寫代碼的時候自動幫我們導入需要用到的包。但是對于那些同名的包,還是需要手動 Alt + Enter 進行導入的,IntelliJ IDEA 目前還無法智能到替我們做判斷。

          • 如上圖標注 1 所示,當我們 Java 類中導入的某個包下類超過這里設置的指定個數,就會換成用 * 號來代替。

          • 如上圖 Gif 所示,IntelliJ IDEA 默認是會折疊空包的,這樣就會出現包名連在一起的情況。但是有些人不喜歡這種結構,喜歡整個結構都是完整樹狀的,所以我們可以去掉演示中的勾選框即可。

          • 如上圖標注 1 所示,IntelliJ IDEA 有一種叫做 省電模式 的狀態,開啟這種模式之后 IntelliJ IDEA 會關掉代碼檢查和代碼提示等功能。所以一般我也會認為這是一種 閱讀模式,如果你在開發過程中遇到突然代碼文件不能進行檢查和提示可以來看看這里是否有開啟該功能。

          • 如上圖 Gif 所示,在我們按 Ctrl + Shift + N 進行打開某個文件的時候,我們可以直接定位到改文件的行數上。一般我們在調 CSS,根據控制臺找空指針異常的時候,使用該方法速度都會相對高一點。

          • 如上圖標注紅圈所示,我們可以對指定代碼類型進行默認折疊或是展開的設置,勾選上的表示該類型的代碼在文件被打開的時候默認是被折疊的,去掉勾選則反之。

          • 如上圖 Gif 所示,IntelliJ IDEA 支持對代碼進行垂直或是水平分組。一般在對大文件進行修改的時候,有些修改內容在文件上面,有些內容在文件下面,如果來回操作可能效率會很低,用此方法就可以好很多。當然了,前提是自己的瀏覽器分辨率要足夠高。

          • 如上圖箭頭所示,IntelliJ IDEA 默認是開啟單詞拼寫檢查的,有些人可能有強迫癥不喜歡看到單詞下面有波浪線,就可以去掉該勾選。但是我個人建議這個還是不要關閉,因為拼寫檢查是一個很好的功能,當大家的命名都是標準話的時候,這可以在不時方便地幫我們找到代碼因為拼寫錯誤引起的 Bug。

          • 如上圖 Gif 所示,我們可以對組件窗口的子窗口進行拖動移位,有時候設置過頭或是效果不滿意,那我們需要點擊此按鈕進行窗口還原。

          • 如上圖 Gif 所示,在沒有對 Ctrl + D 快捷鍵進行修改前,此快捷鍵將是用來復制并黏貼所選的內容的,但是黏貼的位置是補充在原來的位置后,我個人不喜歡這種風格,我喜歡復制所選的行數完整內容,所以進行了修改,修改后的效果如上圖 Gif 演示。

          • 如上圖 Gif 所示,默認 Ctrl + 空格 快捷鍵是基礎代碼提示、補充快捷鍵,但是由于我們中文系統基本這個快捷鍵都被輸入法占用了,所以我們發現不管怎么按都是沒有提示代碼效果的,原因就是在此。我個人建議修改此快捷鍵為 Ctrl + 逗號。

          • 如上圖 Gif 所示,IntelliJ IDEA 14 版本默認是不顯示內存使用情況的,對于大內存的機器來講不顯示也無所謂,但是如果是內存小的機器最好還是顯示下。如上圖演示,點擊后可以進行部分內存的回收。

          • 如上圖標注 1 所示,在打開很多文件的時候,IntelliJ IDEA 默認是把所有打開的文件名 Tab 單行顯示的。但是我個人現在的習慣是使用多行,多行效率比單行高,因為單行會隱藏超過界面部分 Tab,這樣找文件不方便。

          • 如上圖 Gif 所示,默認 IntelliJ IDEA 對于 Java 代碼的單行注釋是把注釋的斜杠放在行數的最開頭,我個人覺得這樣的單行注釋非常丑,整個代碼風格很難看,所以一般會設置為單行注釋的兩個斜杠跟隨在代碼的頭部。

          • 如上圖 Gif 所示,默認 Java 代碼的頭個花括號是不換行的,但是有人喜歡對稱結構的花括號,可以進行此設置。對于此功能我倒是不排斥,我個人也是頗喜歡這種對稱結構的,但是由于這種結構會占行,使得文件行數變多,所以雖然我個人喜歡,但是也不這樣設置。

          • 如上圖標注 1 所示,如果在 make 或 rebuild 過程中很慢,可以增加此堆內存設置,一般大內存的機器設置 1500 以上都是不要緊的。

          • 如上圖標注 1 所示,勾選此選項后,啟動 IntelliJ IDEA 的時候,默認會打開上次使用的項目。如果你只有一個項目的話,該功能還是很好用的,但是如果你有多個項目的話,建議還是關閉,這樣啟動 IntelliJ IDEA 的時候可以選擇最近打開的某個項目。
          • 如上圖紅圈所示,該選項是設置當我們已經打開一個項目窗口的時候,再打開一個項目窗口的時候是選擇怎樣的打開方式。
          • Open project in new window 每次都使用新窗口打開。
          • Open project in the same window 每次都替換當前已打開的項目,這樣桌面上就只有一個項目窗口。
          • Confirm window to open project in 每次都彈出提示窗口,讓我們選擇用新窗口打開或是替換當前項目窗口。

          • 如上圖 Gif 所示,對于橫向太長的代碼我們可以進行軟分行查看。軟分行引起的分行效果是 IntelliJ IDEA 設置的,本質代碼是沒有真的分行的。

          • 如上圖箭頭所示,該設置可以增加 Ctrl + E 彈出層顯示的記錄文件個數。

          • 如上圖箭頭所示,該設置可以增加打開的文件 Tab 個數,當我們打開的文件超過該個數的時候,早打開的文件會被新打開的替換。

          • 如上圖標注 1 所示,該區域的后綴類型文件在 IntelliJ IDEA 中將以標注 2 的方式進行打開。
          • 如上圖標注 3 所示,我們可以在 IntelliJ IDEA 中忽略某些后綴的文件或是文件夾,比如我一般會把 .idea 這個文件夾忽略。

          • 如上圖 Gif 所示,當我們設置了組件窗口的 Pinned Mode 屬性之后,在切換到其他組件窗口的時候,已設置該屬性的窗口不會自動隱藏。

          • 如上圖 Gif 所示,我們可以對某些文件進行添加到收藏夾,然后在收藏夾組件窗口中可以查看到我們收藏的文件。

          • 如上圖 Gif 所示,我們可以通過 Alt + F1 + 1 快捷鍵來定位當前文件所在 Project 組件窗口中的位置。

          • 如上圖 Gif 所示,我們可以勾選此設置后,增加 Ctrl + 鼠標滾輪 快捷鍵來控制代碼字體大小顯示。

          • 如上圖 Gif 所示,我們可以勾選此設置后,增加 Ctrl + 鼠標滾輪 快捷鍵來控制圖片的大小顯示。

          • 如上圖紅圈所示,默認 IntelliJ IDEA 是沒有勾選 Show line numbers 顯示行數的,但是我建議一般這個要勾選上。
          • 如上圖紅圈所示,默認 IntelliJ IDEA 是沒有勾選 Show method separators 顯示方法線的,這種線有助于我們區分開方法,所以也是建議勾選上的。

          • 如上圖 Gif 所示,我們選中要被折疊的代碼按 Ctrl + Alt + T 快捷鍵,選擇自定義折疊代碼區域功能。

          • 如上圖 Gif 所示,當我們在編輯某個文件的時候,自動定位到當前文件所在的 Project 組件窗口位置。

          • 如上圖 Gif 所示,即使我們項目沒有使用版本控制功能,IntelliJ IDEA 也給我們提供了本地文件歷史記錄。除了簡單的記錄之外,我們還可以給當前版本加標簽。

          • 如上圖 Gif 所示,我們還可以根據選擇的代碼,查看該段代碼的本地歷史,這樣就省去了查看文件中其他內容的歷史了。除了對文件可以查看歷史,文件夾也是可以查看各個文件變化的歷史。

          • 如上圖 Gif 所示,IntelliJ IDEA 自帶了代碼檢查功能,可以幫我們分析一些簡單的語法問題和一些代碼細節。

          • 如上圖 Gif 所示,IntelliJ IDEA 自帶模擬請求工具 Rest Client,在開發時用來模擬請求是非常好用的

          主站蜘蛛池模板: 精品视频一区二区三区免费| 国偷自产Av一区二区三区吞精| 91福利国产在线观一区二区| 亚洲男女一区二区三区| 久久精品无码一区二区三区| 日韩三级一区二区| 人妻少妇AV无码一区二区| 国产AV一区二区三区无码野战| 亚洲AV色香蕉一区二区| 蜜桃传媒一区二区亚洲AV| 国产丝袜无码一区二区视频| 麻豆精品人妻一区二区三区蜜桃| 视频精品一区二区三区| 亚洲高清日韩精品第一区| 国产精品毛片VA一区二区三区| 国产精品熟女视频一区二区| 久久国产三级无码一区二区| 一区二区三区四区无限乱码| 成人区人妻精品一区二区不卡网站| 日韩一区二区三区电影在线观看| 91福利国产在线观看一区二区| 亚洲国产精品一区第二页| 精品欧洲av无码一区二区| 无码国产精品一区二区免费式影视| 欧美日韩精品一区二区在线视频| 国产美女av在线一区| 精品亚洲av无码一区二区柚蜜| 亚洲国产精品一区二区第四页 | 国产精品美女一区二区视频| 亚洲一区二区三区亚瑟| 国产精品伦子一区二区三区| 久久精品免费一区二区三区| 无码人妻精品一区二区三区9厂| 成人区人妻精品一区二区不卡网站 | 国模丽丽啪啪一区二区| 无码av中文一区二区三区桃花岛| 久久国产三级无码一区二区| 日韩精品一区二区三区在线观看l 日韩精品一区二区三区毛片 | 高清国产精品人妻一区二区| 精品久久久中文字幕一区| 日韩高清国产一区在线|