《阿里巴巴Java開發(fā)手冊》IDEA插件與Eclipse插件使用指南

摘要:從插件安裝、插件使用、代碼掃描等方面扑毡,全面解決你關(guān)于阿里巴巴Java開發(fā)手冊插件的使用疑問有送。

首先非常感謝大家對插件的支持與意見淌喻,這里詳細介紹一下《阿里巴巴Java開發(fā)手冊》IDEA插件與Eclipse插件的安裝使用。

關(guān)于規(guī)約插件的背景介紹雀摘,可見上篇文章:提升團隊研發(fā)效能利器裸删,《阿里巴巴Java開發(fā)手冊》插件全球首發(fā)(附插件下載地址)

一、阿里巴巴Java開發(fā)手冊IDEA插件使用指南

通過Jetbrains官方倉庫安裝

1. 打開 Settings >> Plugins >> Browse repositories...

2. 在搜索框輸入alibaba即可看到Alibaba Java Code Guidelines插件阵赠,點擊Install進行安裝涯塔,然后重啟IDE生效注意:因為插件zip包托管在Jetbrains官方CDN上,所以是從國外的服務(wù)器進行下載清蚀,可能會出現(xiàn)超時的情況

通過下載安裝包進行安裝

1.打開插件頁面

2.Settings >> Plugins >> Install plugin from disk...匕荸,選擇剛剛下載的zip包安裝,然后重啟IDE

注意

最低支持IDEA版本為14.1(buildNumber 141.0轧铁,可以在About Intellij IDEA中查看版本信息)每聪,使用IDEA14的同學(xué)最好升級到14.1.7(歷史版本傳送門)

插件基于JDK1.7打包,所以IDEA啟動時使用的JDK版本如果是1.6的話就會報Unsupported major.minor version 51.0異常,建議大家都升級一下药薯。

中文亂碼解決方法

修改字體——Appearance&Behavior -> Appearance -> UI Options -> Name 里面設(shè)置成微軟雅黑(microsoft yahei light)

Switch Language to English and restart.

插件使用

目前插件實現(xiàn)了集團編碼規(guī)約中的41條規(guī)則绑洛,大部分基于PMD實現(xiàn),其中有4條規(guī)則基于IDEA實現(xiàn)童本,并且基于IDEAInspection實現(xiàn)了實時檢測功能真屯。部分規(guī)則實現(xiàn)了Quick Fix功能,對于可以提供Quick Fix但沒有提供的穷娱,我們會盡快實現(xiàn)绑蔫,也歡迎有興趣的同學(xué)加入進來一起努力。

目前插件檢測有兩種模式:實時檢測泵额、手動觸發(fā)配深。

實時檢測

實時檢測功能會在開發(fā)過程中對當前文件進行檢測,并以高亮的形式提示出來嫁盲,同時也可以支持Quick Fix篓叶,該功能默認開啟,可以通過配置關(guān)閉羞秤。

結(jié)果高亮提示

檢測結(jié)果高亮提示缸托,并且鼠標放上去會彈出提示信息。

IntentionQuickFix功能

Alt+Enter鍵可呼出Intention菜單瘾蛋,不同的規(guī)則會提示不同信息的Quick Fix按鈕

關(guān)閉實時檢測

在某些情況下俐镐,我們不希望對代碼提示違規(guī)信息,比如我們在閱讀Github開源項目代碼的時候哺哼,如果界面出現(xiàn)一堆紅色佩抹、黃色的提示,此時心里肯定是飄過一萬只草泥馬取董。這個時候我們可以通過Inspection的設(shè)置關(guān)閉實時檢測功能匹摇。

通過右鍵快速關(guān)閉(打開)所有規(guī)則的實時檢測功能

2. 通過Settings >> Editor >> Inspections 進行手動設(shè)置

也可以關(guān)閉某條規(guī)則的實時檢測功能或者修改提示級別。

代碼掃描

可以通過右鍵菜單甲葬、Toolbar按鈕、快捷鍵三種方式手動觸發(fā)代碼檢測懈贺。同時結(jié)果面板中可以對部分實現(xiàn)了QuickFix功能的規(guī)則進行快速修復(fù)经窖。

觸發(fā)掃描

在當前編輯的文件中點擊右鍵,可以在彈出的菜單中觸發(fā)對該文件的檢測梭灿。

在左側(cè)的Project目錄樹種點擊右鍵画侣,可以觸發(fā)對整個工程或者選擇的某個目錄、文件進行檢測堡妒。

如果您打開了IDE的Toolbar配乱,也可以通過Toolbar中的按鈕來觸發(fā)檢測,目前Toolbar的按鈕觸發(fā)的檢測范圍與您IDE當時的焦點有關(guān),如當前編輯的文件或者是Project目錄樹選中的項搬泥,是不是感覺與右鍵菜單的檢測范圍類似呢桑寨。

使用快捷鍵(Ctrl+Shift+Alt+J)觸發(fā)彈出窗口,選擇檢測范圍忿檩;您也可自定義快捷鍵尉尾。

掃描結(jié)果

檢測結(jié)果直接使用IDEA Run Inspection By Name功能的結(jié)果界面,插件的檢測結(jié)果分級為Blocker燥透、Critical沙咏、Major碉钠。默認按等級分組夫植,方便統(tǒng)計每個級別錯誤的數(shù)量钦铺。

默認情況我們在結(jié)果面板需要雙擊具體違規(guī)項才能打開對應(yīng)的源文件余爆,開啟Autoscroll To Source選項陆蟆,單擊面板中的文件名瞬逊、或者是具體的違規(guī)項的時候IDEA會自動打開對應(yīng)的源文件哎媚。

QuickFix

對于實現(xiàn)Quick Fix的規(guī)則垫言,在結(jié)果面板中可以直接一鍵修復(fù)注意:IDEA14杉女、15可以通過左下角的燈泡進行一鍵修復(fù)操作瞻讽。

二、阿里巴巴Java開發(fā)手冊Eclipse插件使用指南

首先非常感謝大家對插件的支持與意見熏挎,Eclipse的功能相對來說比較簡單速勇,希望有更多的同學(xué)加入進來一起完善。

插件安裝

環(huán)境:JDK1.8坎拐,Eclipse4+烦磁。有同學(xué)遇到過這樣的情況,安裝插件重啟后哼勇,發(fā)現(xiàn)沒有對應(yīng)的菜單項都伪,從日志上也看不到相關(guān)的異常信息,最后把JDK從1.6升級到1.8解決問題积担。

Help -> Install New Software...

輸入Update Site地址:https://p3c.alibaba.com/plugin/eclipse/update回車陨晶,然后勾選Ali-CodeAnalysis,再一直點Next Next...按提示走下去就好帝璧。 然后就是提示重啟了先誉,安裝完畢。

注意:有同學(xué)反映插件掃描會觸發(fā)JPA插件啟動后臺線程執(zhí)行不明任務(wù)的烁,如果不需要的話卸載掉JPA插件即可褐耳,目前尚未發(fā)現(xiàn)原因

插件使用

目前插件實現(xiàn)了開發(fā)手冊中的53條規(guī)則,大部分基于PMD實現(xiàn)渴庆,其中有4條規(guī)則基于Eclipse實現(xiàn)铃芦,支持4條規(guī)則的QuickFix功能雅镊。

* 所有的覆寫方法,必須加@Override注解刃滓,

* if/for/while/switch/do等保留字與左右括號之間都必須加空格,

* long或者Long初始賦值時仁烹,必須使用大寫的L,不能是小寫的l)

* Object的equals方法容易拋空指針異常注盈,應(yīng)使用常量或確定有值的對象來調(diào)用equals晃危。

目前不支持代碼實時檢測,需要手動觸發(fā)老客,希望更多的人加入進來一起把咱們的插件做得越來越來僚饭,盡量提升研發(fā)的使用體驗。

代碼掃描

可以通過右鍵菜單胧砰、Toolbar按鈕兩種方式手動觸發(fā)代碼檢測鳍鸵。同時結(jié)果面板中可以對部分實現(xiàn)了QuickFix功能的規(guī)則進行快速修復(fù)。

觸發(fā)掃描

在當前編輯的文件中點擊右鍵尉间,可以在彈出的菜單中觸發(fā)對該文件的檢測偿乖。

在左側(cè)的Project目錄樹種點擊右鍵,可以觸發(fā)對整個工程或者選擇的某個目錄哲嘲、文件進行檢測贪薪。

也可以通過Toolbar中的按鈕來觸發(fā)檢測,目前Toolbar的按鈕觸發(fā)的檢測范圍與您IDE當時的焦點有關(guān)眠副,如當前編輯的文件或者是Project目錄樹選中的項画切,是不是感覺與右鍵菜單的檢測范圍類似呢。

掃描結(jié)果

簡潔的結(jié)果面板囱怕,按規(guī)則等級分類霍弹,等級->規(guī)則->文件->違規(guī)項。同時還提供一個查看規(guī)則詳情的界面娃弓。

清除結(jié)果標記更方便典格,支持上面提到的4條規(guī)則QuickFix。

查看所有規(guī)則

國際化

文章作者:阿里云研發(fā)效能事業(yè)部?駿烈

如你在使用插件的過程里台丛,有任何問題或建議耍缴,歡迎與代碼規(guī)約作者孤盡聯(lián)系,也歡迎加入P3C項目組挽霉,一起打造具有全球競爭力私恬,效率/質(zhì)量最優(yōu)的一站式研發(fā)/運維/測試平臺,加入方式:guanbao.yanggb@taobao.com

原文鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末炼吴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子疫衩,更是在濱河造成了極大的恐慌硅蹦,老刑警劉巖荣德,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異童芹,居然都是意外死亡涮瞻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門假褪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來署咽,“玉大人,你說我怎么就攤上這事生音∧瘢” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵缀遍,是天一觀的道長慕匠。 經(jīng)常有香客問我,道長域醇,這世上最難降的妖魔是什么台谊? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮譬挚,結(jié)果婚禮上锅铅,老公的妹妹穿的比我還像新娘。我一直安慰自己减宣,他們只是感情好盐须,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蚪腋,像睡著了一般丰歌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屉凯,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天立帖,我揣著相機與錄音,去河邊找鬼悠砚。 笑死晓勇,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的灌旧。 我是一名探鬼主播绑咱,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼枢泰!你這毒婦竟也來了描融?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤衡蚂,失蹤者是張志新(化名)和其女友劉穎窿克,沒想到半個月后骏庸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡年叮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年具被,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片只损。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡一姿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出跃惫,到底是詐尸還是另有隱情叮叹,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布辈挂,位于F島的核電站衬横,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏终蒂。R本人自食惡果不足惜蜂林,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拇泣。 院中可真熱鬧噪叙,春花似錦、人聲如沸霉翔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽债朵。三九已至子眶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間序芦,已是汗流浹背臭杰。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谚中,地道東北人渴杆。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像宪塔,于是被迫代替她去往敵國和親磁奖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 前言 2017年2月9日,首次公布《阿里巴巴Java開發(fā)手冊》; 2017年9月25日某筐,阿里巴巴集團發(fā)布了《阿里巴...
    海瑞mt閱讀 272評論 0 0
  • 插件介紹 阿里技術(shù)公眾號于今年的2月9日首次公布《阿里巴巴Java開發(fā)規(guī)約》比搭,瞬間引起全民代碼規(guī)范的熱潮,上月底又...
    縮短了永恒閱讀 3,633評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,077評論 25 707
  • 這個夏天南誊,住在一樓的我注定與蚊子有一場死戰(zhàn)身诺。三月底蔽莱,乍暖還寒時候,它悄悄地來了戚长,最初只是默默地藏匿于碗櫥、門...
    天天向上2閱讀 1,412評論 0 3
  • 六分鐘的時光怠苔,轉(zhuǎn)瞬即逝同廉,可是對曾游來說,這是他和林宥的六輩子柑司。 “將死之人迫肖,你有什么遺愿嗎?”死神靜靜的看著躺在病...
    江京太閱讀 374評論 0 0