每篇一句
工欲善其事必先利其器 ——《論語·衛(wèi)靈公》
前言
千呼萬喚始出來呢燥。自從JetBrains在今年7月24日發(fā)布了IDEA 2019.2版本后崭添,從9月份開始我便一直在關(guān)注此版本正式版的發(fā)布。JetBrains公司在9月中旬就對外公布了下一個主要版本 2019.3的Roadmap叛氨,而且馬上就發(fā)布了第一個早期訪問版本( EAP 版本)呼渣,因此我一直對它保持著關(guān)注棘伴。
IntelliJ IDEA 2019.3版本的Roadmap承諾的是會在11月份完成RELEASE,還好它抓住了11月份的尾巴屁置,在北京時間2019.11.28深夜發(fā)布了這個2019.3正式版本焊夸。
(說明:
PyCharm
的2019.3版本截止到發(fā)文的今天還未正式RELEASE,我預(yù)估應(yīng)該不會食言會趕在11月份結(jié)束之前發(fā)布蓝角,可能就是今天晚上也說不定~)
先睹為快:一張最新版的IDEA啟動圖送給大家
what's new(新特性)
2019.3版本的核心關(guān)鍵詞是:Performance And Usability(性能和可用性)阱穗。
它并沒有帶來特別亮眼的新特性,而提供了主要的性能和可用性改進(有點靜心修煉內(nèi)功的感覺有木有)使鹅,包括更快的啟動速度揪阶,更容易安裝主題和動態(tài)插件(無需重啟),增強的VCS工作流患朱,并增加了對微服務(wù)框架鲁僚、MongoDB等的支持...
下面針對于這些新特性,我們來具體的聊一聊
==性能(Performance)==
啟動時間更快
這是該版本最吸引人的新特性之一裁厅。官方給出了一張和之前版本啟動速度的對比圖如下:
可見不管是在Mac冰沙、Linux還是在windows上新版本的啟動速度都是占優(yōu)的。
雖然提升了只有1s左右执虹,但足以看到
JetBrains
程序員追求極致的心拓挥,這不就是我們做技術(shù)該有的樣子嗎?
大型Gradle項目方面
這個性能優(yōu)化声畏,主要表現(xiàn)在降低導入大型Gradle項目時的峰值內(nèi)存消耗撞叽。同樣的官方給出了對比圖如下:
響應(yīng)式UI方面
該版本在UI層面修復(fù)了非常非常多的問題(1600+項之多,但基本對用戶無感知)插龄。另外還修復(fù)了在Maven項目中編輯POM.xml文件的問題,以及其它問題歸類如下:
- 在Maven項目中科展,完成建議現(xiàn)在可以毫無延遲地顯示
- 在大型項目中更快地處理VCS狀態(tài)更新(如git狀態(tài))
- 更好地處理被忽略的文件(如.gitignore)
- 更快地呈現(xiàn)項目樹
- 處理大量編輯器或調(diào)試器選項卡時更好的性能以及更快的速度
Java語言方面
Java類型推斷帶來了很多改進均牢,它不僅修復(fù)了各種編輯器凍結(jié)(假死),而且還加快了長方法調(diào)用鏈的Java類型推斷才睹。當應(yīng)用于多行時徘跪,“連接行”操作的速度更快。您還將體驗Java代碼的加速高亮顯示...
Kotlin語言方面
此版本內(nèi)置了Kotlin 1.3.60
版本支持琅攘,從而提供了更好的性能表現(xiàn)垮庐。
==可用性(Usability)==
動態(tài)插件/主題支持
從此版本開始,你可以在不重啟IDE的情況下加載和卸載主題和插件坞琴。
說明:此特性并不是所有的插件都支持(不需要重啟)哨查,在未來的版本中把這種方法擴展到大多數(shù)插件中,使插件管理盡可能的簡單
但主題方面:你可以所見即所得了
更明顯的滾動條顯示
你是否吐槽過IDEA的滾動條顏色也太淺了剧辐,滾動條看不不太清楚寒亥,著實影響了使用邮府。如果你和我一樣有過這種困惑,那這個版本就可以拯救你了溉奕。你只需要這么設(shè)置(默認是不開啟的哦)即可:Settings/Preferences | Appearance & Behavior | Appearance褂傀,然后勾選上"Use contrast scrollbars"即可,前后的對比圖如下:
更平滑的鼠標滾動體驗
這個改進看起來很小加勤,但實際非常有價值:它能讓你滾動鼠標更加的平滑仙辟,可能比德芙還絲滑~
自動配置Maven項目
在之前版本,很多時候我們首次導入一個Maven項目進來的時候鳄梅,需要手動配置一些東西(比如模塊欺嗤、子模塊、maven設(shè)置等)卫枝。這個版本很暖心:讓這一切變?yōu)榱俗詣訐?/p>
更好的意圖猜測上下文
我覺得IDEA相比elipse最杰出的一點便是它的上下文機制:這讓你覺得IDEA是懂你意圖的(雖然有時候也猜錯)煎饼,而不像eclipse一樣它是固化的。這不校赤,這次又對它進行了優(yōu)化吆玖,旨在能讓IDEA更加的懂你~
對Java13的特性提供了更好的支持
比如對它的"""三引號字符串提供了更好的支持等等...
支持了更多的模版語言
形如ex-Jade,Handlebars马篮,EJS沾乘,Slim等模版語言
Field Call Hierarchy
字段調(diào)用樹
這個是新增的支持,我個人非常喜歡浑测。在IDEA中翅阵,我們知道可以很方便的查看方法、類的調(diào)用樹迁央,但當要查看一個字段的調(diào)用樹時掷匠,這將變得十分不方便(之前版本不支持)。
之前版本我們只能知道某個屬性它被哪些地方使用到了(Find Usages)岖圈,形如下面這樣:
這樣其實僅僅只是找出了使用處讹语,但層次結(jié)構(gòu)并看不出來(調(diào)用棧)。而此版本新增了一個能力:能看到屬性被調(diào)用的地方的層次結(jié)構(gòu)蜂科,形如這樣:
該功能名稱是:
Call Hierarchy
顽决,默認快捷鍵是Ctrl + Alt + H
Git的使用增強
這種使用層面的就一筆總結(jié)帶過:
- 為了不混淆。檢出分支會跟蹤上游分支了导匣,新增:
New Branch from Selected
選項便捷檢出 - 想向遠程push一個分支才菠,不再需要先檢出再push了,而是可以選中后直接push
- 通過VCS克隆項目時贡定,不管你是git還是svn赋访,體驗上保持了統(tǒng)一
- 提升了merge conflicts解決沖突時候的深入性
- 更好地顯示 Git PR 信息的時間軸
- 強制從忽略列表向 VCS 添加文件
- 解釋:在之前版本中,如果文件位于忽略列表,則無法將文件添加到 VCS进每。從此版本開始汹粤,對該限制進行了處理,現(xiàn)在即使文件位于 .gitignore(或 .hgignore)列表中田晚,我們也可以將文件強制添加到 Git(或 Mercurial)
==新的框架和技術(shù)==
說明:這些特性是旗艦版才有的新特性嘱兼,社區(qū)版是沒有的。
微服務(wù)框架支持
新增了對微服務(wù)框架Micronaut, Quarkus, and Helidon
的支持贤徒。
這對于我們使用Spring Boot的小朋友芹壕,貌似沒啥卵用
Endpoints視圖
支持Spring MVC,WebSocket接奈、Jax等框架的端點...
Spring Web Flux支持
略
MongoDB支持
這是很多MongoDB
使用者期待已久的功能踢涌,終于在這個版本里被加入進來了。
在添加了MongoDB數(shù)據(jù)源之后序宦,在database explorer中可查看集合和字段睁壁,運行查詢并查看查詢結(jié)果。這個在將來的版本中還會繼續(xù)擴展對MongoDB
的支持到更多的功能(是不是有種感覺:MongoDB確實還挺火的互捌,畢竟IDEA都還木有支持Elasticsearch
勒~)
==修復(fù)Fix==
- IDE現(xiàn)在可以通過自制程序檢測Gradle安裝到的目錄
- 用戶界面已經(jīng)得到了改進潘明,所以現(xiàn)在更容易手動設(shè)置Gradle主目錄
- IntelliJ IDEA現(xiàn)在支持通過KWallet在Linux上存儲密碼
- 對于JavaFX項目,IDE可以在Scene Builder選項卡中顯示帶有嵌入場景生成器的FXML文件
- 當SVN服務(wù)器不可用時秕噪,SVN的“身份驗證要求”對話框不再彈出
- IDE現(xiàn)在在索引Git日志時顯示一個進度條(新增)
- 現(xiàn)在钳降,您可以在文件歷史視圖和VCS注釋中選擇查看何時編寫了更改或提交時間戳(新增)
- JetBrains 運行時升級:主要是JBR 8/11的升級(由于開發(fā)者不用關(guān)心,略)
2019.1/2版本主要新特性回顧
為了更好的讓大家了解到IDEA的新特性腌巾,提高你的工作效率遂填,此處我附贈上前兩個版本的主要新特性,供你參考學習澈蝙。
總結(jié)
工欲善其事必先利其器吓坚,提供工作效率的一個重要手段之一:強大的工具。19年來(2000-2019)JetBrains公司提供的JetBrains 全家桶
給我們帶來一個又一個的驚喜碉克。
從某種程度上講凌唬,正是因為有了像IDEA、PyCharm...
這種非常優(yōu)秀的IDE漏麦,才得以讓我們在工作、學習過程中連續(xù)獲得便利性很好的體驗况褪,所以它的出現(xiàn)一定程度上是促進了整個社會的發(fā)展的撕贞,感謝捷克的這家公司為人類做出的貢獻。
向那些孜孜不倦為IT行業(yè)提供優(yōu)秀工具的人們致敬 !
== 若對Spring测垛、SpringBoot捏膨、MyBatis等源碼分析感興趣,可加我wx:fsx641385712,手動邀請你入群一起飛 ==
== 若對Spring号涯、SpringBoot目胡、MyBatis等源碼分析感興趣,可加我wx:fsx641385712链快,手動邀請你入群一起飛 ==