IDEA 非常重要的一些設(shè)置項(xiàng)(一連串的問(wèn)題差點(diǎn)讓我重新用回 Eclipse)
開(kāi)心一刻
建筑行業(yè)內(nèi),我看過(guò)的最兇殘笑話(IT行業(yè)內(nèi)好一致?。?/p>
上聯(lián):一天晚上兩個(gè)甲方三更半夜四處催圖只好周五加班到周六早上七點(diǎn)畫好八點(diǎn)傳完九點(diǎn)上床睡覺(jué)十分痛苦
下聯(lián):十點(diǎn)才過(guò)九分甲方八個(gè)短信七個(gè)電話居然要六處調(diào)整加五張圖紙四小時(shí)交三個(gè)文本兩天周末只睡一個(gè)小時(shí)
橫批:用原來(lái)的

內(nèi)心的獨(dú)白
寫作背景
2017 從 eclipse 換到 IDEA,適應(yīng)了一段時(shí)間,后面一直用 IDEA 2018 版,使用期間偶爾出現(xiàn)一些小問(wèn)題,但不多,沒(méi)太注意
最近換了電腦,開(kāi)發(fā)環(huán)境得重新搭,順便把 IDEA 更新下。本來(lái)打算用 2020 版的,可網(wǎng)上對(duì) 2020 版的評(píng)論一致比較差,所以我就放棄做勇士了,用的是 2019.3.5 版本
切了版本后,使用期間陸陸續(xù)續(xù)暴露了不少問(wèn)題,有些問(wèn)題還花了不少時(shí)間來(lái)處理,期間甚至有了放棄 IDEA,重新投抱 Eclipse 的想法,但是后面冷靜一想,Eclipse 幾年沒(méi)用,都忘完了,重新?lián)炱饋?lái)的成本可能更高,所以痛定思痛,決定將 IDEA 的這些比較常用的設(shè)置全部整理一下,方便以后自己查閱,也方便遇到同樣問(wèn)題的小伙伴進(jìn)行問(wèn)題排查與處理
需要大家注意是,樓主用的是 IDEA 2019.3.5 版本,可能和大家的版本不同,版本不同,配置項(xiàng)會(huì)有細(xì)微的區(qū)別,大家不要完全一致的去對(duì)比
全局設(shè)置與當(dāng)前設(shè)置
其實(shí) IDEA 安裝完成的時(shí)候就提示我們進(jìn)行全局設(shè)置,但是往往被我們忽略了
當(dāng)我們打開(kāi)工程后,往往設(shè)置的是當(dāng)前工程的設(shè)置,而不是全局設(shè)置,所以當(dāng)我們用新窗口打開(kāi)新的工程時(shí),發(fā)現(xiàn)新窗口的設(shè)置都是默認(rèn)的,而不是我們之前設(shè)置的,這就有點(diǎn)不爽了
那如果我們?cè)?IDEA 安裝的時(shí)候沒(méi)有進(jìn)行全局設(shè)置,還能進(jìn)行全局設(shè)置嗎? 答案是肯定的,可以在 IDEA 窗口進(jìn)行當(dāng)前設(shè)置和全局設(shè)置,如下圖

Settings 表示的是當(dāng)前設(shè)置,Other Settings 表示的是全局設(shè)置;不同的 IDEA 版本,Other Settings 代表的都是全局設(shè)置(未來(lái)不一定,但是歷史是這樣),只是 Other Settings 下內(nèi)容可能會(huì)有所不同
如果既進(jìn)行了 Settings 設(shè)置,又設(shè)置了 Other Setting, 那么當(dāng)前工程生效的是 Settings 中的設(shè)置
后續(xù)講到的一些設(shè)置若非特殊說(shuō)明都是在全局設(shè)置下進(jìn)行,主要是為了強(qiáng)調(diào)下全局設(shè)置的重要性(可能只是樓主后知后覺(jué),汗...)
必定修改
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)行開(kāi)啟

將復(fù)選框勾上則開(kāi)啟自動(dòng)編譯,但后面有說(shuō)明:非 running 或 debugging 時(shí)才生效
智能導(dǎo)包
效果就是,當(dāng)我們輸入 List,能夠自動(dòng)導(dǎo)入java.util.List,設(shè)置如下

兩個(gè)復(fù)選框都需要勾上
行號(hào)顯示
顯示代碼行號(hào),配合日志能快速地定位到出問(wèn)題的代碼,設(shè)置如下(這個(gè)只能在 Settings 中進(jìn)行設(shè)置)

需要將復(fù)選框勾上;勾選上之后,每一行代碼前就會(huì)有行號(hào)顯示,如下所示

制表符設(shè)置
主要時(shí)考慮到不同的編輯器對(duì) Tab 的處理不同,所以統(tǒng)一成 4 個(gè)空格來(lái)處理

復(fù)選框不要勾
maven 設(shè)置
IDEA 自帶 maven,但往往需要修改成我們自己的 maven,我們的 maven 有很多自定義的配置,如私有倉(cāng)庫(kù)等
配置如下

標(biāo)記的地方替換成我們自己的 maven, 至于 Local repository,會(huì)自動(dòng)加載 maven settings.xml 中的倉(cāng)庫(kù)地址,一般不用覆蓋修改
構(gòu)建/運(yùn)行操作委托給 maven
默認(rèn)情況下對(duì)項(xiàng)目的構(gòu)建和運(yùn)行是 IDEA 自己負(fù)責(zé)的,這樣就可能導(dǎo)致構(gòu)建和運(yùn)行時(shí)無(wú)法找到 maven 倉(cāng)庫(kù)中的相關(guān) jar 包,從而出現(xiàn):Error:(6, 34) java: 程序包xxx不存在 的錯(cuò)誤
進(jìn)行如下配置,將構(gòu)建/運(yùn)行操作委托給 maven,這樣依賴的 jar 包都能正確找到

復(fù)選框勾上即可
推薦修改
多行顯示文件 Tab
默認(rèn)情況下多行 Tab 是單行顯示的,效果如下

所有打開(kāi)的文件 Tab 顯示在一行,顯示不下的收縮起來(lái)(越久未被操作的文件越容易被收縮);文件多了收縮起來(lái),還是不太方便文件的切換操作,推薦多行顯示,配置如下(只能在 Settings 下設(shè)置)

復(fù)選框不要勾上,設(shè)置了后效果如下

這樣文件切換起來(lái)更方便
取消 import xxx.*
當(dāng)我們 Java 類中導(dǎo)入的某個(gè)包下類超過(guò)指定個(gè)數(shù),就會(huì)換成用*號(hào)來(lái)代替,例如:import java.utils.*;
* 代表的是導(dǎo)入包下所有類,不夠直觀,也沒(méi)必要,需要什么就導(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è)置

理論上來(lái)講,這個(gè)列表中的復(fù)選框都不能勾選(默認(rèn)也都不會(huì)勾選),如果勾選了,那么就被勾選了的 pom.xml 對(duì)應(yīng)的工程就不會(huì)被當(dāng)作 maven 工程,后果可想而知:不是 maven 工程就會(huì)有依賴找不到的問(wèn)題,項(xiàng)目就會(huì)啟動(dòng)失敗
樓主不知道怎么回事就勾上了其中一個(gè),出現(xiàn)如下癥狀

maven 工具窗口下該 maven 工程顯示成了灰色,特別與眾不同;然后啟動(dòng)該工程的時(shí)候,提示各種依賴都找不到,真是斃了狗
Method Breakpoints
正常情況來(lái)說(shuō),我們是不會(huì)直接在方法名上打斷點(diǎn)的,斷點(diǎn)往往是打在方法體上的某一行上,但是樓主不知道怎么回事就打了,導(dǎo)致以 debug 方式啟動(dòng)不了工程,并提示:Method breakpoints may dramatically slow down debugging
打開(kāi) Breakpoints 面板看看(快捷鍵:Ctrl+Shift+F8 )

一個(gè)斷點(diǎn)打在了 UserService 接口中的方法上,一個(gè)接口打在了實(shí)現(xiàn)類 UserServiceImpl 的方法名上
一般而言不會(huì)出現(xiàn)這種情況,就怕大家像樓主一樣不小心,在方法名上打了斷點(diǎn),并導(dǎo)致項(xiàng)目 debug 不起來(lái),知道如何處理就好
逐個(gè)選中,remove 就好,如下圖所示

總結(jié)
1、遇到問(wèn)題,不能立馬想到去怎么處理的,盡快利用網(wǎng)絡(luò)去查,千萬(wàn)不要一頭扎進(jìn)自我認(rèn)為中去,太費(fèi)時(shí)了,最后還得求助于網(wǎng)絡(luò)
網(wǎng)絡(luò)搜索的話,關(guān)鍵字非常重要,描述的越清楚,命中率越高;如果確實(shí)不好描述,那就多換關(guān)鍵字去查
2、有些配置是需要勾選復(fù)選框,有些是不能勾選,大家要看清楚了
3、文中的 IDEA 配置修改分了三種:必須、推薦、可能,只囊括了一部分,有些未考慮到的歡迎大家補(bǔ)充
可能級(jí)別中的問(wèn)題基本都是誤操作,大家留個(gè)印象就好,萬(wàn)一碰到了知道怎么處理
4、要學(xué)會(huì)多總結(jié),包括各個(gè)方面的總結(jié),這樣我們才能越來(lái)越強(qiáng)大!
到此這篇關(guān)于IDEA 非常重要的一些設(shè)置項(xiàng)(一連串的問(wèn)題差點(diǎn)讓我重新用回 Eclipse)的文章就介紹到這了,更多相關(guān)IDEA重要設(shè)置項(xiàng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaWeb開(kāi)發(fā)之【Tomcat 環(huán)境配置】MyEclipse+IDEA配置教程
- Eclipse創(chuàng)建tomcat實(shí)現(xiàn)過(guò)程原理詳解
- 云IDE:Eclipse Che:Eclipse下一代IDE(推薦)
- 詳解Eclipse 字體、字號(hào)的設(shè)置、最佳字體推薦
- 在eclipse中使用SVN的方法(圖文)
- 最新版Eclipse安裝、配置圖文教程詳解
- 2020最新eclipse安裝過(guò)程及細(xì)節(jié)
- Eclipse 2020-06 漢化包安裝步驟詳解(附漢化包+安裝教程)
- Eclipse手動(dòng)導(dǎo)入DTD文件實(shí)現(xiàn)方法解析
相關(guān)文章
Springboot集成百度地圖實(shí)現(xiàn)定位打卡的示例代碼
本文主要介紹了Springboot集成百度地圖實(shí)現(xiàn)定位打卡的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02
JAVA多線程與并發(fā)學(xué)習(xí)總結(jié)分析
以下是對(duì)小編對(duì)JAVA多線程與并發(fā)的學(xué)習(xí)進(jìn)行了總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08
SpringBoot+Redisson自定義注解一次解決重復(fù)提交問(wèn)題
項(xiàng)目中經(jīng)常會(huì)出現(xiàn)重復(fù)提交的問(wèn)題,本文主要介紹了SpringBoot+Redisson自定義注解一次解決重復(fù)提交問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Java替換中使用正則表達(dá)式實(shí)現(xiàn)中間模糊匹配的方法
今天小編就為大家分享一篇Java替換中使用正則表達(dá)式實(shí)現(xiàn)中間模糊匹配的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)之微服務(wù)治理功能的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)之微服務(wù)治理,這些治理工具主要包括服務(wù)的注冊(cè)與發(fā)現(xiàn)、負(fù)載均衡管理、動(dòng)態(tài)路由、服務(wù)降級(jí)和故障轉(zhuǎn)移、鏈路跟蹤、服務(wù)監(jiān)控等,需要的朋友可以參考下2022-02-02
關(guān)于Spring Boot對(duì)jdbc的支持問(wèn)題
這篇文章主要介紹了關(guān)于Spring Boot對(duì)jdbc的支持問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

