IntelliJ IDEA 2022.3正式發(fā)布,配置云同步&支持Redis好用到炸
正文
今年10月份,JetBrains宣布了其打造的下一代IDE —— Fleet,的公開預(yù)覽版本供以免費(fèi)下載免費(fèi)使用,筆者也在第一時(shí)間體驗(yàn)了一把,總結(jié)其特點(diǎn)為:
- 從頭構(gòu)建
- 使用IntelliJ代碼處理引擎
主流開發(fā)語言,一個(gè)IDE就夠了
- 分布式IDE架
使用虛擬文件系統(tǒng),走到哪編到哪
- 完全重新設(shè)計(jì)的UI
Fleet定位不會(huì)取代其它IDE,這里提到它,是因?yàn)樵谶@個(gè)版本的IDEA升級(jí)中能看到它的身影(同樣在PyCharm 2022.3等其它IDE上亦是如此)。
想體驗(yàn)一把Fleet的現(xiàn)在仍可免費(fèi)下載和使用:https://www.jetbrains.com/fleet
what’s new(新特性)
IntelliJ IDEA 2022.3中最直觀的感受是:可以通過設(shè)置來切換到新UI,目前這套UI還是preview預(yù)覽版本,但依舊能給你煥然一新的感覺:不是微整,是換臉。
有個(gè)筆者非常非常喜歡的升級(jí)點(diǎn)是:內(nèi)置支持了Settings Sync(設(shè)置同步)的解決方案,再也不用依賴外部存儲(chǔ)了,美滋滋。還有個(gè)亮點(diǎn)升級(jí)為:備受期待的Redis支持終于來了,現(xiàn)在DB&Redis全拿下。
下面簡(jiǎn)單介紹下重點(diǎn)升級(jí)的功能部分。
全新UI
話不多說,筆者直接用兩套UI的截圖給你對(duì)比感受(均為IntelliJ IDEA 2022.3版本哦)。
“老”UI:
“新”UI:
新的UI官方吹捧它:外觀干凈、現(xiàn)代且功能強(qiáng)大,使用下來整體給我的印象其實(shí)就兩字:簡(jiǎn)潔和聚焦。將更多的顯示區(qū)域留給編輯區(qū),收起更多功能按鈕,使用快捷鍵操作來整體進(jìn)而提升工作效率,這或許是設(shè)計(jì)哲學(xué)。
如何切換到新UI?在設(shè)置里呢:
這套UI還是beta階段,但作為本次升級(jí)的第一亮點(diǎn)提出,重要性可想而知。因此:不管你習(xí)不習(xí)慣,看著爽不爽,如果你已經(jīng)升級(jí)到IntelliJ IDEA 2022.3版本了的話,筆者推薦你保持使用新UI,畢竟到了2023年的版本,這套UI鐵定轉(zhuǎn)正,這是不可逆的趨勢(shì)。
PS:這套UI筆者覺得還存在些不便的地方和一些小問題,正式版估計(jì)能夠解決,拭目以待吧
Settings Sync(設(shè)置同步)解決方案
這個(gè)太贊了。IntelliJ IDEA的設(shè)置項(xiàng)多入牛毛,每個(gè)人都會(huì)對(duì)其設(shè)置進(jìn)行或多或少的調(diào)整,那么云存儲(chǔ)這些設(shè)置項(xiàng)就成了剛需,否則不僅無法共享配置(比如家里一個(gè)IDE,公司一個(gè)IDE),而更壞的情況是當(dāng)遇到IntelliJ IDEA奔潰無奈需要重新全新的安裝一次時(shí)(或者你新買了一臺(tái)電腦時(shí)?),設(shè)置來設(shè)置去半天的工期就沒了。
從上面的截圖可以看出,筆者對(duì)IDEA的私有化配置還是比較多的(比如個(gè)性化UI、主題、插件等)。之前版本里為了漫游這些配置項(xiàng),需要借助“外力”:比如筆者將其存到自己的gitee倉庫里
關(guān)于配置云同步功能,早在2020年IDEA加入Space協(xié)作空間時(shí),筆者就在念叨配置云同步啥時(shí)能有。這不終于等到了:JetBrain內(nèi)置支持啦,喜大普奔。
支持連接到Redis
在Database里創(chuàng)建鏈接時(shí),可看到新增了Redis的支持:
連接到Redis后的視窗如下:
體驗(yàn)幾天下來,筆者的整體感覺還是非常不錯(cuò)的,畢竟JetBrain做功能軟件從來沒有讓人失望過,值得信賴。
編碼相關(guān)升級(jí)
除了以上3大亮點(diǎn)外,其它方面的升級(jí)也就可圈可點(diǎn)了,針對(duì)編碼相關(guān)的升級(jí)點(diǎn)再做簡(jiǎn)要介紹哈。
更好的Spring Bean自動(dòng)裝配
代碼寫著寫著發(fā)現(xiàn)需要引入一個(gè)Bean來使用,完成xxx功能。之前的做法必須得分兩步:
去聲明:一般為跑到類頂部去@Autowired注入進(jìn)來
回去使用:回到編碼處繼續(xù)
現(xiàn)在“不需要”這么麻煩了,可以一步到位。比如下面示例:筆者需要使用這個(gè)Bean來完成功能,寫到這就可以借助IDEA幫助我們來完成嘍,一步到位:
選擇autowire選項(xiàng):
選擇demoService后的效果如下:
不會(huì)改變光標(biāo)位置:可無間斷的繼續(xù)編碼,提升編碼體驗(yàn)。
值得注意的是:上圖展示的為IDEA通過構(gòu)造器方式幫你把Bean注入進(jìn)來了,而實(shí)際使用時(shí)我們大多數(shù)時(shí)候還是使用@Autowired?屬性方式注入(雖然Spring早已不推薦這么做了,但這樣代碼看起來確實(shí)清爽好多),所以IDEA能想你所想:
可以看到,若IDEA發(fā)現(xiàn)你當(dāng)前就是使用的?@Autowired屬性方式注入的,那么它也會(huì)這么做,智能得一批。
Reader模式下庫代碼可被格式化啦
IDEA在閱讀庫代碼(jar包里面的代碼)時(shí)有個(gè)實(shí)用的功能:閱讀模式(Reader Mode),如下圖所示:
我們知道jar包里面的代碼是只讀的,不能被修改的。也就是說它的代碼格式也是固定的。雖然這一點(diǎn)不能改變,但I(xiàn)DEA這次在閱讀器上做了“加強(qiáng)”:可以自定義閱讀偏好。說白了:就是可以自定義規(guī)則了。
誠(chéng)然,閱讀一篇具有良好格式的文章是對(duì)效率有幫助,這在閱讀代碼時(shí)也是一樣一樣的:格式化過的代碼(特別是按照自己偏好格式化過的代碼)非常有助于閱讀和理解。這就是IDEA提供此功能的意義所在:
舉個(gè)例子:比如庫里的源代碼是這樣的:
切換為閱讀模式后,就變下圖這樣了:源代碼被格式化為了我希望的格式,大大方便了閱讀有木有。
這個(gè)小功能筆者認(rèn)為非常實(shí)用,基本解決了你在看同事提供的jar包內(nèi)代碼時(shí),覺得對(duì)方排版很亂而心生意見的問題。
更好的Java檢查和改進(jìn)
現(xiàn)在,對(duì)于有些“壞味道”的代碼,編譯器能直接給與你提示并且給出建議的解決方案。如:
并行流方法重復(fù)使用了:
無謂的數(shù)組長(zhǎng)度判斷代碼:下面這個(gè)case見過太多程序員這樣做無用功了,除了增加“垃圾代碼”外,也能體現(xiàn)出基礎(chǔ)知識(shí)的不扎實(shí)呀。現(xiàn)在有IDEA幫你了,以后避免嘍。
解綁對(duì)Maven 2的支持
Apache Maven 2早在2009年就已EOL,這個(gè)版本IDEA終于將其全部拿下不再內(nèi)建支持。
但考慮到有些上古項(xiàng)目還在使用Maven 2構(gòu)建,因此IDEA將其獨(dú)立成了一個(gè)插件,根據(jù)需要選擇性安裝即可。
遠(yuǎn)程開發(fā)
Remote Development是IntelliJ IDEA在2020年新增的一項(xiàng)功能,目前依舊為beta版本:
此功能持續(xù)改進(jìn)中,本次優(yōu)化的有:
- Code With Me會(huì)話訪客無法執(zhí)行的操作已被明確標(biāo)記
- 對(duì)Linux ARM64作為遠(yuǎn)程開發(fā)后端的測(cè)試版支持(之前不支持Linux ARM64作為遠(yuǎn)程開發(fā)的Server,只支持Linux X86)
- 重做了最近的 SSH 項(xiàng)目的概覽
有興趣的可以試試改功能,增加對(duì)未來趨勢(shì)的把握。但是此功能,根據(jù)筆者之前體驗(yàn)過的經(jīng)驗(yàn),仍不建議作為主力開發(fā)手段。按照J(rèn)etBrain的計(jì)劃,2023年這項(xiàng)功能會(huì)轉(zhuǎn)正,到時(shí)再會(huì)。
其它升級(jí)
- 改進(jìn)的Search Everywhere用戶體驗(yàn)
- 改進(jìn)的復(fù)制剪切粘貼行為
- 支持Java 19
- 支持Kotlin 1.7.20
- 支持Jakarta EE 10
- 改進(jìn)對(duì)Kotlin的支持性能,據(jù)說性能提高5倍左右
- 改進(jìn)對(duì)Scala 3的支持,提高智能性、性能等
- 改進(jìn)對(duì)Micronaut框架的支持
- 改進(jìn)HTTP 客戶端
總結(jié)
每種技術(shù)是有紅利期的,這一般體版本升級(jí)上。工具類軟件一般建議可保持最新,代碼類框架一般坐在第二排、第三排看戲即可。
作為程序員,或許注定了必須保持跟蹤新事物、新技術(shù)、新版本的心態(tài),但永遠(yuǎn)保持新鮮,能持續(xù)多久呢?