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
17RestfulToolkit
18JRebel
熱門部署插件,讓你在修改完代碼后,不用再重新啟動,很實用!但是,不是免費的,需要大家發揮下聰明才智自行百度破解!
19Json Parser
厭倦了打開瀏覽器格式化和驗證JSON?為什么不安裝JSON解析器并在IDE中使用離線支持呢?JSON解析器是一個用于驗證和格式化JSON字符串的輕量級插件。
20aiXcode & codota
aiXcoder是一個強大的代碼完成器和代碼搜索引擎,基于最新的深度學習技術。它有可能向您推薦一整套代碼,這將幫助您更快地編寫代碼。aiXcoder還提供了一個代碼搜索引擎,以幫助您在GitHub上搜索API用例。
類似功能的插件還有codota,codota基于數百萬個開源Java程序和您的上下文來完成代碼行,從而幫助您以更少的錯誤更快地進行編碼。新版本的codota提供以下功能:
比如我想知道list.stream.map(…)方法的參考使用,只需要光標定位在map上,然后右鍵選擇菜單“Get relevant examples”或者使用快捷鍵“Ctrl + Shift + O”就可以快速搜索出來很多示例,非常方便。
來源:blog.csdn.net/CSDN_SAVIOR/article/details/122505538
Java代碼的時候,經常會涉及到重復性的操作,這個時候就會想要是有這樣一個插件就好了,如果是大家都會遇到的場景,IDE或許已經提供了,再不然也有可能有人編寫了相關的插件。
要是這個操作是你們的編碼環境特有的,那就只能自己寫工具了。所以這里來學學如何編寫IDEA插件,讓自己的編程環境更加強大,更好的進行裝x。
開發IDEA插件有以下這些依賴:
你可能已經安裝了Ultimate版本,但是你還是需要安裝[IDEA][]的社區版本。因為商業版是閉源的,所以在調試時無法調試核心代碼。
社區版的安裝包里是不包含源碼的,所以我們需要手動從github上clone一份:
git clone --depth 1 git://git.jetbrains.org/idea/community.git idea
關于從源碼運行IDEA的方法參考 Check Out And Build Community Edition:
http://www.jetbrains.org/intellij/sdk/docs/basics/checkout_and_build_community.html
雖然不知道原因,但是根據Check Out And Build Community Edition:
http://www.jetbrains.org/intellij/sdk/docs/basics/checkout_and_build_community.html
我們需要建立一個 IDEA jdk來運行插件:
除非你在Mac上使用官方JDK,否則你需要手動添加 /lib/tools.jar到classpath中。關注微信公眾號:匠心零度,在后臺回復:idea,可以獲取我整最新 IDEA 教程,都是干貨。
打開 File|ProjectStructure新建一個 IntelliJPlatformSDK:
Java SDK選擇我們剛剛建立的 IDEA jdk:
然后我們可以把下載的IDEA社區版源碼添加到源碼路徑中,這樣在調試時,就可以調試IDEA自身的代碼了:
我們來編寫一個最簡單的插件來學習編寫一個插件的完整步驟。
選擇 IntellJPlatformPlugin,然后Project SDK指定剛剛新建的plugin sdk:
新建的插件項目:
插件根目錄下有兩個目錄 src和 resources。src是插件代碼目錄, resource是插件資源目錄,其中 META-INF/plugin.xml是插件的描述文件,就像Java web項目的 web.xml一樣。
plugin.xml默認的內容如下:
<idea-plugin> <id>com.your.company.unique.plugin.id</id> <name>Plugin display name here</name> <version>1.0</version> <vendor email="support@yourcompany.com" url="http://www.yourcompany.com">YourCompany</vendor> <description><!\[CDATA\[ Enter short description for your plugin here.<br> <em>most HTML tags may be used</em> \]\]></description> <change-notes><!\[CDATA\[ Add change notes here.<br> <em>most HTML tags may be used</em> \]\]> </change-notes> <!\-\- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting\_started/build\_number_ranges.html for description --> <idea-version since-build="145.0"/> <!\-\- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting\_started/plugin\_compatibility.html on how to target different products --> <!\-\- uncomment to enable plugin in all products <depends>com.intellij.modules.lang</depends> --> <extensions defaultExtensionNs="com.intellij"> <!\-\- Add your extensions here --> </extensions> <actions> <!\-\- Add your actions here --> </actions> </idea-plugin>
插件擴展IDEA最常見的方式就是在菜單欄或者工具欄中添加菜單項,用戶通過點擊菜單項來觸發插件功能。IDEA提供了 AnAction類,這個類有一個虛方法 actionPerformed,這個方法會在每次菜單被點擊時調用。
新建一個自定義的Action有兩個步驟:
1、 繼承 AnAction類,在 actionPerformed方法中實現插件邏輯 2、 注冊action,有兩種方式,通過代碼注冊和通過 plugin.xml注冊
我們先寫一個簡單的Action類:
publicclass TextBoxes extends AnAction { // 如果通過Java代碼來注冊,這個構造函數會被調用,傳給父類的字符串會被作為菜單項的名稱 // 如果你通過plugin.xml來注冊,可以忽略這個構造函數 public TextBoxes() { // 設置菜單項名稱 super("Text _Boxes"); // 還可以設置菜單項名稱,描述,圖標 // super("Text _Boxes","Item description",IconLoader.getIcon("/Mypackage/icon.png")); } public void actionPerformed(AnActionEvent event) { Project project=event.getData(PlatformDataKeys.PROJECT); String txt=Messages.showInputDialog(project, "What is your name?", "Input your name", Messages.getQuestionIcon()); Messages.showMessageDialog(project, "Hello, " \+ txt + "!\n I am glad to see you.", "Information", Messages.getInformationIcon()); } }
然后我們在 plugin.xml中注冊這個Action:
<actions> <group id="MyPlugin.SampleMenu" text="_Sample Menu" description="Sample menu"> <add-to-group group-id="MainMenu" anchor="last" /> <action id="Myplugin.Textboxes"class="Mypackage.TextBoxes" text="Text _Boxes" description="A test menu item" /> </group> </actions>
這里我們新建了一個菜單組,其中text字符串的下劃線表示這個字母作為快捷鍵。這個菜單顯示的效果如下:
除了手動新建Action,IDEA還提供了快速新建的方法,在代碼目錄上點擊新建,可以看到Action:
可以在這個面板中填寫你要新建的Action信息,IDEA會幫你新建類,還有在plugin.xml中幫你注冊:
運行插件特別簡單,和運行普通Java代碼一樣,點擊運行或者調試的按鈕,就會啟動一個新的IDEA實例,這個實例中插件是生效的。
點擊Text Boxes就可以看到插件的效果了。
asyCode是基于IntelliJ IDEA開發的代碼生成插件,支持自定義任意模板(Java,html,js,xml)。只要是與數據庫相關的代碼都可以通過自定義模板來生成。支持數據庫類型與java類型映射關系配置。支持同時生成生成多張表的代碼。每張表有獨立的配置信息。完全的個性化定義,規則由你設置。
EasyCode是基于IntelliJ IDEA Ultimate版開發的一個代碼生成插件,主要通過自定義模板(基于velocity)來生成各種你想要的代碼。通常用于生成Entity、Dao、Service、Controller。如果你動手能力強還可以用于生成HTML、JS、PHP等代碼。理論上來說只要是與數據有關的代碼都是可以生成的。
IntelliJ IDEA Ultimate版(172+)
因為是基于Database Tool開發,所有Database Tool支持的數據庫都是支持的。
包括如下數據庫:
當然支持的數據庫類型也會隨著Database Tool插件的更新同步更新。
更多功能可以查看https://gitee.com/makejava/EasyCode/wikis/pages,或者直接安裝就知道啦!
https://gitee.com/makejava/EasyCode
*請認真填寫需求信息,我們會在24小時內與您取得聯系。