整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          IDEA 2021首個(gè)大版本發(fā)布,Java開發(fā)者感動哭了(附新亮點(diǎn)演示)

          欲善其事,必先利其器!

          就在不久之前,Java領(lǐng)域的開發(fā)神器IntelliJ IDEA終于迎來2021年的一個(gè)重要的大版本更新:IntelliJ IDEA 2021.1

          現(xiàn)如今大量的Java開發(fā)者深度依賴著這款開發(fā)軟件,正如網(wǎng)上的段子所言:“可以毫不夸張地說,多少Java程序員離開了IDEA就不會寫代碼了(狗頭)”,由此可見其使用的廣泛程度。

          新版本一出來,我也迫不及待地想嘗試一番。當(dāng)然,主力開發(fā)機(jī)我是不敢亂升級的,所以這兩天,我在一臺平時(shí)用來做測試的老開發(fā)本子上更新了全新的IDEA。

          軟件啟動界面打開的那一瞬間,我就知道事情并不簡單。


          全新的啟動頁面

          更新后,全新的啟動頁面更加花里胡哨了。

          軟件啟動速度也是非常之快,就我這多年苦練的火箭般手速,都差點(diǎn)沒截來下面這張啟動頁面圖。


          Space集成

          JetBrains提供的Space這個(gè)功能不知道大家有沒有聽說過,講白了就是一套集成的團(tuán)隊(duì)協(xié)作環(huán)境,可以提供包括構(gòu)建交付、聊天協(xié)作、團(tuán)隊(duì)管理以及項(xiàng)目管理等在內(nèi)的一整套協(xié)作一體化解決方案。

          最新的IDEA 2021.1把Space環(huán)境給無縫地集成進(jìn)來了,現(xiàn)在屬于開箱即用的狀態(tài),軟件的右上角就有快捷入口:


          支持WSL 2

          這個(gè)功能相信對于很多依賴Windows系統(tǒng)以及WSL功能的用戶來說,簡直是喜大普奔!

          以前WSL就算再好用,但是你的IDE并沒有和它打通,多少總是一個(gè)遺憾。

          這下好了,二者直接打通了,IDEA支持WSL 2。你可以直接在新版IDEA 2021.1中運(yùn)行并開發(fā)WSL 2中的Java項(xiàng)目,包括Gradle類型項(xiàng)目和Maven類型等項(xiàng)目均支持。


          Run Targets

          Run Targets這個(gè)功能的意思有點(diǎn)類似于上面剛聊過的WSL 2。它允許開發(fā)者直接在遠(yuǎn)程主機(jī)甚至在Docker容器上運(yùn)行和調(diào)試項(xiàng)目。

          所以到目前為止,新版IDEA 2021允許開發(fā)者可以在本地、WSL 2、SSH遠(yuǎn)程主機(jī)、Docker等目標(biāo)上運(yùn)行項(xiàng)目,可以說賊香了!


          支持Java 16

          這也算是一個(gè)比較重磅的更新。

          近兩年來,Java版本的發(fā)布速度也是快如老狗,我還在用Java 8,它都淦到Java 16了。

          關(guān)于Java 16的新特性,我還準(zhǔn)備寫篇文章來詳細(xì)聊一聊呢,包括比如:

          • Records特性轉(zhuǎn)正
          • instanceof模式匹配轉(zhuǎn)正
          • jpackage轉(zhuǎn)正
          • Unix域套接字通道
          • 彈性Metaspace
          • ZGC
          • 矢量API
          • 外部鏈接API
          • ...

          這次IDEA 2021版的一個(gè)很重要的更新就是加入了對Java 16的基本支持,注意是基本支持。

          除此之外IDEA還新增了幾項(xiàng)檢查機(jī)制,典型比如更加智能的數(shù)據(jù)流分析檢查。

          鏈?zhǔn)綐?gòu)造方式的優(yōu)化格式設(shè)置等等。

          目的都是為了幫助提升可讀性,進(jìn)一步提升用戶體驗(yàn)。


          Code With Me

          Code With Me是一項(xiàng)用于協(xié)作開發(fā)與結(jié)對編程的服務(wù),可以實(shí)Host-Guest模式的“手摸手”(滑稽)結(jié)對編程和群體編程。

          目前,新版IDEA開箱即用地支持了Code With Me功能,同時(shí)它還具有音頻通話和視頻通話功能,可以滿足隨時(shí)隨地的溝通需求,這操作簡直騷到爆。

          版本控制

          版本控制這一塊目前做了不少的更新,包括可以更快地完成PR的創(chuàng)建提交,支持PR模板。

          變更提交至代碼庫前的自定義代碼檢查配置。

          以及支持自定義Git提交模板等等。


          其他用戶體驗(yàn)提升

          IDEA內(nèi)置HTML網(wǎng)頁預(yù)覽

          以前在IDEA中預(yù)覽網(wǎng)頁得跳到外部瀏覽器,而現(xiàn)如今IDE的編輯器內(nèi)部就支持Built-in級別的網(wǎng)頁預(yù)覽,只需要在右上角點(diǎn)那個(gè)IDEA小圖標(biāo)即可激活,而且可以編輯網(wǎng)頁源碼時(shí)做到同步更新和預(yù)覽。

          Windows版本任務(wù)欄增強(qiáng)

          在Windows平臺的新版IDEA上,可直接在任務(wù)欄(或開始菜單)上右鍵快捷呼出最近使用的項(xiàng)目。

          搜索時(shí)自定義外部依賴項(xiàng)

          講白了,就是使搜索范圍更易于自定義,我們可以直接在設(shè)置中進(jìn)行Scope定義,自行選擇External Dependencies的范圍是否包含。

          窗口拆分優(yōu)化

          當(dāng)你對編輯器里的多個(gè)文件進(jìn)行垂直窗口拆分時(shí),雙擊某個(gè)Tab就可以將當(dāng)前文件窗口最大化,再次雙擊Tab則會還原。


          當(dāng)然除了這些之外,新版IDEA還新增了很多更新和增強(qiáng),比如:對Kotlin、Scala、JavaScript等語言的開發(fā)優(yōu)化、對常見框架與技術(shù)的優(yōu)化和支持、對Kubernetes和Docker的更新支持和改進(jìn)、數(shù)據(jù)庫工具的更新支持等等,由于時(shí)間有限,在此就不一一贅述了,有需要的可以按需細(xì)究。

          最后,讓我們一起大喊一句:“IDEA,yyds!”

          DEA全稱是IntelliJ IDEA,是java編程語言開發(fā)的集成環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具,尤其是智能代碼助手、代碼自動提示、重構(gòu)、JavaEE支持、各類版本工具整合、代碼分析、創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說是超常的。而且他的旗艦版還支持HTML、CSS、PHP、MySQL、Python等。免費(fèi)版只支持java,Kotlin等少數(shù)語言。


          IDEA的特色功能

          IDEA所提倡的是智能編碼,是減少程序員的工作,idea的特色功能有以下幾點(diǎn):

          ●智能的選取

          在很多時(shí)候我們要選取某個(gè)辦法,或某個(gè)循環(huán)或一步步從一個(gè)變量到整個(gè)類的慢慢擴(kuò)充著選取,idea就提供這種基于語法的選擇,在默認(rèn)設(shè)置中ctrl+w,可以實(shí)現(xiàn)選取范圍的不斷擴(kuò)充,這種方式在重構(gòu)的時(shí)尤其顯得方便。

          ●歷史記錄功能

          不用通過版本管理服務(wù)器,單純的idea就可以查看任何工程中文件的歷史記錄,在版本恢復(fù)是你可以很容易的將其恢復(fù)。

          ●豐富的導(dǎo)航模式

          IDEA提供了豐富的導(dǎo)航查看模式,例如crtl+E顯示最近打開過的文件,crtl+N顯示你希望顯示的類名查找框。在最基本的project視圖中,你還可以選擇多種的視圖方式。

           編碼輔助
          Java規(guī)范中提倡的toString()、hashCode()、equals()以及所有的get/set方法,你可以不用進(jìn)行任何的輸入就可以實(shí)現(xiàn)代碼的自動生成,從而把你從無聊的基本方法編碼中解放出來。
          ● 靈活的排版功能
          基本所有的IDE都有重排版功能,但僅有IDEA的是人性的,因?yàn)樗С峙虐婺J降亩ㄖ疲憧梢愿鶕?jù)不同的項(xiàng)目要求采用不同的排版方式。
          ● 
          XML的完美支持
          xml全提示支持:所有流行框架的xml文件都支持全提示,誰用誰知道。
          ● 動態(tài)語法檢測
          任何不符合java規(guī)范、自己預(yù)定義的規(guī)范、累贅都將在頁面中加亮顯示。
          ● 代碼檢查
          對代碼進(jìn)行自動分析,檢測不符合規(guī)范的,存在風(fēng)險(xiǎn)的代碼,并加亮顯示。
          ● 
          對JSP的完全支持
          不需要任何的插件,完全支持JSP。
          ● 智能編輯
          代碼輸入過程中,自動補(bǔ)充方法或類。
           EJB支持
          不需要任何插件完全支持EJB(6.0 支持EJB3.0)
           列編輯模式
          用過UtralEdit的肯定對其的列編輯模式贊賞不已,因?yàn)樗鼫p少了很多無聊的重復(fù)工作,而IDEA完全支持該模式,從而更加提高了編碼效率。
          ● 
          預(yù)置模板
          預(yù)置模板可以讓你把經(jīng)常用到的方法編輯進(jìn)模板,使用時(shí)你只用輸入簡單的幾個(gè)字母就可以完成全部代碼的編寫。例如使用比較高的public static void main(String[] args){}你可以在模板中預(yù)設(shè)pm為該方法,輸入時(shí)你只要輸入pm再按代碼輔助鍵,IDEA將完成代碼的自動輸入。
           完美的自動代碼完成
          智能檢查類中的方法,當(dāng)發(fā)現(xiàn)方法名只有一個(gè)時(shí)自動完成代碼輸入,從而減少剩下代碼的編寫工作。
          ● 
          版本控制完美支持
          集成了市面上常見的所有版本控制工具插件,包括git、svn、github,讓開發(fā)人員在編程的工程中直接在intellij idea里就能完成代碼的提交、檢出、解決沖突、查看版本控制服務(wù)器內(nèi)容等等。
          ● 
          不使用代碼的檢查
          自動檢查代碼中不使用的代碼,并給出提示,從而使代碼更高效。
          ● 智能代碼
          自動檢查代碼,發(fā)現(xiàn)與預(yù)置規(guī)范有出入的代碼給出提示,若程序員同意修改自動完成修改。例如代碼:String str = "Hello Intellij " + "IDEA"; IDEA將給出優(yōu)化提示,若程序員同意修改IDEA將自動將代碼修改為:String str = "Hello Intellij IDEA";
          ● 
          正則表達(dá)式的查找和替換功能
          查找和替換支持正則表達(dá)式,從而提高效率。
          ● 
          JavaDoc預(yù)覽支持
          支持JavaDoc的預(yù)覽功能,在JavaDoc代碼中Ctrl+Q顯示JavaDoc的結(jié)果,從而提高doc文檔的質(zhì)量。
          ● 程序員意圖支持
          程序員編碼時(shí)IDEA時(shí)時(shí)檢測你的意圖,或提供建議,或直接幫你完成代碼。

          這就是IDEA的優(yōu)點(diǎn),看完如需下載安裝包或pojie版本可評論留言



          者介紹 | 梁桂釗——微微科技架構(gòu)師

          ?

          一、官方工具

          IntelliJ IDEA 默認(rèn)安裝并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不為人知的工具。

          1. REST client

          在日常開發(fā)過程中,我們或多或少都涉及到 API 接口的測試。例如,有的小伙伴使用 Chrome 的 Postman 插件,或者使用火狐的 restclient 等工具。事實(shí)上,這些工具是測試 API 接口非常有效的方式之一,筆者之前也一直使用 Postman 完成 API 接口的測試工作。今天,筆者推薦另外一個(gè)非常好用的小工具,能夠幫助讀者快速測試 API 接口。這個(gè)工具就是 IDEA 的 Editor REST Client。IDEA 的 Editor REST Client 在 IntelliJ IDEA 2017.3 版本就開始支持,在 2018.1 版本添加了很多的特性。事實(shí)上,它是 IntelliJ IDEA 的 HTTP Client 插件。詳細(xì)使用文檔,參考:http://blog.720ui.com/2018/restclient_use/


          2. UML Support

          如果需要研究源碼,內(nèi)置 UML Support 插件可以很好地查看類繼承關(guān)系。詳細(xì)使用文檔,參考:https://www.jetbrains.com/help/idea/class-diagram.html


          未完待續(xù)。。。

          二、市場插件

          • 阿里代碼規(guī)約檢測
          • 快捷鍵提示工具:Key promoter X
          • 代碼注解插件:Lombok
          • 代碼生成工具:CodeMaker
          • 單元測試測試生成工具:JUnitGenerator
          • Mybatis 工具:Free Mybatis plugin
          • Maven輔助神器:Maven Helper
          • JSON轉(zhuǎn)領(lǐng)域?qū)ο蠊ぞ撸篏sonFormat
          • 領(lǐng)域?qū)ο筠D(zhuǎn)JSON工具:POJO to JSON
          • 時(shí)序圖生成工具:SequenceDiagram
          • 字符串工具:String Manipulation
          • 代碼作色工具:Rainbow Brackets
          • RESTful 服務(wù)開發(fā)輔助工具集: RestfulToolkit
          • 日志工具:Grep Console
          • 生成對象set方法:GenerateAllSetter
          • Redis可視化:Iedis
          • K8s工具:Kubernetes
          • 中英文翻譯工具:Translation

          1. 阿里代碼規(guī)約檢測

          目前,插件檢測有兩種模式:實(shí)時(shí)檢測、手動觸發(fā)。詳細(xì)使用文檔,參考:https://github.com/alibaba/p3c/blob/master/idea-plugin/README_cn.md

          • 阿里巴巴 Java 開發(fā)手冊(詳盡版):https://github.com/alibaba/p3c/blob/master/阿里巴巴Java開發(fā)手冊(詳盡版).pdf
          • GitHub : https://github.com/alibaba/p3c
          • IDEA 插件地址:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines




          此外,類似的插件還有 FindBugs 和 CheckStyle。

          2. 快捷鍵提示工具:Key promoter X

          Key Promoter X 是一個(gè)快捷鍵提示插件,如果鼠標(biāo)操作是能夠用快捷鍵替代,Key Promoter X 會提示可以用什么快捷鍵替代。詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/9792-key-promoter-x


          3. 代碼注解插件:Lombok

          lombok 的使用,參考 :https://projectlombok.org/。我們需要在代碼中引入三方庫,然后安裝 lombok 插件即可。

          <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>最新版本號</version></dependency>

          4. 代碼生成工具:CodeMaker

          開發(fā)過程中,經(jīng)常手工編寫重復(fù)代碼。現(xiàn)在,可以通過 CodeMaker 來定義 Velocity 模版來支持自定義代碼模板來生成代碼。目前,CodeMaker 自帶兩個(gè)模板。Model:根據(jù)當(dāng)前類生成一個(gè)與其擁有類似屬性的類,用于自動生成持久類對應(yīng)的領(lǐng)域類。Converter:該模板需要兩個(gè)類作為輸入的上下文,用于自動生成領(lǐng)域類與持久類的轉(zhuǎn)化類。

          詳細(xì)使用文檔,參考:https://github.com/x-hansong/CodeMaker

          5. 單元測試測試生成工具:JUnitGenerator

          單元測試是必不可少的!我們可以使用 JUnitGenerator 插件來自動創(chuàng)建了單元測試。我們可以使用提供的 velocity 模板定制單元測試輸出代碼。如果在已經(jīng)存在單元測試的地方創(chuàng)建了單元測試,則會提示用戶進(jìn)行覆蓋或合并操作。合并操作允許用戶有選擇地創(chuàng)建目標(biāo)文件內(nèi)容。詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/3064-junitgenerator-v2-0

          6. Mybatis 工具:Free Mybatis plugin

          現(xiàn)在,MyBatis 框架已占領(lǐng)半壁江山。因此,圍繞著 MyBatis 的插件和工具越來越多。Free Mybatis plugin 非常方便進(jìn)行 Mapper 接口和 XML 文件之間跳轉(zhuǎn)。詳細(xì)使用文檔,參考:

          https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin。此外,收費(fèi)版的還有 Mybatis plugin。


          對于 Mybatis 的工具還有很多,比如 mybatis-log-plugin、codehelper.generator。此外,非 IDEA的工具有:Mybatis 分頁插件 Mybatis-PageHelper、Mybatis 代碼生成工具 mybatis-generator 等。地址:http://www.mybatis.org/generator/

          7. Maven輔助神器:Maven Helper

          如果 Maven 引入的 jar 包有沖突,可以使用 Maven Helper 插件來幫助分析。詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/7179-maven-helper


          8. JSON轉(zhuǎn)領(lǐng)域?qū)ο蠊ぞ撸篏sonFormat

          在開發(fā)過程中,我們可能會遇到 json 格式的字符串轉(zhuǎn)換成實(shí)體類參數(shù)的場景,這個(gè)插件可以根據(jù) JSONObject 格式的字符串,自動生成實(shí)體類參數(shù)。詳細(xì)使用文檔,參考:https://github.com/zzz40500/GsonFormat

          那么,如何使用呢?我們可以使用 GsonFommat 的快捷鍵,默認(rèn) option + s (mac), alt + s (win) 通過以下方式修改快捷鍵。或者點(diǎn)擊工具欄的 Generate 來喚起生成工具。


          9. 領(lǐng)域?qū)ο筠D(zhuǎn)JSON工具:POJO to JSON

          為了測試需要,我們需要將簡單 Java 領(lǐng)域?qū)ο筠D(zhuǎn)成 JSON 字符串方便用 postman 或者 curl 模擬數(shù)據(jù)。詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/9686-pojo-to-json


          10. 時(shí)序圖生成工具:SequenceDiagram

          有的時(shí)候,我們需要梳理業(yè)務(wù)邏輯或者閱讀源碼。從中,我們需要了解整個(gè)調(diào)用鏈路,反向生成 UML 的時(shí)序圖是強(qiáng)需求。其中,SequenceDiagram 插件是一個(gè)非常棒的插件。詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/8286-sequencediagram


          11. 字符串工具:String Manipulation

          String Manipulation 插件提供了非常豐富字符串工具,例如命名替換( (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snakecase, SCREAMINGSNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)等。

          詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/2162-string-manipulation

          12. 代碼作色工具:Rainbow Brackets

          Rainbow Brackets 插件可以實(shí)現(xiàn)配對括號相同顏色,并且實(shí)現(xiàn)選中區(qū)域代碼高亮的功能。

          詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets


          事實(shí)上,代碼作色之后,可以非常方便我們閱讀。類似的工具還有:Grep Console 來自定義設(shè)置控制臺輸出顏色等。

          13. RESTful 服務(wù)開發(fā)輔助工具集: RestfulToolkit

          開發(fā)中,經(jīng)過會根據(jù) URI 的部分信息來查找對應(yīng)的 Controller 中方法,RestfulToolkit 提供了一套 RESTful 服務(wù)開發(fā)輔助工具集,提供了如下功能:

          根據(jù) URL 直接跳轉(zhuǎn)到對應(yīng)的方法定義 ( Ctrl \ or Ctrl Alt N ); 提供了一個(gè) Services tree 的顯示窗口; 一個(gè)簡單的 http 請求工具; 在請求方法上添加了有用功能: 復(fù)制生成 URL;,復(fù)制方法參數(shù)... 其他功能: java 類上添加 Convert to JSON 功能,格式化 json 數(shù)據(jù) ( Windows: Ctrl + Enter; Mac: Command + Enter )。

          詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/10292-restfultoolkit


          14. 日志工具:Grep Console

          參考:https://plugins.jetbrains.com/plugin/7125-grep-console

          不同級別日志通過顏色區(qū)分,一路了然


          高亮日志


          便捷檢索日志


          15. 生成對象set方法:GenerateAllSetter

          開發(fā)中,有時(shí)可以通過BeanUtil等工具類進(jìn)行對象之間的屬性拷貝,但有時(shí)候也需要手工進(jìn)行賦值。通過GenerateAllSetter,可以一鍵生成對象的所有set語句。


          16. Redis可視化:Iedis

          參考:https://plugins.jetbrains.com/plugin/9228-iedis

          使用參考:https://codesmagic.com/iedis/userguide/getting-started 可方便的執(zhí)行增刪查改及使用命令行進(jìn)行操作。


          17. K8s工具:Kubernetes

          參考 https://plugins.jetbrains.com/plugin/10485-kubernetes 支持編輯 Kubernetes 資源文件,如下:可以比較方便的查看yaml中的各項(xiàng) placeholder 的默認(rèn)值,且可以方便的鏈接到value位置。


          18. 中英文翻譯工具:Translation

          最騷的操作是什么?一位小伙伴說過:說到了變量命名,先用中文寫好,然后用 Translation 插件的 translate and replace 一鍵替換為英文,這樣效率高而且準(zhǔn)確。詳細(xì)使用文檔,參考:https://plugins.jetbrains.com/plugin/8579-translation


          主站蜘蛛池模板: 国内国外日产一区二区| 久久精品无码一区二区WWW| 精品动漫一区二区无遮挡| 无码精品人妻一区二区三区影院| 日亚毛片免费乱码不卡一区| 青青青国产精品一区二区| 久久婷婷色综合一区二区| 精品国产一区二区三区在线| 国产午夜精品一区理论片| 色一情一乱一伦一区二区三区日本 | 中文字幕aⅴ人妻一区二区| 国产成人午夜精品一区二区三区| 国产精品亚洲一区二区三区在线| 国产aⅴ一区二区| 免费看无码自慰一区二区| 国产成人精品日本亚洲专一区 | 丝袜美腿高跟呻吟高潮一区| 亚洲美女视频一区| 无码国产精成人午夜视频一区二区| 无码AV一区二区三区无码| 国产色欲AV一区二区三区| 亚洲AV无码一区二区三区牲色 | 精品视频一区二区三区| 国产成人精品亚洲一区| 国产一区二区三区播放心情潘金莲| 亚洲一区二区在线免费观看| 国产一区二区三区久久| 国产精品污WWW一区二区三区 | 成人一区专区在线观看| 精品国产一区二区三区AV | 老熟妇仑乱一区二区视頻| 国产精品视频分类一区| 少妇精品无码一区二区三区| 亚洲一区二区三区高清在线观看 | 亚洲成av人片一区二区三区| 日本一区二区三区在线观看视频| 午夜AV内射一区二区三区红桃视| 亚洲日韩AV无码一区二区三区人 | 午夜影视日本亚洲欧洲精品一区| 波多野结衣高清一区二区三区 | 国产婷婷色一区二区三区|