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