IntelliJ IDEA 2021.1 最新變化
IntelliJ IDEA 2021.1 引入 Java 16 和 WSL 2 支持、Space 集成、Code With Me、IDE 內(nèi)部的 HTML 預(yù)覽窗口、在 SSH 主機(jī)和 Docker 容器中運(yùn)行代碼的選項以及其他實用更新。您可以觀看這段視頻概覽或繼續(xù)閱讀,詳細(xì)了解最重要的變化!
下載
簡要導(dǎo)覽
Space 集成
PreviousNext
Space 集成
與 Space 集成,我們新的軟件開發(fā)和團(tuán)隊協(xié)作平臺,現(xiàn)在可以開箱即用。您可以通過歡迎屏幕上的 Get from VCS 連接到 JetBrains Space 中的組織。登錄后,您可以查看和克隆項目倉庫,檢查隊友的代碼以及編寫 Space Automation 腳本。
WSL 2 支持
UX 外部依賴項
Java 項目 WSL 2 支持
我們知道您一直在期待這次更新!現(xiàn)在,您可以在 IntelliJ IDEA 中使用 WSL 2 中的 Java 項目。IDE 可以檢測 JDK 安裝、安裝 JDK、編譯和運(yùn)行 Maven 和 Gradle 項目以及使用 IntelliJ IDEA 構(gòu)建系統(tǒng)的項目。
協(xié)作開發(fā)
Space 集成
Code With Me,一項用于協(xié)作開發(fā)和結(jié)對編程的新服務(wù),已在 IntelliJ IDEA 中開箱即用。它還具有視頻和語音通話功能,讓遠(yuǎn)程協(xié)作更上一層樓。無論您何時想與同事交流,都可以直接從 JetBrains IDE 中發(fā)起音頻和視頻通話。Code With Me 完美匹配 1:1 會議和小組會議,您可以邀請數(shù)十人參與。要詳細(xì)了解這些更新,請閱讀我們的博文。
運(yùn)行目標(biāo)
Space 集成
Run Targets 功能允許您在 Docker 容器或遠(yuǎn)程機(jī)器上運(yùn)行、測試、分析和調(diào)試應(yīng)用程序。IntelliJ IDEA Ultimate 目前允許您在 Docker、SSH 和 WSL 目標(biāo)上運(yùn)行 Java 應(yīng)用程序、JUnit 測試以及 Maven、Gradle、Micronaut、基于 Maven 的 Quarkus 和 Spring Boot 項目。更多信息,請查看此博文。
用戶體驗
編輯器 HTML 預(yù)覽
內(nèi)置 HTML 預(yù)覽
新的內(nèi)置瀏覽器預(yù)覽可以讓您快速預(yù)覽 HTML 文件。在編輯器右上角,點(diǎn)擊微件中帶有 IntelliJ IDEA 徽標(biāo)的圖標(biāo)即可將其打開。您如果在 HTML 中進(jìn)行了更改,或者改變了鏈接的 CSS 和 JavaScript 文件,則預(yù)覽將即時更新。
UX 外部依賴項
在搜索范圍內(nèi)自定義外部依賴項
我們已經(jīng)使搜索范圍更易于自定義。您可以將 External Dependencies 設(shè)置為包含在范圍中或從范圍中排除。轉(zhuǎn)到 Preferences/Settings | Appearance & Behavior | Scopes,使用右側(cè)按鈕更改 External Dependencies 的狀態(tài)。
HPROF 內(nèi)存查看器
在 Windows 上快速訪問最近的項目
我們更新了對 Windows 跳轉(zhuǎn)列表的支持,現(xiàn)在,右鍵點(diǎn)擊任務(wù)欄或開始菜單上的 IntelliJ IDEA 圖標(biāo)即可打開您最近的項目。
改進(jìn)了輔助功能
我們的一大關(guān)鍵任務(wù)是讓所有用戶都能不受阻礙地使用我們的 IDE。在這個版本中,我們?yōu)闅g迎屏幕、Project Structure 視圖和 VCS 日志中的 UI 元素添加了更多標(biāo)簽。啟用屏幕閱讀器后,現(xiàn)在可以正確讀出這些元素以及間距圖標(biāo)。我們也在努力改善對 macOS 用戶的輔助功能支持。
在 Windows 中將高對比度模式與 IDE 主題同步
如果您在 Windows 上使用了高對比度模式,當(dāng)您第一次啟動 IDE 時,您的 IDE 將自動應(yīng)用高對比度主題。
版本控制
Pull Request 支持
更好的 Pull Request 支持
Pull Request 可以更快完成創(chuàng)建:只需在 Pull Request 視圖中點(diǎn)擊 + 圖標(biāo)并填寫所有細(xì)節(jié)。視圖頂部的新選項卡包含關(guān)于您的 Pull Request 的所有信息。雙擊 Files 選項卡中的任意文件,IDE 將打開編輯器中的差異。您還會發(fā)現(xiàn)對 Pull Request 模板的支持,其中包含 Pull Request 的描述文本。
Git 提交模板
支持 Git 提交模板
IntelliJ IDEA 支持 Git 提交模板。如果要創(chuàng)建自定義提交消息,您可以使用模板,在其中填寫必要信息。然后,IDE 將把文本顯示為初始提交消息。
預(yù)提交檢查
為預(yù)提交檢查配置配置文件
現(xiàn)在,在將變更提交到 VCS 之前,可以輕松選擇代碼檢查配置文件。點(diǎn)擊齒輪圖標(biāo)顯示提交選項,選中 Analyze code 復(fù)選框,點(diǎn)擊 Choose profile,然后選擇所需的配置文件。您的 IDE 會在提交前用它來檢查代碼。
URL 內(nèi)嵌提示
從另一個分支獲取文件
在 v2021.1 中,您可以通過 Compare with branch 對話框從另一個分支獲取文件。您只需選擇要獲取的文件,然后點(diǎn)擊 Show diff 旁邊新增的向下箭頭圖標(biāo)。
改進(jìn)了分支
保存到 Shelf
您可以使用新的 Save to Shelf 操作將變更保留在本地并復(fù)制到 Shelf。在 macOS 上按 ??A(在 Windows 或 Linux 上按 Ctrl+Shift+A),然后輸入 Save to Shelf 即可訪問此操作。
Perforce 集成
Perforce 插件現(xiàn)在與 IntelliJ IDEA Community Edition 完全兼容,并與您的 IDE 捆綁。此插件源代碼位于 GitHub。
編輯器
可調(diào)整字體
字體粗細(xì)選項
在長時間的編碼工作中,選擇一個舒適的編輯器字體非常重要。最近增加的版式設(shè)置讓這個選擇變得更加簡單和個性化。在 v2021.1 中,您可以在 Preferences / Settings | Editor | Fonts 中調(diào)整主字體和粗體字體的粗細(xì)。
最大化分割視圖中的選項卡
最大化分割視圖中的選項卡
打開多個垂直分割編輯器的選項卡時,可以雙擊其中任意一個以最大化該特定選項卡的編輯器窗口。只需再次雙擊即可將窗口恢復(fù)到原始大小。
PreviousNext
JSONPath 支持
IntelliJ IDEA 現(xiàn)在支持使用 Goessner 或 Jayway 語法的 JSONPath 表達(dá)式。對于 JSON 文件,您可以通過 Edit | Find 調(diào)用 Evaluate JSONPath Expression 操作,在 JSONPath 寫入查詢。如果文件包含由 JSONPath 編寫的部分,您可以使用相同的功能并添加 JSON 輸入以測試 JSONPath 查詢。
JSON Lines 支持
JSON Lines 支持
IntelliJ IDEA 支持以換行符分隔的 JSON Lines 格式,該格式用于處理結(jié)構(gòu)化數(shù)據(jù)和日志。IDE 將識別 .jsonl、.jslines、.ldjson 和 .ndjson 文件類型。
分析器 ULTIMATE
PreviousNext
我們重新設(shè)計了分析器 UI。Home 窗口的信息量更大,將分析器附加到進(jìn)程的速度也更快。我們還添加了兩個新操作,可以通過右鍵點(diǎn)擊正在運(yùn)行的應(yīng)用程序來訪問:Capture Memory Snapshot,用于獲取應(yīng)用程序的 *.hprof 快照;CPU and Memory Live Charts,會打開一個帶有可視化工具的選項卡,用于跟蹤資源消耗。
Java
PreviousNext
支持 Java 16
IntelliJ IDEA 具有對 Java 16 的基本支持,于 2021 年 3 月發(fā)布。部分更新包括內(nèi)部類聲明顯式或隱式靜態(tài)成員的新功能,以及 Stream.collect(toUnmodifiableList()) 的變化,其已轉(zhuǎn)換為 stream.toList()。IDE 在流的代碼補(bǔ)全列表上首先顯示 toList() 項。
PreviousNext
數(shù)據(jù)流分析的新檢查
IntelliJ IDEA 會在數(shù)組初始化為負(fù)數(shù)時發(fā)出警告。它還可以識別 Arrays.copyOf() 和 Collection.toArray() 方法。而且,IDE 還支持拆箱或轉(zhuǎn)換整數(shù)的方法,如 Integer.longValue 和 Byte.intValue。
PreviousNext
其他改進(jìn)的新檢查
現(xiàn)在,您可以縮小 for-each 循環(huán)參數(shù)類型,避免不必要的轉(zhuǎn)換。如果篩選器使用的值與映射器生成的值相同,則另一項檢查允許您通過互換 .filter() 和 .map() 調(diào)用簡化代碼語法。此外,將 StringBuffer 替換為 StringBuilder 的檢查已更新,涵蓋了更多情況。
PreviousNext
鏈?zhǔn)綐?gòu)建器方法的格式設(shè)置
鏈?zhǔn)綐?gòu)建器方法的新格式設(shè)置選項有助于提高其可讀性。您可以在 Chained method calls 下拉列表的 Preferences/Settings | Editor | Code Style | Java | Wrapping and Braces 中配置格式化程序。builder methods 選項可以讓您創(chuàng)建一列方法,IDE 將把這些方法視為構(gòu)建器方法,把每個方法置于單獨(dú)一行。選中 Wrap first call 復(fù)選框時,第一個構(gòu)建器方法也將出現(xiàn)在單獨(dú)一行上。您也可以手動添加縮進(jìn),如果勾選 Keep builder methods indents 復(fù)選框,IDE 將使其保持不變。
Kotlin
Kotlin 快速高亮顯示
更快地高亮顯示代碼問題
實時代碼分析能夠更快地檢測到錯誤和警告。與之前版本相比,IntelliJ IDEA 2021.1 幾乎可以即時高亮顯示代碼問題?,F(xiàn)在,代碼補(bǔ)全機(jī)制可以更快地運(yùn)行,并且 IDE 對凍結(jié)的響應(yīng)有所改善。
Kotlin 快速高亮顯示
改進(jìn)的代碼補(bǔ)全
Kotlin 中的代碼補(bǔ)全機(jī)制提供了需要類型參數(shù)的函數(shù)。選擇此類函數(shù)后,IDE 會將正確的類型參數(shù)添加到前面的代碼。
更好的代碼覆蓋率
IntelliJ IDEA 的 code coverage 運(yùn)行程序現(xiàn)在完全支持 Kotlin 的內(nèi)聯(lián)函數(shù)和協(xié)同程序。
Swagger UI 支持
重構(gòu)改進(jìn)
我們重新設(shè)計了 Change Signature 重構(gòu)的 UI,并添加了一個新復(fù)選框,用于將添加的參數(shù)設(shè)置為默認(rèn)參數(shù)。
Kotlin 調(diào)試器更新
IntelliJ IDEA 調(diào)試器可以評估 Kotlin 中的 get 表達(dá)式,并將其顯示在 Variables 視圖中。您也可以從 IDE 跳轉(zhuǎn)到源。
Kotlin UML
適用于 Kotlin 的 UML 類圖
UML類圖現(xiàn)已適用于編譯到 JVM 的 Kotlin 代碼,并且可以同時顯示 Java 和 Kotlin 類。我們計劃即將支持其他 Kotlin 后端的 UML 圖。
Scala
Type Diff 中的 Kind
Type Diff 中的 Kind
Scala 開發(fā)者用到 kind 程度較高的類型時,往往傾向于采用獨(dú)特的樣式。Type Diff 工具提示現(xiàn)在支持 kind。
機(jī)器學(xué)習(xí)補(bǔ)全
機(jī)器學(xué)習(xí)補(bǔ)全
該版本引入了基于機(jī)器學(xué)習(xí)的 Scala 代碼補(bǔ)全。您可以在 Settings | Editor | Code Completion | ML | Scala 中啟用該功能。
PreviousNext
編譯圖表中的階段和單元
除了模塊,編譯圖表現(xiàn)在還可以顯示階段和單元,讓您更深入地了解編譯。打開 Build 工具窗口,選擇 Chart 節(jié)點(diǎn),選擇細(xì)節(jié)的所需 Level。
IntelliJ 平臺插件模板
IntelliJ 平臺插件模板
通過 sbt-idea 插件即可使用 Scala 和 sbt 開發(fā) IntelliJ 平臺插件。新增的內(nèi)置 Project Wizard 模板將使過程更加簡單(這個功能取決于 Plugin DevKit)。
構(gòu)建工具
HPROF 內(nèi)存查看器
我們已經(jīng)恢復(fù)了導(dǎo)入 Maven 項目時自定義設(shè)置的功能。要激活該選項,請在 File | New Projects Settings | Preferences for new Projects | Build, Execution, Deployment | Build Tools | Maven 中選擇 Show settings dialog for new Maven projects。
框架與技術(shù) ULTIMATE
Pull Request 支持
支持替換 http:// 的新檢查
您的 IDE 現(xiàn)在可以高亮顯示 http:// 協(xié)議用法,并將其更改為 https://。該檢查默認(rèn)啟用。您可以將 URL 添加到忽略的 URL 列表,或者在 Preferences/Settings | Editor | Inspections | Security – Link with unencrypted protocol 中禁用對整個或部分項目的檢查。
Pull Request 支持
改進(jìn)了 HTTP 客戶端
如果您從 HTTP 客戶端運(yùn)行請求,響應(yīng)將出現(xiàn)于在此版本獲得 UI 和 UX 更新的 Services 工具窗口。您可以折疊返回的 HTML、JSON 或 XML,復(fù)制其正文,隱藏行號,選擇顯示格式,并快速滾動到響應(yīng)的頂部和底部。
HTTP 客戶端中的 SSL 支持
如果將 SSL 客戶端身份驗證用于 https:// 協(xié)議,則可以在 HTTP 客戶端中配置 SSL 設(shè)置。為此,請點(diǎn)擊 Add environment file,然后選擇 Private。IDE 將自動創(chuàng)建一個文件,您可以在其中添加 SSL 配置。代碼補(bǔ)全將提供幫助。
Swagger UI 支持
適用于 JVM 框架的新項目向?qū)?/span>
我們重新設(shè)計了用于創(chuàng)建 Spring、Micronaut、Quarkus 和 MicroProfile 項目的向?qū)?。開始一個新項目現(xiàn)在只需兩步!第一個屏幕方便地包含了所有核心信息,第二個屏幕則顯示了特定于框架的設(shè)置。新的 UI 更加整潔,項目創(chuàng)建流程也更加直觀。
Pull Request 支持
改進(jìn)了 JPA 支持
我們?yōu)榘?JPA 實體的項目添加了重新設(shè)計的間距圖標(biāo)。這些圖標(biāo)可以點(diǎn)擊,并包含了對實體及其特性最實用的操作列表。我們還改進(jìn)了對 Kotlin 和多模塊項目的 JPA 支持。
適用于 Jakarta EE 9 的 JPA 控制臺
現(xiàn)在可以使用 JPA 控制臺在 Jakarta EE 9 項目中編寫和運(yùn)行 JPQL 查詢。
UML 圖的新配色方案
我們給使用淺色主題的用戶帶來一個好消息:UML 圖現(xiàn)已擁有新的配色方案,更加整潔易讀。
Swagger 改進(jìn)
Swagger 支持帶有外部文件引用 ($ref) 的規(guī)范。此外,規(guī)范文件的 Structure 視圖也獲得更多節(jié)點(diǎn),包括 Security、Callbacks 和 Examples。
Swagger UI 支持
Selenium 頁面對象生成器
IntelliJ IDEA 現(xiàn)在支持用于檢測 Web 應(yīng)用程序 DOM 元素的實驗性工具。使用前安裝 Selenium UI Testing 插件。
您可以通過 Tools | Generate Selenium Page Object 訪問這個新工具。在打開的對話框中,輸入網(wǎng)頁地址,選擇任意 DOM 元素,然后將其添加到下面的區(qū)域。您可以在那里更改元素的語言或框架。我們的頁面對象生成器支持Java、Kotlin 和 Groovy 以及 Selenium、FluentLenium、Selenide、Geb、Atlas 和 JDI Light 等框架。
您可以自定義每個框架的代碼模板。
Kubernetes ULTIMATE
快速刪除資源
可以從編輯器中刪除當(dāng)前上下文中的所有群集資源 - 只需點(diǎn)擊間距中的 Run 圖標(biāo),然后選擇 Delete。
支持 Kustomize 3.7.0 組件
您可以在 Settings/Preference | Languages & Frameworks | Kubernetes 的 Kustomize 版本下拉列表中選擇新的 Kustomize 3.7.0 組件。
支持 kind: List
如果您需要使用 kubectl get <resource type> -o yaml 命令返回的內(nèi)容或?qū)①Y源整理到列表,IDE 現(xiàn)已支持 kind: List。在列表的每個資源中,您都可以重命名標(biāo)簽,并通過間距圖標(biāo)使用代碼輔助和導(dǎo)航。您還可以將列表與多文檔 YAML 文件相互轉(zhuǎn)換。
PreviousNext
Helm 項目的非默認(rèn)值
可以創(chuàng)建自定義 values.yaml 文件。IDE 會將名稱中帶有“values”的文件視為值文件。從上下文菜單選擇 Configure Helm Parameters、Helm Lint 或 Helm Template,打開對話框,配置圖表模板將使用的值文件。您也可以將值粘貼到對話框的 Additional values 區(qū)域手動添加值。
Docker
PreviousNext
改進(jìn)了 Run/Debug Configuration
Run/Debug Configuration 對話框現(xiàn)在更加簡潔靈活。要添加所有必要的構(gòu)建選項,請點(diǎn)擊 Modify options。要添加運(yùn)行選項,請點(diǎn)擊 Modify。IDE 現(xiàn)在會驗證每個選項以確保其兼容。我們支持 Docker Compose 的所有現(xiàn)有選項。代碼補(bǔ)全現(xiàn)在支持 Dockerfiles Run Options 和 Image ID or name.
BuildKit 支持
我們增加了對 BuildKit 的實驗性支持,可加快項目構(gòu)建速度。同時簡化了從整個多階段 Dockerfile 分別構(gòu)建命名階段的操作。您只需單擊階段名稱旁邊的 hammer 圖標(biāo),IDE 即可使用 BuildKit 構(gòu)建映像。
多階段 Dockerfiles 中的 UI 增強(qiáng)
如果使用多階段 Dockerfile,您現(xiàn)在可以折疊階段并在階段之間發(fā)現(xiàn)明顯的分隔線。
取消 Docker 運(yùn)行
正在運(yùn)行的 Dockerfile 可以快速停止。為此,請轉(zhuǎn)到 Services 工具窗口,選擇正在運(yùn)行的項,調(diào)用上下文菜單,然后點(diǎn)擊 Stop Deploy。
Docker 掛載的環(huán)境變量和宏
使用 Bind mount 時,現(xiàn)在可以更快地輸入主機(jī)上目錄的路徑。補(bǔ)全機(jī)制允許您在 Run/Debug Configuration 的 Bind mount 選項中選擇宏和環(huán)境變量。
Dockerfiles 中的映像補(bǔ)全
代碼補(bǔ)全現(xiàn)在可以用于映像名稱。
JavaScript ULTIMATE
改進(jìn)了對 Stylelint 的支持
使用 Stylelint,您可以更輕松地檢查 CSS 代碼?,F(xiàn)在,點(diǎn)擊幾下即可解決這個常見的 linter 的問題。將鼠標(biāo)懸停在文件中的問題上或?qū)⑽谋竟鈽?biāo)放在其上,然后按 Alt+Enter,選擇 Stylelint: Fix current file。此外,您現(xiàn)在可以在 Preferences / Settings | Languages & Frameworks | Style Sheets | Stylelint 的相應(yīng)字段下指定配置文件的路徑。
捆綁的 MDN 文檔
MDN 文檔現(xiàn)與 IntelliJ IDEA 捆綁。這將有助于防止 MDN 網(wǎng)站的連接問題,并使編輯器內(nèi)文檔在 HTML、CSS 和 JavaScript 文件中顯示得更快。編輯器內(nèi)文檔也將提供更多信息 - 例如,您將看到有關(guān) JavaScript API 受支持的瀏覽器版本的詳細(xì)信息。
Swagger UI 支持
樣式表的選擇器特異性
使用樣式表時,您現(xiàn)在可以查看選擇器的特異性 - 只需將鼠標(biāo)懸停在要查看的選擇器上即可?;蛘?,將焦點(diǎn)放在選擇器上,按 F1/Ctrl+Q 在 Documentation 彈出窗口中查看這些信息。
數(shù)據(jù)庫工具 ULTIMATE
關(guān)于數(shù)據(jù)庫工具更新的詳細(xì)描述,請閱讀最新變化。
授權(quán) UI
我們?yōu)樾薷膶ο髸r的授權(quán)編輯添加了一個 UI。您可以使用 Cmd/Ctrl+F6 在數(shù)據(jù)庫瀏覽器中的用戶上調(diào)用 Modify user 窗口,該窗口現(xiàn)在具有向?qū)ο筇砑邮跈?quán)的 UI. 這些更新適用于 PostgreSQL、Redshift、Greenplum、MySQL、MariaDB、DB2、SQL Server 和 Sybase。
上下文實時模板
我們推出了從數(shù)據(jù)庫瀏覽器直接生成簡單語句的解決方案 - 實時模板。您可以使用 SQL node 中的 Preferences/Settings | Editor | Live Templates 添加自己的模板或編輯現(xiàn)有的模板。
數(shù)據(jù)庫復(fù)制粘貼
簡單明了的操作
我們簡化了導(dǎo)航 - 在 SQL 中的對象上調(diào)用 Go to declaration (Ctrl/Cmd+B) 現(xiàn)在會將您帶到 DDL,而不是數(shù)據(jù)庫樹。我們還為 Select in database tree 操作引入了快捷鍵:Windows/Linux 為 Alt+Shift+B,macOS 為 Opt+Shift+B。
更好的數(shù)據(jù)庫排序
更好的排序
我們改進(jìn)了數(shù)據(jù)排序。新的 ORDER BY 字段的工作原理類似于 WHERE 字段(之前叫做 Filter):輸入工作子句將其應(yīng)用于網(wǎng)格查詢。如果要在客戶端使用排序(IntelliJ IDEA 不會重新運(yùn)行查詢,也不會在當(dāng)前頁面對數(shù)據(jù)進(jìn)行排序),應(yīng)取消選中 Sort via ORDER BY。另一個更新是,排序默認(rèn)不會“堆疊”;點(diǎn)擊用于排序數(shù)據(jù)的列名后,基于其他列的排序?qū)⒈磺宄?/span>
數(shù)據(jù)庫復(fù)制粘貼
輕松復(fù)制粘貼數(shù)據(jù)源
聞名世界的快捷鍵 Ctrl/Cmd+C/V/X 現(xiàn)在可以用于復(fù)制、剪切和粘貼數(shù)據(jù)源。復(fù)制數(shù)據(jù)源時,XML 會被復(fù)制到剪貼板,然后可以通過通訊工具共享。您也可以使用 Paste 操作從其他位置粘貼 XML。如果您在項目中剪切并粘貼數(shù)據(jù)源,它會被直接移動,無需密碼。但在其他情況下都需要密碼。
編輯 MongoDB 中的數(shù)據(jù)
編輯 MongoDB 中的數(shù)據(jù)
您現(xiàn)在可以編輯 MongoDB 集合中的數(shù)據(jù)。還有語句預(yù)覽可供使用。為了使編輯更加靈活,我們引入了從 UI 更改字段類型的功能。您可以從字段的上下文菜單或值編輯器中完成此操作。