IDEA 非常重要的一些設(shè)置項(一連串的問題差點讓我重新用回 Eclipse)
開心一刻
建筑行業(yè)內(nèi),我看過的最兇殘笑話(IT行業(yè)內(nèi)好一致!)
上聯(lián):一天晚上兩個甲方三更半夜四處催圖只好周五加班到周六早上七點畫好八點傳完九點上床睡覺十分痛苦
下聯(lián):十點才過九分甲方八個短信七個電話居然要六處調(diào)整加五張圖紙四小時交三個文本兩天周末只睡一個小時
橫批:用原來的
內(nèi)心的獨白
寫作背景
2017 從 eclipse 換到 IDEA,適應(yīng)了一段時間,后面一直用 IDEA 2018 版,使用期間偶爾出現(xiàn)一些小問題,但不多,沒太注意
最近換了電腦,開發(fā)環(huán)境得重新搭,順便把 IDEA 更新下。本來打算用 2020 版的,可網(wǎng)上對 2020 版的評論一致比較差,所以我就放棄做勇士了,用的是 2019.3.5 版本
切了版本后,使用期間陸陸續(xù)續(xù)暴露了不少問題,有些問題還花了不少時間來處理,期間甚至有了放棄 IDEA,重新投抱 Eclipse 的想法,但是后面冷靜一想,Eclipse 幾年沒用,都忘完了,重新?lián)炱饋淼某杀究赡芨撸酝炊ㄋ纪矗瑳Q定將 IDEA 的這些比較常用的設(shè)置全部整理一下,方便以后自己查閱,也方便遇到同樣問題的小伙伴進行問題排查與處理
需要大家注意是,樓主用的是 IDEA 2019.3.5 版本,可能和大家的版本不同,版本不同,配置項會有細微的區(qū)別,大家不要完全一致的去對比
全局設(shè)置與當前設(shè)置
其實 IDEA 安裝完成的時候就提示我們進行全局設(shè)置,但是往往被我們忽略了
當我們打開工程后,往往設(shè)置的是當前工程的設(shè)置,而不是全局設(shè)置,所以當我們用新窗口打開新的工程時,發(fā)現(xiàn)新窗口的設(shè)置都是默認的,而不是我們之前設(shè)置的,這就有點不爽了
那如果我們在 IDEA 安裝的時候沒有進行全局設(shè)置,還能進行全局設(shè)置嗎? 答案是肯定的,可以在 IDEA 窗口進行當前設(shè)置和全局設(shè)置,如下圖
Settings 表示的是當前設(shè)置,Other Settings 表示的是全局設(shè)置;不同的 IDEA 版本,Other Settings 代表的都是全局設(shè)置(未來不一定,但是歷史是這樣),只是 Other Settings 下內(nèi)容可能會有所不同
如果既進行了 Settings 設(shè)置,又設(shè)置了 Other Setting, 那么當前工程生效的是 Settings 中的設(shè)置
后續(xù)講到的一些設(shè)置若非特殊說明都是在全局設(shè)置下進行,主要是為了強調(diào)下全局設(shè)置的重要性(可能只是樓主后知后覺,汗...)
必定修改
Project SDK
配置成我們安裝的 JDK,目前用的比較多的是 1.8 版本; 配置如下
項目文件編碼
工程編碼我需要統(tǒng)一,基本統(tǒng)一成 UTF-8,設(shè)置如下
都選擇 UTF-8
如果不選擇 UTF-8,可能會編譯不報錯,但是啟動時卻報錯:Error:(15,31) java: 找不到符號
自動編譯
默認情況下,自動編譯是關(guān)閉的,我們可以按下圖進行開啟
將復(fù)選框勾上則開啟自動編譯,但后面有說明:非 running 或 debugging 時才生效
智能導(dǎo)包
效果就是,當我們輸入 List,能夠自動導(dǎo)入java.util.List,設(shè)置如下
兩個復(fù)選框都需要勾上
行號顯示
顯示代碼行號,配合日志能快速地定位到出問題的代碼,設(shè)置如下(這個只能在 Settings 中進行設(shè)置)
需要將復(fù)選框勾上;勾選上之后,每一行代碼前就會有行號顯示,如下所示
制表符設(shè)置
主要時考慮到不同的編輯器對 Tab 的處理不同,所以統(tǒng)一成 4 個空格來處理
復(fù)選框不要勾
maven 設(shè)置
IDEA 自帶 maven,但往往需要修改成我們自己的 maven,我們的 maven 有很多自定義的配置,如私有倉庫等
配置如下
標記的地方替換成我們自己的 maven, 至于 Local repository,會自動加載 maven settings.xml 中的倉庫地址,一般不用覆蓋修改
構(gòu)建/運行操作委托給 maven
默認情況下對項目的構(gòu)建和運行是 IDEA 自己負責的,這樣就可能導(dǎo)致構(gòu)建和運行時無法找到 maven 倉庫中的相關(guān) jar 包,從而出現(xiàn):Error:(6, 34) java: 程序包xxx不存在 的錯誤
進行如下配置,將構(gòu)建/運行操作委托給 maven,這樣依賴的 jar 包都能正確找到
復(fù)選框勾上即可
推薦修改
多行顯示文件 Tab
默認情況下多行 Tab 是單行顯示的,效果如下
所有打開的文件 Tab 顯示在一行,顯示不下的收縮起來(越久未被操作的文件越容易被收縮);文件多了收縮起來,還是不太方便文件的切換操作,推薦多行顯示,配置如下(只能在 Settings 下設(shè)置)
復(fù)選框不要勾上,設(shè)置了后效果如下
這樣文件切換起來更方便
取消 import xxx.*
當我們 Java 類中導(dǎo)入的某個包下類超過指定個數(shù),就會換成用*號來代替,例如:import java.utils.*;
* 代表的是導(dǎo)入包下所有類,不夠直觀,也沒必要,需要什么就導(dǎo)入什么是最好的
Class count to use import with ’*’ 表示的是:導(dǎo)入了同個包下多少的類,就將這些導(dǎo)入替換成 *, 默認是 5
Names count to use static import with ’*’ 則表示的是:靜態(tài)導(dǎo)入了同個類中多少的靜態(tài)常量,就將這些導(dǎo)入替換成 *, 默認是 3
我們將這兩個值配置大一些,那么就不會 import * 了
類注釋模板
阿里規(guī)約中有這么一條,類必須加注釋,并且必須要有 author
類注釋還是很有必要的,可以追溯到人,便于業(yè)務(wù)的溝通
配置如下
想加什么參數(shù)就加什么;設(shè)置好后,我們新建一個類,就會自動帶上注釋,如下所示
可能修改
mavenIgnored files
Settings 下有這么個設(shè)置
理論上來講,這個列表中的復(fù)選框都不能勾選(默認也都不會勾選),如果勾選了,那么就被勾選了的 pom.xml 對應(yīng)的工程就不會被當作 maven 工程,后果可想而知:不是 maven 工程就會有依賴找不到的問題,項目就會啟動失敗
樓主不知道怎么回事就勾上了其中一個,出現(xiàn)如下癥狀
maven 工具窗口下該 maven 工程顯示成了灰色,特別與眾不同;然后啟動該工程的時候,提示各種依賴都找不到,真是斃了狗
Method Breakpoints
正常情況來說,我們是不會直接在方法名上打斷點的,斷點往往是打在方法體上的某一行上,但是樓主不知道怎么回事就打了,導(dǎo)致以 debug 方式啟動不了工程,并提示:Method breakpoints may dramatically slow down debugging
打開 Breakpoints 面板看看(快捷鍵:Ctrl+Shift+F8 )
一個斷點打在了 UserService 接口中的方法上,一個接口打在了實現(xiàn)類 UserServiceImpl 的方法名上
一般而言不會出現(xiàn)這種情況,就怕大家像樓主一樣不小心,在方法名上打了斷點,并導(dǎo)致項目 debug 不起來,知道如何處理就好
逐個選中,remove 就好,如下圖所示
總結(jié)
1、遇到問題,不能立馬想到去怎么處理的,盡快利用網(wǎng)絡(luò)去查,千萬不要一頭扎進自我認為中去,太費時了,最后還得求助于網(wǎng)絡(luò)
網(wǎng)絡(luò)搜索的話,關(guān)鍵字非常重要,描述的越清楚,命中率越高;如果確實不好描述,那就多換關(guān)鍵字去查
2、有些配置是需要勾選復(fù)選框,有些是不能勾選,大家要看清楚了
3、文中的 IDEA 配置修改分了三種:必須、推薦、可能,只囊括了一部分,有些未考慮到的歡迎大家補充
可能級別中的問題基本都是誤操作,大家留個印象就好,萬一碰到了知道怎么處理
4、要學(xué)會多總結(jié),包括各個方面的總結(jié),這樣我們才能越來越強大!
到此這篇關(guān)于IDEA 非常重要的一些設(shè)置項(一連串的問題差點讓我重新用回 Eclipse)的文章就介紹到這了,更多相關(guān)IDEA重要設(shè)置項內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Java GZip 基于內(nèi)存實現(xiàn)壓縮和解壓的方法2. Springboot 全局日期格式化處理的實現(xiàn)3. 利用CSS制作3D動畫4. python 浮點數(shù)四舍五入需要注意的地方5. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進)6. PHP實現(xiàn)簡單線性回歸之數(shù)學(xué)庫的重要性7. 完美解決vue 中多個echarts圖表自適應(yīng)的問題8. SpringBoot+TestNG單元測試的實現(xiàn)9. 存儲于xml中需要的HTML轉(zhuǎn)義代碼10. JAMon(Java Application Monitor)備忘記