閱讀684 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《阿裏巴巴Java開發手冊》IDEA插件與Eclipse插件使用指南

自10月14日《阿裏巴巴Java開發手冊》規約插件發布以來,就吸引了很多開發者的關注。如何更快速的掌握插件使用技巧,快速體驗令人激動的自動化、智能化的插件協同工作?相信這是大家想要了解的。在搜集了一些開發者的使用反饋後,阿裏巴巴Java開發手冊P3C項目IDE插件主要開發者駿烈針對需求,整理了一份詳細的插件使用指南,幫助大家更好地使用插件。


阿裏巴巴Java開發手冊IDEA插件使用指南


通過Jetbrains官方倉庫安裝


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


0?wx_fmt=png


2. 在搜索框輸入alibaba即可看到Alibaba Java Code Guidelines插件,點擊Install進行安裝,然後重啟IDE生效 


注意:因為插件zip包托管在Jetbrains官方CDN上,所以是從國外的服務器進行下載,可能會出現超時的情況。


0?wx_fmt=png


通過下載安裝包進行安裝


1. 打開插件頁麵


0?wx_fmt=png


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


0?wx_fmt=png


注意


最低支持IDEA版本為14.1(buildNumber 141.0,可以在About Intellij IDEA中查看版本信息),使用IDEA14的同學最好升級到14.1.7


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


中文亂碼解決方法


1.修改字體——Appearance&Behavior -> Appearance -> UI Options -> Name 裏麵設置成微軟雅黑(microsoft yahei light)


0?wx_fmt=png


2.Switch Language to English and restart.


0?wx_fmt=png


插件使用


目前插件實現了集團編碼規約中的41條規則,大部分基於PMD實現,其中有4條規則基於IDEA實現,並且基於IDEA Inspection實現了實時檢測功能。部分規則實現了Quick Fix功能,對於可以提供Quick Fix但沒有提供的,我們會盡快實現,也歡迎有興趣的同學加入進來一起努力。


目前插件檢測有兩種模式:實時檢測、手動觸發。


實時檢測


實時檢測功能會在開發過程中對當前文件進行檢測,並以高亮的形式提示出來,同時也可以支持Quick Fix,該功能默認開啟,可以通過配置關閉。


結果高亮提示


檢測結果高亮提示,並且鼠標放上去會彈出提示信息。


0?wx_fmt=png


0?wx_fmt=png


Intention QuickFix功能


Alt+Enter鍵可唿出Intention菜單,不同的規則會提示不同信息的Quick Fix按鈕


0?wx_fmt=png


關閉實時檢測


在某些情況下,我們不希望對代碼提示違規信息,比如我們在閱讀Github開源項目代碼的時候,如果界麵出現一堆紅色、黃色的提示,此時心裏肯定是飄過一萬隻草泥馬。這個時候我們可以通過Inspection的設置關閉實時檢測功能。


1.通過右鍵快速關閉(打開)所有規則的實時檢測功能


0?wx_fmt=png


2.通過Settings >> Editor >> Inspections 進行手動設置


0?wx_fmt=png

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


代碼掃描


可以通過右鍵菜單、Toolbar按鈕、快捷鍵三種方式手動觸發代碼檢測。同時結果麵板中可以對部分實現了QuickFix功能的規則進行快速修複。


觸發掃描


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


0?wx_fmt=png


在左側的Project目錄樹種點擊右鍵,可以觸發對整個工程或者選擇的某個目錄、文件進行檢測。


0?wx_fmt=png


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


0?wx_fmt=png


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


0?wx_fmt=png


0?wx_fmt=png


掃描結果


檢測結果直接使用IDEA Run Inspection By Name功能的結果界麵,插件的檢測結果分級為Blocker、Critical、Major。默認按等級分組,方便統計每個級別錯誤的數量。


0?wx_fmt=png


默認情況我們在結果麵板需要雙擊具體違規項才能打開對應的源文件,開啟Autoscroll To Source選項,單擊麵板中的文件名、或者是具體的違規項的時候IDEA會自動打開對應的源文件。


0?wx_fmt=png


QuickFix


對於實現Quick Fix的規則,在結果麵板中可以直接一鍵修複 

注意:IDEA14、15可以通過左下角的燈泡進行一鍵修複操作。


0?wx_fmt=png


0?wx_fmt=png


阿裏巴巴Java開發手冊Eclipse插件使用指南


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


插件安裝


環境:JDK1.8,Eclipse4+。有同學遇到過這樣的情況,安裝插件重啟後,發現沒有對應的菜單項,從日誌上也看不到相關的異常信息,最後把JDK從1.6升級到1.8解決問題。


Help -> Install New Software...


0?wx_fmt=png


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


0?wx_fmt=png


注意:有同學反映插件掃描會觸發JPA插件啟動後台線程執行不明任務,如果不需要的話卸載掉JPA插件即可,目前尚未發現原因。


插件使用


目前插件實現了開發手冊中的53條規則,大部分基於PMD實現,其中有4條規則基於Eclipse實現,支持4條規則的QuickFix功能。


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

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

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

* Object的equals方法容易拋空指針異常,應使用常量或確定有值的對象來調用equals。

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


代碼掃描


可以通過右鍵菜單、Toolbar按鈕兩種方式手動觸發代碼檢測。同時結果麵板中可以對部分實現了QuickFix功能的規則進行快速修複。


觸發掃描


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


0?wx_fmt=png


在左側的Project目錄樹種點擊右鍵,可以觸發對整個工程或者選擇的某個目錄、文件進行檢測。


0?wx_fmt=png


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


0?wx_fmt=png


掃描結果


簡潔的結果麵板,按規則等級分類,等級->規則->文件->違規項。同時還提供一個查看規則詳情的界麵。


清除結果標記更方便,支持上麵提到的4條規則QuickFix。


0?wx_fmt=png


查看所有規則


0?wx_fmt=png


0?wx_fmt=png


國際化


0?wx_fmt=png


0?wx_fmt=png



在使用插件過程中,有任何問題或建議,歡迎與代碼規約作者孤盡聯係,也歡迎加入P3C項目組,一起打造具有全球競爭力,效率/質量最優的一站式研發/運維/測試平台。郵件申請:guanbao.yanggb@taobao.com 


阿裏巴巴P3C項目組:P3C是世界知名的反潛機,專門對付水下潛水艇,寓意是掃描出所有潛在的代碼隱患。這個項目組是阿裏巴巴開發愛好者自發組織形成的虛擬項目組,把《阿裏巴巴Java開發手冊》強製條目轉化成自動化插件,並實現部分的自動編程。




最後更新:2017-10-18 11:04:03

  上一篇:go  黑客修改Verizon更新 帶來高速蜂窩網絡
  下一篇:go  金融安全資訊精選 2017年第十一期 銀行木馬利用VMvare進行傳播 研究人員發現新型安卓銀行木馬Red Alert