IDEA總結 磨刀霍霍向代碼

工欲善其事,必先利其器 。每次看到別人用IDEA 的時候,都會發現,哇哦,還能這樣操作,還有每次註冊碼失效的時候,我都為自己在用盜版軟件而“悔恨為什麼不多賺錢支持正版”,然後到處找註冊碼,所以有了這篇~安裝和寫hello world 部署到服務器這些就不記錄了


IDEA總結 磨刀霍霍向代碼

InteliJ IDEA 介紹

IDEA,全稱 IntelliJ IDEA,是 Java 語言的集成開發環境,IDEA 在業界被公認為是最好的 java 開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE 支持、Ant、JUnit、CVS 整合、代碼審查、創新的 GUI 設計等方面的功能可以說是超常的。

IDEA是 JetBrains 公司的產品,公司旗下還有其它產品,比如:WebStorm、DataGrip、GoLand...

優勢

  • 強大的整合能力。比如:Git、Maven、Spring 等
  • 提示功能的快速、便捷
  • 提示功能的範圍廣
  • 好用的快捷鍵和代碼模板 private static final psf
  • 精準搜索( IDEA 會將您的源代碼編入索引 )
  • 不需要頻繁的Ctrl+S(自動保存)
  • 自帶反編譯器,方便查看源碼

在 Eclipse 中我們有 Workspace(工作空間)和 Project(工程)的概念,在 IDEA 中只有 Project(工程)和 Module(模塊)的概念 。Eclipse 中 workspace 相當於 IDEA 中的 Project ,Eclipse 中 Project 相當於 IDEA 中的 Module

IDEA 和 Eclipse 的術語對比

EclipseIntelliJ IDEAWorkspaceProjectProjectModuleFacetFacetLibraryLibraryJRESDKClasspath variablePath variable

模板

實時代碼模板 (Live Templates)

IDEA總結 磨刀霍霍向代碼

它的原理就是配置一些常用代碼字母縮寫,在輸入簡寫時可以出現你預定義的固定模式的代碼,使得開發效率大大提高,同時也可以增加個性化。最簡單的例子 就是在 Java 中輸入 sout 會出現 System.out.println();

Editor – General – Postfix Completion 查看已經存在的模板(不可修改)

IDEA總結 磨刀霍霍向代碼

Editor — Live Templates 查看或自定義模板(可以添加方式註釋、類註釋)

IDEA總結 磨刀霍霍向代碼

IDEA總結 磨刀霍霍向代碼

<code>*
 * @description:
 * @param $param$
 * @return $return$
 * @date $time$ $date$
 **//<code>

類註釋一般通過 File — Setting — Editor — Live Templates — File and Code Templates 設置

IDEA總結 磨刀霍霍向代碼

斷點調試

程序猿麼,每天都在寫bug,所以這個功能一定得用的溜

配置通用調試屬性和行為 :Settings/Preferences | Build, Execution, Deployment | Debugger

1. 斷點類型

斷點有四種類型:

  1. 行斷點(Line Breakpoints):最經常用的方式, 可以設置在任何可執行的代碼行上
  2. 方法斷點(Method Breakpoints):在進入或退出指定的方法或其實現之一時掛起程序,允許您檢查方法的進入/退出條件
  3. 字段斷點(Field Watchpoints):當指定的字段被讀取或寫入時,掛起程序。需要注意的是,默認只有寫才會停下,想要讓讀取時也停下,需要右擊斷點,在WatchField access上打勾才行
  4. 異常斷點(Exception Breakpoints):當拋出Throwable或其子類時掛起程序 。可以在 **Run — View Breakpoints **中的 Java Exception Breakpoints 裡添加異常的具體類型。這樣的話,程序中一旦發生了這種異常馬上就會停下來

2. 設置斷點

左鍵點擊行號欄(快捷鍵:Ctrl+F8 )

IDEA總結 磨刀霍霍向代碼

設置異常斷點

點擊Debug工具窗口左側的的 View Breakpoints

IDEA總結 磨刀霍霍向代碼

或者快捷鍵 Ctrl+Shift+F8 ,可以新建異常檢測,或者檢測所有異常(Any Exception) 情況,這樣只要程序有相應異常,就會掛起

IDEA總結 磨刀霍霍向代碼

條件斷點

有時候我們在循環處理數據時候,可能只關心某個條件的數據,就可以在斷點位置右鍵,設置斷點條件,(下圖,在i==6 的時候掛起程序)

IDEA總結 磨刀霍霍向代碼

多線程斷點

在調試多線程代碼時候,只能串行調試,因為IDEA在Debug時默認阻塞級別是ALL,會阻塞其它線程,只有在當前調試線程走完時才會走其它線程。如果像下圖一樣是lambda表達式的行,可以選擇斷點類型。

IDEA總結 磨刀霍霍向代碼

可以在 View Breakpoints 裡選擇 Thread (右鍵斷點),這樣就可以Frames 切換線程debug了。

IDEA總結 磨刀霍霍向代碼

3. 逐步執行程序

IDEA總結 磨刀霍霍向代碼

  • step over —— 步過,如果當前行斷點是一個方法,則不進入當前方法體內
  • step into —— 步入,如果當前行斷點是一個方法,則進入當前方法體內,一般用於進入自定義方法內,不會進入官方類庫的方法
  • force step into Shift+Alt+F7 —— 強制步入,能進入任何方法,查看底層源碼的時候可以用這個進入官方類庫的方法
  • step out Shift+F8 —— 步出, 從步入的方法內退出到方法調用處
  • Drop frame —— 回退到上一步
  • Run to cursor Alt+F9 —— 運行到光標處,可以將光標定位到你需要查看的那一行,然後使用這個功能,代碼會運行至光標行,而不需要打斷點


斷點這塊有好多功能,可以分析JVM中堆對象、Java8的Stream操作,留個傳送門。。。TODO

某大佬總結的:在Intellij IDEA中使用Debug

官方教程:https://www.jetbrains.com/help/idea/debugging-code.html

配置Tomcat遠程調試

有時候會有一些服務器差異問題導致的問題,不好排查,這個時候就想遠程調試下服務器上的代碼。

① 配置tomcat, 在tomcat/bin下的 catalina.sh 上邊添加下邊的一段設置

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9527

IDEA總結 磨刀霍霍向代碼

② IDEA設置

IDEA總結 磨刀霍霍向代碼

③ 在IDEA上啟動遠程 tomcat後,就能debug了

還有一種複製Startup/Connection 中的內容到 JAVA_OPTS 中,沒有嘗試

IDEA總結 磨刀霍霍向代碼

書籤

書籤在翻看源碼或者大佬代碼的時候,可以方便記錄代碼的調用鏈路。

書籤有匿名書籤(可以有無數個)和標記書籤(有數字或者字母助記符的書籤)兩種

操作書籤:Navigate | Bookmarks 可以創建匿名書籤 Toggle Bookmark。創建標技書籤 Toggle Bookmark With Mnemonic,查看標籤 Show Bookmarks

IDEA總結 磨刀霍霍向代碼

插件

  • Lombok —— 開發神器,可以簡化你的實體類
  • Maven Helper —— 方便顯示maven的依賴樹,處理衝突的好幫手
  • .ignore —— 忽略不需要提交的文件
  • FindBugs-IDEA —— 代碼審查
  • Alibaba Java Coding Guidelines —— 阿里的開發設計規範
  • Alibaba Cloud Toolkit —— 幫助開發者更高效地開發、測試、診斷並部署應用。通過插件,可以將本地應用一鍵部署到任意服務器或雲端;並且還內置了 Arthas 診斷、Dubbo工具、Terminal 終端、文件上傳、函數計算和 MySQL 執行器等工具
  • Easy Code —— 支持自定義模板的代碼生成插件
  • RestfulToolkit —— RESTful 服務開發輔助工具集(安利,可以直接在右側的RestServices查看,所有項目的restful接口,還可以通過 Ctrl \ 全局搜索 )

IDEA 主題和插件排行榜:https://plugins.jetbrains.com/search?orderBy=downloads&products=idea

激活

僅供個人學習使用~~

1. 下載補丁文件 jetbrains-agent.jar 並將它放置到 Idea安裝目錄的bin目錄下,https://pan.baidu.com/s/1Zy-vQGOdKoqDdB8sWIcQOg

免費試用,進入IDEA, 點擊最上面的菜單欄中的 Help - Edit Custom VM Options,在idea.exw.vmoptionos文件中加入-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.2.4\bin\jetbrains-agent.jar(換成你的jar包目錄),重啟

IDEA總結 磨刀霍霍向代碼

2. 重啟IDEA 後,打開 Help — Register ,在License Server 填上, http://jetbrains-license-server ,失敗的話就輸入下邊的註冊碼

IDEA總結 磨刀霍霍向代碼

<code>520E5894E2-eyJsaWNlbnNlSWQiOiI1MjBFNTg5NEUyIiwibGljZW5zZWVOYW1lIjoicGlnNiIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiJVbmxpbWl0ZWQgbGljZW5zZSB0aWxsIGVuZCBvZiB0aGUgY2VudHVyeS4iLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDg5LTA3LTA3In0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDg5LTA3LTA3In0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwODktMDctMDcifSx7ImNvZGUiOiJSRCIsInBhaWRVcFRvIjoiMjA4OS0wNy0wNyJ9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDg5LTA3LTA3In0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwODktMDctMDcifSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjA4OS0wNy0wNyJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDg5LTA3LTA3In0seyJjb2RlIjoiRE0iLCJwYWlkVXBUbyI6IjIwODktMDctMDcifSx7ImNvZGUiOiJBQyIsInBhaWRVcFRvIjoiMjA4OS0wNy0wNyJ9LHsiY29kZSI6IkRQTiIsInBhaWRVcFRvIjoiMjA4OS0wNy0wNyJ9LHsiY29kZSI6IkdPIiwicGFpZFVwVG8iOiIyMDg5LTA3LTA3In0seyJjb2RlIjoiUFMiLCJwYWlkVXBUbyI6IjIwODktMDctMDcifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjA4OS0wNy0wNyJ9LHsiY29kZSI6IlBDIiwicGFpZFVwVG8iOiIyMDg5LTA3LTA3In0seyJjb2RlIjoiUlNVIiwicGFpZFVwVG8iOiIyMDg5LTA3LTA3In1dLCJoYXNoIjoiODkwNzA3MC8wIiwiZ3JhY2VQZXJpb2REYXlzIjowLCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-DZ/oNHBfyho0XrrCJJvAOKg5Q1tLBgOdbCmzCKwkuM+Yryce0RoOi3OOmH6Ba/uTcCh/L37meyD0FJdJIprv59y4+n+k2kIeF/XKrKqg0dEsDUQRw0lUqqMt99ohqa+zmbJ44Yufdwwx/F1CtoRGvEQ2Mn0QjuqRoZJZ3wiT5Am22JiJW8MaNUl3wg9YPj+OPGARKKJUdUJ0NGUDQBcBAv5ds8LhbSbJSbPkbkwH/a1QMz4nEdn6lRDKI1aFIn43QhBSCFqvUq6TPJlbIJ0ZjE+PyZjHFBKCgkry0DHPXU2BbtIZPsksQnN3fx240a9K6sN7peZnLpEoMoq23FEz4g==-MIIElTCCAn2gAwIBAgIBCTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE4MTEwMTEyMjk0NloXDTIwMTEwMjEyMjk0NlowaDELMAkGA1UEBhMCQ1oxDjAMBgNVBAgMBU51c2xlMQ8wDQYDVQQHDAZQcmFndWUxGTAXBgNVBAoMEEpldEJyYWlucyBzLnIuby4xHTAbBgNVBAMMFHByb2QzeS1mcm9tLTIwMTgxMTAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5ndaik1GD0nyTdqkZgURQZGW+RGxCdBITPXIwpjhhaD0SXGa4XSZBEBoiPdY6XV6pOfUJeyfi9dXsY4MmT0D+sKoST3rSw96xaf9FXPvOjn4prMTdj3Ji3CyQrGWeQU2nzYqFrp1QYNLAbaViHRKuJrYHI6GCvqCbJe0LQ8qqUiVMA9wG/PQwScpNmTF9Kp2Iej+Z5OUxF33zzm+vg/nYV31HLF7fJUAplI/1nM+ZG8K+AXWgYKChtknl3sW9PCQa3a3imPL9GVToUNxc0wcuTil8mqveWcSQCHYxsIaUajWLpFzoO2AhK4mfYBSStAqEjoXRTuj17mo8Q6M2SHOcwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQBonMu8oa3vmNAa4RQP8gPGlX3SQaA3WCRUAj6Zrlk8AesKV1YSkh5D2l+yUk6njysgzfr1bIR5xF8eup5xXc4/G7NtVYRSMvrd6rfQcHOyK5UFJLm+8utmyMIDrZOzLQuTsT8NxFpbCVCfV5wNRu4rChrCuArYVGaKbmp9ymkw1PU6+HoO5i2wU3ikTmRv8IRjrlSStyNzXpnPTwt7bja19ousk56r40SmlmC04GdDHErr0ei2UbjUua5kw71Qn9g02tL9fERI2sSRjQrvPbn9INwRWl5+k05mlKekbtbu2ev2woJFZK4WEXAd/GaAdeZZdumv8T2idDFL7cAirJwcrbfpawPeXr52oKTPnXfi0l5+g9Gnt/wfiXCrPElX6ycTR6iL3GC2VR4jTz6YatT4Ntz59/THOT7NJQhr6AyLkhhJCdkzE2cob/KouVp4ivV7Q3Fc6HX7eepHAAF/DpxwgOrg9smX6coXLgfp0b1RU2u/tUNID04rpNxTMueTtrT8WSskqvaJd3RH8r7cnRj6Y2hltkja82HlpDURDxDTRvv+krbwMr26SB/40BjpMUrDRCeKuiBahC0DCoU/4+ze1l94wVUhdkCfL0GpJrMSCDEK+XEurU18Hb7WT+ThXbkdl6VpFdHsRvqAnhR2g4b+Qzgidmuky5NUZVfEaZqV/g==
/<code>

3. Help — About,搞定

IDEA總結 磨刀霍霍向代碼

參考

IntelliJ IDEA 2019.3官方指南 https://www.jetbrains.com/help/idea/installation-guide.html

idea2019激活 https://segmentfault.com/a/1190000021488264


分享到:


相關文章: