『網際網路架構』軟體架構-Intellij IDEA技巧篇(七)
從09年開始java的開發,用了很多的開發工具從myeclipse,eclipse,netbeans每個開發工具都有自己的特色,netbeans做gui很方便,myeclipse最初的時候外掛比eclipse豐富。eclipse更加輕量。從17年跟同事國美哥,開始熟悉使用idea,這款捷克這個小國家開發的工具。IntelliJ在業界被公認為最好的java開發工具之一,尤其在智慧程式碼助手、程式碼自動提示、重構、J2EE支援、各類版本工具(git、svn等)、JUnit、CVS整合、程式碼分析、 創新的GUI設計等方面的功能可以說是超常的,多虧了國美哥,劉司令,感謝國美哥,劉司令讓我上路idea,來不及握手,已經再見了。用了一款軟體多年,換個新的工具總有適應期,大概2-3周熟悉了就美滋滋了。原始碼:https://github.com/limingios/netFuture/tree/master/idea
IDEA
- 歷史
2001年1月釋出IntelliJ IDEA 1.0版本,同年七月釋出2.0,接下來基本每年釋出一個版本(2003除外),當然每年對各個版本都是一些升級。3.0版本之後,IDEA屢獲大獎,其中又以2003年的贏得的“Jolt Productivity Award”,“JavaWorld Editors’s Choice Award”為標誌,從而奠定了IDEA在IDE中的地位。
- 評價
雖然業界認為最好的java開發工具,但是怎麼個最,還需要自己來體會。支援多種語言,資料庫等等操作,程式碼索引的查詢,git外掛強過eclipse的git外掛。儘管IDEA目前還有些不足,但作為一個超過10年生命力還如此強勁的IDEA,得到如此的美譽並不簡單。
為什麼要使用它
快捷搜尋,分析,定位,重構高效。
* 優點
1. 智慧選取
選擇一塊程式碼,只是瞬間的問題。
2. 導航模式
很多想法很適合程式設計師的想法,maven外掛啊用起來很方便。
3. 歷史記錄
git和svn就有歷史的工具,但是idea本身都自帶歷史記錄的工具。歷史改變配套的一些工具。
4. 重構
正常做軟體開發,迭代的開發,改程式碼改歷史,程式碼一直是在前進的,重構是程式設計師老鐵必修的課程。
5. 編碼輔助
get set toString瞬間生成。
6. 智慧排版,控制
匯入匯出,智慧控制格式化。特別方便的。
7. 查詢
-
缺點
>收費
怎麼使用
-
安裝篇
>一路next
演示技巧
配置編碼問題
顯示工具欄以及工具按鈕欄
配置相關的工作空間
重點理解專案class檔案生成(執行打包編譯檔案儲存路徑)配置
IDEA構建專案的時候預設生成的iml檔案配置改成.classpath型別的檔案
設定工作空間中專案的相關的設定
設定編碼區字型的大小、字型型別、程式碼行距距離等
工具按鈕可以在區域範圍中推動擺設
DEDUG模式除錯配置
配置各種檔案的生成模板
這裡我就配置一個class檔案成的模板
快捷鍵設定
控制檯列印日誌的各種級別的顏色配置
空格與tab縮排設定
常用快捷鍵
說實話 我不想說,我建議還是自己看,因為什麼吧,不同的套路(eclipse,idea)顯示的快捷鍵的名字。只告訴如何看吧
DEA中匯出jar的原始碼
如果是Maven專案的時候,自動預設下載原始碼包,如果是javaWeb或者簡單的java專案,自定義加入的jar是沒有原始碼的,這時候手動新增原始碼包。
web專案tomcat
正常開發的一個套路,專案匯入或者建立後,配置伺服器,新增專案。
建立maven專案
配置完tomcat,跟上邊的war專案一樣,注意選擇的時候maven的要選exploded
先進行clean,intall,在目錄裡面target裡面會生成一個war包
啟動tomcat
tomcat遠端除錯
首先保證打出來的war包跟目前的專案是一致的,通過命令mvn package打成war包放入tomcat的webapps目錄下
命令tomcat的bin目錄下:
catalina.bat jpda start
debug模式下的修改引數的值
debug 已經有了某個引數,可以通過new watch的方式對變數賦值
填寫完在執行一步,自動就變成了,剛對message賦的新值
刪除new watch,重新進入就變成原來的值了
如果斷點太多可以在這裡處理
斷點介紹
外掛安裝
舉例:checkstyle 強烈推薦這個外掛真心爽!
軟體重構
-
名稱統一修改
>修改後,全部發生變化
-
方法變更引數
>選中某個方法完成引數的變更
-
方法遷移的方式
>A類a方法移動到B類,讓B類產生a方法
-
方法提取到上浮和下浮
>在開發會遇見這樣的場景,如果A類和B類都寫完了,需要寫一個公共類C把A和B的方法抽離到一起,放入C中。A類和B類都整合C,如果手動要改的話,比較麻煩。原來idea本身都自帶這個功能
如果是C類不想要了,可以下浮到A和B類
idea分析器
如何程式碼進行check,檢視程式碼的重複塊,覆蓋率,異常堆疊,資料的來源和去向。
-
程式碼進行check <專案比較大不要選擇整個專案,小心翻車>
>當太多的問題,堆積起來那就是絕對的問題了。針對接手一個新的專案,可能存在的問題,提前有個預警。不熟悉的東西來講查詢很方便。
裡面有顯示建議,有哪些引數未被使用,哪些是有問題的。
-
程式碼的重複塊<專案比較大不要選擇整個專案,小心翻車>
>真正展示技術的時候了,看看搬磚多,還是造航母多,通過這個工具就暴露了,太可怕了這個工具我真心不敢寫,怕害了各位老鐵。
B繼承C,B裡面又寫了一遍重複了,這都能檢查出來,還有什麼檢查不出來的老鐵。
- 分析堆疊
客戶說報錯,報錯內容撈出來看下,發給了我,我應該怎麼使用分析堆疊呢,這也是idea最牛逼的一點。
- 寫個java類製造個異常
public class Main { public static voidbbb(){ throw new RuntimeException("故意製造異常!"); } public static void main(String[] args) { bbb(); System.out.println("Hello World!"); } }
執行出現異常資訊
點選按鈕後就可以直接到指定異常的類了,慢慢分析程式碼吧,一種檢查問題的方式,非常方便。
資料的走向從哪裡來,要去哪裡
很多時候想分析一個變數的走向要記住這個變數的名稱然後一步一步ctrl+F的方式慢慢的找,從一個類到另一個類,有了這個工具一切都不是問題了。這個工具是跟蹤變數的。
PS:工欲善其事,必先利其器。當然,無論如何的誇它,都只是別人的體驗,若真想了解它,唯一的就是自己親自去體驗。沒有最流行的框架,只有最流行的helloword。最好的並不是最合適的。最合適的最好。簡單得東西對用過的人都會感覺很簡單,對沒用過的其實感覺好難。在使用idea開發的時候,經常都是寫這執行這,小步快走的思路,儘量讓程式碼穩。
>>原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
>>原文連結地址:上一篇:已是最新文章