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