軟件版本: IntelliJ IDEA 2019.1.1(Ultimate Edition)
運行環境: JDK1.8, Tomcat8.0, Maven3.6
我們在學習新的無論是jar包, 框架, 還是新的軟件時, 一定需要找到一個入口(接口), 從這個入口中進入, 一層一層往下挖掘學習!
比如說Mybaits中的MybatisAutoConfiguration ( 如何加載各類XML配置文件, 如何利用 @Bean-SqlSessionFactory 實例化Bean對象 ) 可以算作是一個入口, 從這個入口出發, 進而才能對Mybatis有一個全面的了解!
那么IDEA這個軟件的入口在哪里呢? 私認為同樣是配置項, 即軟件的 File-settings ,沒有哪一個軟件上手就開始操作的, 我們必須得進行一些個性化或者功能的設置, 然后進行項目開發才能如魚得水!!!
首先要牢記開啟settings的大招是: 上前拳! oh, 不, 快捷鍵是 : Ctrl+Alt+S , 如下圖
一切從這里出發, 尋找與Eclipse/STS的相似處.
1.maven & tomcat配置
①Maven配置
其中maven的設置settings.xml 以及maven本地倉庫repository 設置 就不再贅述
IDEA可選的Maven常用配置有 : Importing 項下的Import Maven projects automatically ( 當pom.xml更新時自動import )
②Tomcat服務器配置
問題: 配置好Tomcat服務器, 如何將web項目發布到Tomcat呢?
這里則需要如下的設置: (如果有更好的方法, 歡迎評論補充, 弱雞的我每次都是這么手動配置的 T T ...)
配置port端口, 然后在Deployment 中點擊"+" 添加web項目
2.xml文件 maven-import
當SpringBoot的注解無法正常使用時, 不妨試試Maven -> Reimport 重新加載依賴
3.代碼提示忽略大小寫
File-Settings-Editor-General-Code Completion中
把最上面的大小寫敏感度改成none,下面的鈎全打。
或者
去掉case前的勾選
4.調整代碼字體大小
推薦比較養眼的代碼字體為: Consolas
這樣設置后就可以使用"Ctrl+鼠標滾輪↑/↓" 進行代碼字體的zoom in(放大) 和 zoom out(縮小)
5.項目結構
最好是這樣的視圖, 可以清晰的看出項目結構, 也可以有自己的選擇!!!
6.自動改錯:
alt+enter
7.自動檢查導包
Settings→Editor→General→Auto Import
然后勾選Add unambiguous imports on the fly以及Optimize imports on the fly
8.代碼格式化快捷鍵
ctrl+alt+L
9.idea的工作目錄workingdirectory
設置方法:
Run -> Edit Configurations -> Working directory
該工作目錄的作用:
告訴IDE哪里是相對路徑的入口,比如:filePath = "com/it/app.properties",
需要知道該路徑的根目錄是什么,否則程序運行時可能找不到對應的文件。
問題: 部署完項目后, 訪問時會有404, yml等配置又都完全沒問題, 那么可能是以下的相對路徑配置導致的!!!
進行如下配置后, 重啟該端口下的服務, 則可以正常訪問了!!!!
*該相對路徑的屬性為:
$MODULE_WORKING_DIR$
10.安裝Lombok
有時會出現@AllArgsConstructor 等lombok注解無效問題, 你會發現, 及時注解可以正常使用, 而在創建對象時, 沒有找到對象的含參構造!!!
這是因為雖然導入了Lombok依賴, 可以使用lombok注解, 但是lombok是基於插件的, 還必須要安裝插件並重啟IDEA才能生效!!!
如圖, 在settings - Plugins 下 查找 Lombok 並下載, 最后按照提示重啟IDEA, 就可以使用含參構造方法了!
11.全局內容搜索以及替換
ctrl+shift+f
使用快捷鍵Ctrl+Shift+F打開搜索窗口,或者通過點擊Edit–>Find–>Find in path打開搜索窗口
ctrl+shift+r
通過快捷鍵Ctrl+Shift+R打開窗口,或者通過點擊Edit–>Find–>Replace in path打開窗口
12.在新窗口中打開project
開啟提示:
勾選第三個 Confirm ... 表示每次開啟新的項目前會提示是否新開窗口或者在本窗口內打開!
13.在IDEA中配置Git(分布式版本控制系統)
* 詳細見我的另一篇隨筆分享
鏈接:https://www.cnblogs.com/sansheng93/p/11256742.html
14.修改代碼提示快捷鍵
問題: idea中默認的代碼自動提示快捷鍵是Basic : Ctrl+空格(可以再搜索框中輸入basic快速查找),這個和安裝的中文輸入法切換快捷鍵沖突,所以需要修改。
根據使用STS的習慣, ALT+/ 來提示代碼.
但Alt+/ 被Cyclic Expand Word占用,所以先修改Cyclic Expand Word的快捷鍵,右鍵Remove Alt+/。
15.IDEA對代碼的自動檢測能力, 高亮警告問題
IDEA對代碼的提示系統十分強大, 她能根據嚴格的代碼規范( 甚至簡潔程度, 運行效率, 潛在bug) 給與開發者超出編譯器之外的大量提示
有時這些提示太過於冗雜, 使得開發界面很亂.
則可以通過軟件右下角的小人物頭像, 來設置警告級別!!!
默認的級別是: Inspections (檢查) ,是最高級別 ps: 倘若你能把自己寫的代碼控制到Inspections都無法高亮提醒, 那么你的代碼質量猶如"絕世好劍", 已經相當高水准了!!!
Syntax (語法) 中等級別
None 最低, 不檢查, ( 沒啥用, 這個級別相當於記事本了, ps: 什么??? 你要用記事本做開發??? )!!!
所以一般做法是 : 平時使用時, 開啟Syntax 級別, 而審查代碼的時候開啟 Inspections 級別!!!
其中 Power Save Mode 是省電模式, 沒有必要勾選
16.IDEA配置 Devtools 熱部署插件
參考博客:https://www.cnblogs.com/jcook/p/6910238.html 文中的方案三!!!
Devtools詳細配置參考博客: https://www.cnblogs.com/ming-blogs/p/10289075.html
截圖不易, 且截且珍惜!!! (其實是咸魚的我截圖乏力, 實在是配置繁多!)
在此, 感謝兩位大佬的分享, 讓吾等得以站在巨人肩膀上!!!
17.IDEA報錯解決01 : SpringBoot cannot autowired
在用IDEA整合SpringBoot使用SSM框架做項目時, 會在注入Mapper時提示紅色警告
排除@Mapper 注解或者 @MapperScan("xxx.mapper") 的問題, 那么這里就不存在任何問題, 運行試試呢?!
程序運行期沒有報錯!!!
這說明, IDEA是有預編譯期的檢查, 然而Mapper的實例化是在運行期的, IDEA無法預測, 所以這里才報錯, 這里對程序並無影響, 解決這個異常報錯提示的方法, 如下:
手動將Spring 的 Bean 加載的 @autowired 注解的安全級別從 error 調整 到 warning !!!
如圖, 將Error 調整為 Warning !!!
18.IDEA去除掉虛線,波浪線,和下划線實線的方法
1.有下划線, 代表變量的重新分配地址, 即變量被重新賦值, 在IDEA2018.1后新增這個檢查, 目的是盡量避免變量的重新賦值, 提高代碼可讀性( 即一個思想: 避免變量多次賦值)
2.有虛線
3.有波浪線
參考鏈接: https://blog.csdn.net/best_luxi/article/details/81253316 轉摘自:CSDN
19.idea快速生成各種for循環模板
比如最常用的foreach, 在IDEA里的 快捷模板是 iter, 普通的數組循環 是 itar ...
20.導入多個Maven項目
參考博客:https://www.cnblogs.com/qinxu/p/9649267.html, 感謝分享
21.項目結構com.xx.xxx.xxxx(NOT FOUND) 的問題
項目結構的坑, 參考博客:https://blog.csdn.net/qq_28587263/article/details/68944288
22.New something 的快捷鍵!!!
Alt+Insert 可以新建類,文件,get或set方法,此快捷鍵又名創造一切
23.IDEA打開Run dashboard 的方法:
在.idea --> libraries -->workspace.xml 配置文件中, 查找RunDashboard 的<component>標簽,
在標簽內部, 添加一個設置<option>
設置代碼如下:
<option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationType" /> </set> </option>
保存后, 再次run 時 就會自動使用dashboard界面了!!!