摘要:代碼規(guī)約掃描插件以今年年初發(fā)布的阿里巴巴開(kāi)發(fā)規(guī)約為標(biāo)準(zhǔn),作為的插件形式存在,檢測(cè)代碼中存在不規(guī)范得位置然后給予提示。
IntelliJ IDEA是目前最好最強(qiáng)最智能的Java IDE,前幾天,他剛剛年滿18歲。
?
本文,給大家推薦幾款我私藏已久的,自己經(jīng)常使用的,可以提升代碼效率的插件。
IDEA插件簡(jiǎn)介常見(jiàn)的IDEA插件主要有如下幾類(lèi):
常用工具支持Java日常開(kāi)發(fā)需要接觸到很多常用的工具,為了便于使用,很多工具也有IDEA插件供開(kāi)發(fā)使用,其中大部分已經(jīng)在IDEA中默認(rèn)集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。
功能增強(qiáng)還有些插件提供了一些IDE中不具有的功能,比如靜態(tài)代碼掃描、代碼自動(dòng)生成等。
框架集成集成框架主要是為了提供框架定制的代碼和配置的生成,以及快速的訪問(wèn)框架提供的功能。例如集成Spring框架,Mybatis框架等。
UI定制化及優(yōu)化UI定制化相關(guān)的插件主要提供一下個(gè)性化需求定制,例如修改編輯區(qū)的背景圖片插件、修改代碼顏色等。
其他編程語(yǔ)言支持IDEA主要支持Java,為了使用其他語(yǔ)言,可以使用一些支持其他語(yǔ)言的插件,通過(guò)這些插件可以實(shí)現(xiàn)語(yǔ)法分析,配色主題,代碼格式化和提示等功能。例如Go語(yǔ)言的支持的插件。
個(gè)人或者公司特殊需求公司內(nèi)部插件
我的插件一覽這里簡(jiǎn)單介紹一些筆者日常開(kāi)發(fā)中使用到的插件。 以下是我的IDEA中自己安裝的插件列表。這些插件都是我經(jīng)過(guò)很長(zhǎng)時(shí)間的使用之后最終保留下來(lái)的,都是值得安裝的一些插件。其中被我打碼的就是公司內(nèi)部插件。
?
IDEA插件安裝IDEA的插件安裝非常簡(jiǎn)單,對(duì)于很多插件來(lái)說(shuō),只要你知道插件的名字就可以在IDEA里面直接安裝。
Preferences--->Plugins--->查找所需插件--->Install
或者
Preferences--->Plugins--->Install plug from disk --->選擇下載好的插件安裝
安裝之后重啟IDEA即可生效
IDEA插件倉(cāng)庫(kù)IntelliJ IDEA激發(fā)了許多Java開(kāi)發(fā)人員編寫(xiě)插件, IntelliJ IDEA Plugins(https://plugins.jetbrains.com... )中目前包含3000+個(gè)插件并且還在不斷增長(zhǎng)。
?
基本功能作者目前使用的IntelliJ IDEA版本是專(zhuān)業(yè)版2018.2.4(Ultimate Edition)
?
很多插件中提供的功能在這個(gè)版本中都已經(jīng)集成進(jìn)來(lái)了,這里簡(jiǎn)單說(shuō)幾個(gè)可能比較常用的,這幾種功能就無(wú)需加裝插件了。
背景圖片目前,IDEA支持設(shè)置背景圖片。這對(duì)于廣大程序員來(lái)說(shuō)無(wú)疑是個(gè)好功能。整日對(duì)著枯燥的代碼實(shí)在是會(huì)讓人疲乏。要是可以設(shè)置一張美女圖片的話。。。
設(shè)置方法
Ctrl+Shift+A(或者h(yuǎn)elp -> find action)調(diào)用彈窗后輸入Set Background Image
?
在里面設(shè)定要設(shè)置為Image的圖片,透明度調(diào)到15左右,保存即可。
?
效果如下
?
內(nèi)置terminal目前IntelliJ IDEA已經(jīng)有一個(gè)內(nèi)置的terminal工具,可以方便的使用shell命令。
?
內(nèi)置support目前很多新版本的IntelliJ IDEA中,已經(jīng)內(nèi)置了很多support插件,比如我們常用的markdown support 、UML support 以及 android support等。
?
PS:由于作者使用的是專(zhuān)業(yè)版,不知道社區(qū)版是否也會(huì)內(nèi)置這些插件,如果沒(méi)有內(nèi)置的話,讀者可以根據(jù)需要自行下載相關(guān)插件并安裝。
有了markdowm support插件以后,就可以直接預(yù)覽md語(yǔ)法的內(nèi)容了。
?
必備插件 Maven Helper目前,Java開(kāi)發(fā)很多都在使用maven進(jìn)行項(xiàng)目管理和自動(dòng)構(gòu)建。
日常開(kāi)發(fā)中,可能經(jīng)常會(huì)遇到j(luò)ar包沖突等問(wèn)題,就需要通過(guò)查看maven依賴(lài)樹(shù)來(lái)查查看依賴(lài)情況。這種方式不是很高效,這里推薦一個(gè)插件,安裝之后,直接打開(kāi)pom文件,即可查看依賴(lài)數(shù),還能自動(dòng)分析是否存在jar包沖突。
一旦安裝了Maven Helper插件,只要打開(kāi)pom文件,就可以打開(kāi)該pom文件的Dependency Analyzer視圖(在文件打開(kāi)之后,文件下面會(huì)多出這樣一個(gè)tab)。
?
進(jìn)入Dependency Analyzer視圖之后有三個(gè)查看選項(xiàng),分別是Conflicts(沖突)、All Dependencies as List(列表形式查看所有依賴(lài))、All Dependencies as Tree(樹(shù)結(jié)構(gòu)查看所有依賴(lài))。并且這個(gè)頁(yè)面還支持搜索。
FindBugs-IDEAFindBugs很多人都并不陌生,Eclipse中有插件可以幫助查找代碼中隱藏的bug,IDEA中也有這款插件。
使用方法很簡(jiǎn)單,就是可以對(duì)多種級(jí)別的內(nèi)容進(jìn)行finbugs
?
分析完之后會(huì)有一個(gè)視圖進(jìn)行提示,詳細(xì)的說(shuō)明是哪種問(wèn)題。
? 按照提示解決完問(wèn)題之后再執(zhí)行findbug查看情況即可。
阿里巴巴代碼規(guī)約檢測(cè)2017年10月14日杭州云棲大會(huì),Java代碼規(guī)約掃描插件全球首發(fā)儀式正式啟動(dòng),規(guī)范正式以插件形式公開(kāi)走向業(yè)界,引領(lǐng)Java語(yǔ)言的規(guī)范之路。
Java代碼規(guī)約掃描插件以今年年初發(fā)布的《阿里巴巴Java開(kāi)發(fā)規(guī)約》為標(biāo)準(zhǔn),作為Eclipse、IDEA的插件形式存在,檢測(cè)JAVA代碼中存在不規(guī)范得位置然后給予提示。規(guī)約插件是采用kotlin語(yǔ)言開(kāi)發(fā)的,感興趣的同學(xué)可以去開(kāi)看插件源碼。
阿里巴巴規(guī)約插件包含三個(gè)子菜單:編碼規(guī)約掃描、關(guān)閉試試檢測(cè)功能。
?
并且,該插件支持在編寫(xiě)代碼的同時(shí)進(jìn)行提示,
?
這款插件,真的可以很大程度上提升代碼質(zhì)量,一定要安裝。
GsonFormatJava開(kāi)發(fā)中,經(jīng)常有把json格式的內(nèi)容轉(zhuǎn)成Object的需求,比如項(xiàng)目開(kāi)始時(shí),合作方給你提供了一個(gè)json格式request/response,這時(shí)候你就需要將其定義成一個(gè)Java類(lèi),GsonFormat這款插件可以實(shí)現(xiàn)該功能。
?
Lombok plugin在Java中,我們經(jīng)常會(huì)定義很多JavaBean,這些Bean需要有g(shù)etter、setter、toString、equals和hashCode等方法。
通常情況下,我們可以使用IDEA的快捷鍵生成這些代碼,但是自動(dòng)生成的代碼后,如果bean中的屬性一旦有修改,需要重新生成,給代碼維護(hù)增加了一定的負(fù)擔(dān)。
有一款很好的插件,可以幫助開(kāi)發(fā)者節(jié)省這部分工作。那就是Lombok。
只要在IDEA中安裝了該插件,只需要在JavaBean中添加一行注解代碼,插件就會(huì)自動(dòng)幫我們生成getter、setter、toString、equals和hashCode等方法。
當(dāng)然,這些方法不止在IDE中的代碼調(diào)用中需要用到,在真正線上部署的時(shí)候也需要有,所以,還需要使用maven引入一個(gè)lombok的包。
/** * @author Hollis */ public class HollisLab { public static void main(String[] args) { Wechat wechat = new Wechat(); wechat.setId("Hollis"); wechat.setDesc("每日更新Java技術(shù)文章"); System.out.println(wechat); } } @Data class Wechat { private String id; private String desc; } org.projectlombok lombok 1.16.10
輸出結(jié)果:
Wechat(id=Hollis, desc=每日更新Java技術(shù)文章)
我們?cè)赪echat類(lèi)上面添加了@Data注解,插件就自動(dòng)幫我們添加了getter/setter和toString方法。
String Manipulation字符串日常開(kāi)發(fā)中經(jīng)常用到的,但是不同的字符串類(lèi)型在不同的地方可能有一些不同的規(guī)則,比如類(lèi)名要用駝峰形式、常量需要全部大寫(xiě)等,有時(shí)候還需要進(jìn)行編碼解碼等。這里推薦一款強(qiáng)大的字符串轉(zhuǎn)換工具——String Manipulation。
它強(qiáng)大到什么程度,看下他的功能列表你就知道了:
?
文本轉(zhuǎn)換操作
切換樣式(camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)
轉(zhuǎn)換為SCREAMING_SNAKE_CASE (或轉(zhuǎn)換為camelCase)
轉(zhuǎn)換為 snake_case (或轉(zhuǎn)換為camelCase)
轉(zhuǎn)換為dot.case (或轉(zhuǎn)換為camelCase)
轉(zhuǎn)換為hyphen-case (或轉(zhuǎn)換為camelCase)
轉(zhuǎn)換為hyphen-case (或轉(zhuǎn)換為snake_case)
轉(zhuǎn)換為camelCase (或轉(zhuǎn)換為Words)
轉(zhuǎn)換為camelCase (或轉(zhuǎn)換為lowercase words)
轉(zhuǎn)換為PascalCase (或轉(zhuǎn)換為camelCase)
選定文本大寫(xiě)
樣式反轉(zhuǎn)
Un/Escape
Un/Escape 選中的 java 文本
Un/Escape 選中的 javascript 文本
Un/Escape 選中的 HTML 文本
Un/Escape 選中的 XML 文本
Un/Escape 選中的 SQL 文本
Un/Escape 選中的 PHP 文本
將 diacritics(accents) 轉(zhuǎn)換為 ASCII
將非ASCII 轉(zhuǎn)換為轉(zhuǎn)義的Unicode
將轉(zhuǎn)義的Unicode轉(zhuǎn)換為字符串
Encode/Decode
Encode 選中的文本為 MD5 Hex16
De/Encode 選中的文本為 URL
De/Encode 選中的文本為 Base64
遞增/遞減
遞增/遞減所有找到的數(shù)字
復(fù)制行并且遞增/遞減所有找到的數(shù)字
創(chuàng)建序列:保持第一個(gè)數(shù)字,遞增替換所有其他數(shù)字
遞增重復(fù)的數(shù)字
按自然順序排序
按行倒序
按行隨機(jī)排序
區(qū)分大小寫(xiě)A-z排序
區(qū)分大小寫(xiě)z-A排序
不區(qū)分大小寫(xiě)A-Z排序
不區(qū)分大小寫(xiě)Z-A排序
按行長(zhǎng)度排序
通過(guò)子選擇行排序:每行僅處理一個(gè)選擇/插入符號(hào)
對(duì)齊
通過(guò)選定的分隔將選定的文本格式化為列/表格
將文本對(duì)齊為左/中/右
過(guò)濾/刪除/移除
grep選定的文本,所有行不匹配輸入文字將被刪除。 (不能在列模式下工作)
移除選定的文本
移除選定文本中的所有空格
刪除選定文本中的所有空格
刪除重復(fù)的行
只保留重復(fù)的行
刪除空行
刪除所有換行符
其他
交換字符/選擇/線/標(biāo)記
切換文件路徑分隔符:Windows < - > UNIX
安裝好插件后,選中需要處理的內(nèi)容后,按快捷鍵Alt+m,即可彈出工具功能列表。
很好很強(qiáng)大的一款字符串處理工具。
.ignore目前很多開(kāi)發(fā)都在使用git做版本控制工具,但是有些時(shí)候有些代碼我們是不想提到到我們的代碼倉(cāng)庫(kù)中的,比如ide自動(dòng)生成的一些配置文件,或者是我們打包生成的一些jar文件等,這時(shí)候就需要編寫(xiě)一個(gè).ignore文件,來(lái)排除那些不想被版本管理的文件。
這里推薦一個(gè)好用的插件.ignore,他可以幫我們方便的生成各種ignore文件。
安裝插件后,選中項(xiàng)目,右鍵新建的時(shí)候,會(huì)多出一個(gè).ignore文件的選項(xiàng),可以通過(guò)這個(gè)選項(xiàng)創(chuàng)建ignore文件。
?
在彈出的對(duì)話框中,可以自動(dòng)幫我們生成一份.ignore文件,這里我們讓其幫忙自動(dòng)排除所有和idea有關(guān)的文件。 ?
Mybatis plugin目前ORM框架中,Mybatis非常受歡迎。但是,同時(shí)給很多開(kāi)發(fā)帶來(lái)困擾的就是Mybatis需要很多xml的配置文件,有的時(shí)候很難去進(jìn)行修改。
這里推薦一款神器,可以讓你像編輯java代碼一樣編輯mybatis的文件。
Intellij Idea Mybatis插件主要功能:
提供Mapper接口與配置文件中對(duì)應(yīng)SQL的導(dǎo)航
編輯XML文件時(shí)自動(dòng)補(bǔ)全
根據(jù)Mapper接口, 使用快捷鍵生成xml文件及SQL標(biāo)簽
ResultMap中的property支持自動(dòng)補(bǔ)全,支持級(jí)聯(lián)(屬性A.屬性B.屬性C)
快捷鍵生成@Param注解
XML中編輯SQL時(shí), 括號(hào)自動(dòng)補(bǔ)全
XML中編輯SQL時(shí), 支持參數(shù)自動(dòng)補(bǔ)全(基于@Param注解識(shí)別參數(shù))
自動(dòng)檢查Mapper XML文件中ID沖突
自動(dòng)檢查Mapper XML文件中錯(cuò)誤的屬性值
支持Find Usage
支持重構(gòu)從命名
支持別名
自動(dòng)生成ResultMap屬性
?
? (圖源:https://www.oschina.net/p/int...)
但是這款插件是收費(fèi)的,但是不影響他確實(shí)是一個(gè)很實(shí)用,可以很大程度上提升開(kāi)發(fā)效率的插件。讀者可以考慮使用Free Mybatis plugin(這款插件我沒(méi)用過(guò),具體是否好用有待考證)。
Key promoter X對(duì)于很多剛剛開(kāi)始使用IDEA的開(kāi)發(fā)者來(lái)說(shuō),最苦惱的就是不知道快捷鍵操作是什么。
使用IDEA,如果所有操作都使用鼠標(biāo),那么說(shuō)明你還不是一個(gè)合格的程序員。
這里推薦一款可以進(jìn)行快捷鍵提示的插件Key promoter X。
Key Promoter X 是一個(gè)提示插件,當(dāng)你在IDEA里面使用鼠標(biāo)的時(shí)候,如果這個(gè)鼠標(biāo)操作是能夠用快捷鍵替代的,那么Key Promoter X會(huì)彈出一個(gè)提示框,告知你這個(gè)鼠標(biāo)操作可以用什么快捷鍵替代。
當(dāng)我使用鼠標(biāo)查看一個(gè)方法都被哪些類(lèi)使用的時(shí)候,就會(huì)提示:
?
記住這個(gè)快捷鍵以后,就可以使用快捷鍵代替鼠標(biāo)啦。
AceJump前面介紹了一款可以通過(guò)使用快捷鍵來(lái)代替鼠標(biāo)操作的插件,這里再介紹一款可以徹底擺脫鼠標(biāo)的插件,即AceJump
AceJump允許您快速將光標(biāo)導(dǎo)航到編輯器中可見(jiàn)的任何位置,只需點(diǎn)擊“ctrl +;”,然后輸入一個(gè)你想要跳轉(zhuǎn)到的字符,之后鍵入匹配的字符就跳轉(zhuǎn)到你想要挑戰(zhàn)的地方了。
?
如以上代碼,我想在這個(gè)類(lèi)中,跳轉(zhuǎn)到println那個(gè)位置,只需要按下快捷鍵:“ctrl +;”,然后輸入println,即可定位到目標(biāo)位置。
上圖中,我輸入了pri三個(gè)字母后,頁(yè)面提示三個(gè)可選項(xiàng),分別用字母G、H、D標(biāo)注,這時(shí)候只需要按下對(duì)應(yīng)字母,即可快速定位到指定位置,是不是很方便。
activate-power-mode最后,介紹一款程序員很好的在妹子面前裝X的插件——activate-power-mode 。
安裝了這款插件之后,你寫(xiě)代碼的時(shí)候,就會(huì)附加一些狂拽炫酷屌炸天的效果:
?
總結(jié)本文一共介紹了11款可以提升程序員開(kāi)發(fā)效率、提升代碼質(zhì)量、提升編碼心情的軟件。歡迎大家安裝嘗試一下。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/73122.html
以下是Java技術(shù)棧微信公眾號(hào)發(fā)布的關(guān)于 Java 的技術(shù)干貨,從以下幾個(gè)方面匯總。 Java 基礎(chǔ)篇 Java 集合篇 Java 多線程篇 Java JVM篇 Java 進(jìn)階篇 Java 新特性篇 Java 工具篇 Java 書(shū)籍篇 Java基礎(chǔ)篇 8張圖帶你輕松溫習(xí) Java 知識(shí) Java父類(lèi)強(qiáng)制轉(zhuǎn)換子類(lèi)原則 一張圖搞清楚 Java 異常機(jī)制 通用唯一標(biāo)識(shí)碼UUID的介紹及使用 字符串...
摘要:微信小程序應(yīng)用號(hào)開(kāi)發(fā)資源匯總文檔工具教程代碼插件組件文檔從搭建一個(gè)微信小程序開(kāi)始小程序開(kāi)發(fā)文檔小程序設(shè)計(jì)指南工具小程序開(kāi)發(fā)者工具官方支持微信小程序?qū)崟r(shí)預(yù)覽的支持的微信小程序組件化開(kāi)發(fā)框架轉(zhuǎn)在線工具小程序云端增強(qiáng)社區(qū)微信小程序 微信(小程序or應(yīng)用號(hào))開(kāi)發(fā)資源匯總-文檔-工具-教程-代碼-插件-組件 文檔 從搭建一個(gè)微信小程序開(kāi)始 小程序開(kāi)發(fā)文檔 小程序設(shè)計(jì)指南 工具 小程序開(kāi)發(fā)者...
摘要:原本地址人員正確使用的方式博客地址前言博主是開(kāi)發(fā)人員,以前一直都用來(lái)開(kāi)發(fā)的,說(shuō)實(shí)話感覺(jué)毫無(wú)美感可言,后來(lái)經(jīng)過(guò)同事介紹,認(rèn)識(shí)了,一眼就相中了黑色的主題風(fēng)格,自此就拋棄了舊愛(ài)。下文我將介紹一下正確的使用的方式。 showImg(https://segmentfault.com/img/remote/1460000009255931?w=640&h=400); 原本地址:Java人員正確使用...
摘要:選中一個(gè)后,按此快捷鍵可以同時(shí)選中另一個(gè),同時(shí)多了另一個(gè)光標(biāo)在下面新開(kāi)一行在上面新開(kāi)一行刪除整行。向左單位性地移動(dòng)光標(biāo),快速移動(dòng)光標(biāo)。開(kāi)啟關(guān)閉側(cè)邊欄。插件能為提供括號(hào),引號(hào)這類(lèi)高亮功能。用來(lái)安裝其官網(wǎng)上的所有主題。 古語(yǔ)有云,工欲善其事必先利其器。選擇一個(gè)好的工具,往往事半功倍。因?yàn)閭€(gè)人電腦原因,用 pycharm 太卡,所以想起了 sublime text,配置了一下,覺(jué)得挺好用。 ...
閱讀 2453·2021-11-23 09:51
閱讀 503·2019-08-30 13:59
閱讀 1820·2019-08-29 11:20
閱讀 2529·2019-08-26 13:41
閱讀 3237·2019-08-26 12:16
閱讀 729·2019-08-26 10:59
閱讀 3321·2019-08-26 10:14
閱讀 601·2019-08-23 17:21