IntelliJ IDEA概述
IntelliJ IDEA是一個(gè)用于JVM語言的集成開發(fā)環(huán)境(IDE),旨在最大限度地提高開發(fā)人員的生產(chǎn)力。它通過提供巧妙的代碼完成、靜態(tài)代碼分析和重構(gòu),為您完成常規(guī)和重復(fù)的任務(wù),并讓您專注于軟件開發(fā)的光明面,使它其僅具有生產(chǎn)力,而且具有愉快的體驗(yàn)。
多平臺(tái)
IntelliJ IDEA是一個(gè)跨平臺(tái)的IDE,在Windows, macOS和Linux上提供一致的體驗(yàn)。
- 有關(guān)特定于操作系統(tǒng)的說明,請(qǐng)參閱Install IntelliJ IDEA。
- 請(qǐng)參閱IntelliJ IDEA鍵盤快捷鍵,了解如何為您的操作系統(tǒng)選擇正確的鍵圖,并了解最有用的快捷鍵。
支持的語言
現(xiàn)代應(yīng)用程序的開發(fā)涉及到使用多種語言、工具、框架和技術(shù)。IntelliJ IDEA被設(shè)計(jì)為JVM語言的IDE,但許多插件可以擴(kuò)展它以提供多語言體驗(yàn)。
JVM語言
使用IntelliJ IDEA開發(fā)下列語言的應(yīng)用程序,這些語言可以編譯到JVM字節(jié)碼中,即:
其他語言
與IntelliJ IDEA捆綁在一起并可開箱即用的插件添加了對(duì)一些最流行的語言的支持,即:
- Python(完整的PyCharm功能)
- Ruby(完整的RubyMine功能)
- PHP(完整的PhpStorm功能)
- SQL(完整的DataGrip功能)
- Go(完整的GoLand功能)
- JavaScript(完整的WebStorm功能)
- TypeScript(完整的WebStorm功能)
- Thymeleaf
- JSON
- Markdown
- 超文本標(biāo)記語言
- XML and XSL
- XPath and XSLT
- Velocity和FreeMarker
- 樣式表(CSS, Less, Sass)
- Dart
- Erlang
提示:IntelliJ IDEA不支持C/ c++,但您可以使用CLion。
你可以瀏覽JetBrains Marketplace找到一個(gè)官方插件,它支持幾乎任何語言、框架或技術(shù),也可以支持第三方插件。
我是否需要一個(gè)語言插件IntelliJ IDEA或一個(gè)單獨(dú)的IDE
IntelliJ IDEA Ultimate是大多數(shù)基于IntelliJ平臺(tái)的ide的超集。如果啟用了捆綁的語音插件,它就包括對(duì)我們更具體的ide中可用的所有技術(shù)的支持,如PyCharm, WebStorm, PHPStorm等。
因此,如果應(yīng)用程序的代碼庫主要是Java,但它也使用Python腳本,我們建議將IntelliJ IDEA與捆綁的Python插件結(jié)合使用。如果你的代碼庫主要是Python, PyCharm是適合你的IDE。
IntelliJ IDEA版本
IntelliJ IDEA有兩個(gè)版本:
- IntelliJ IDEA Ultimate:用于JVM、web和企業(yè)開發(fā)的商業(yè)版。它包含了社區(qū)版的所有特性,還增加了對(duì)其他基于IntelliJ平臺(tái)的ide所關(guān)注的語言的支持,以及對(duì)各種服務(wù)器端和前端框架、應(yīng)用服務(wù)器、與數(shù)據(jù)庫和分析工具的集成等的支持。
- IntelliJ IDEA社區(qū)版:基于開源的免費(fèi)版本,用于JVM和Android開發(fā)。
早期訪問計(jì)劃
IntelliJ IDEA Ultimate在早期訪問計(jì)劃(EAP)中是免費(fèi)提供的。EAP構(gòu)建在穩(wěn)定的產(chǎn)品版本發(fā)布之前發(fā)布,您可以下載它們,在新特性公開之前試用它們并換取您的反饋。EAP構(gòu)建被配置為收集特性使用統(tǒng)計(jì)信息,對(duì)于我們的開發(fā)人員來說,這是一個(gè)有價(jià)值的信息來源。如果遇到任何問題,也可以報(bào)告問題。
提示:
- 在發(fā)布版本之前發(fā)布的候選版本(RC)也可以下載,但需要付費(fèi)許可。
- 在穩(wěn)定版本發(fā)布后發(fā)布的預(yù)覽版本,隨后是正式更新,也需要付費(fèi)許可,不能免費(fèi)評(píng)估。
用戶界面
IntelliJ IDEA提供了一個(gè)以編輯器為中心的環(huán)境。它遵循您的上下文并自動(dòng)提供必要的工具來幫助您最大限度地減少中斷開發(fā)人員流程的風(fēng)險(xiǎn)。
符合人體工程學(xué)設(shè)計(jì)和可定制的外觀
IntelliJ IDEA最棒的一點(diǎn)是它的可調(diào)性。您可以配置幾乎任何東西:IDE外觀、工具窗口和工具欄的布局、代碼高亮等。還有許多方法可以對(duì)編輯器進(jìn)行微調(diào)并自定義其行為,以加快導(dǎo)航速度,并消除任何分散您對(duì)代碼的注意力的額外內(nèi)容。
- 為源代碼、控制臺(tái)輸出、調(diào)試器信息、搜索結(jié)果等配置顏色和字體,可以從許多預(yù)定義的配色方案中進(jìn)行選擇,也可以自定義方案來創(chuàng)建獨(dú)特的工作環(huán)境。
- 學(xué)習(xí)如何配置編輯器設(shè)置,包括外觀、字體、代碼格式化等等。
- 自定義菜單和工具欄,是為了避免在一堆從未使用過的按鈕中尋找操作的煩惱。
各種快捷方式
在IntelliJ IDEA中,幾乎每個(gè)操作都有快捷方式,包括在編輯器和各種工具窗口之間進(jìn)行選擇和切換。
使用最有用的快捷方式來調(diào)用頻繁的操作,而不需要從編輯器切換焦點(diǎn),并調(diào)整您的鍵圖,為你最喜歡的命令分配自定義快捷方式。
導(dǎo)航和搜索
IntelliJ IDEA不僅在源代碼文件中提供快速導(dǎo)航,而是在整個(gè)項(xiàng)目中都提供快速導(dǎo)航。
值得記住的最有用的快捷方式之一是double Shift,它會(huì)彈出“到處搜索”對(duì)話框:開始輸入,IntelliJ IDEA將在屬于項(xiàng)目的有文件、類和符號(hào)中查找搜索字符串,甚至在IDE操作中。
下面是一些最有用的導(dǎo)航快捷鍵:
到處搜索——Double Shift
點(diǎn)擊文件——Ctrl+Shift+N
Go to class——Ctrl+N
選擇符號(hào)——Ctrl+Alt+Shift+N
進(jìn)行申報(bào)——Ctrl+B
有關(guān)如何在源代碼的導(dǎo)航當(dāng)中得到更多提示請(qǐng)參閱源代碼導(dǎo)航,并了解最有用的快捷方式,這些快捷方式可以幫助您在編輯器和各種工具窗口之間快速切換、切換焦點(diǎn)、跳轉(zhuǎn)到導(dǎo)航欄等等。
最近的文件和位置
通常,您一次只處理一小部分文件,并且需要在它們之間快速切換,“最近的文件”操作在這里確實(shí)節(jié)省了時(shí)間,按Ctrl+E查看最后訪問的文件列表,注意您可以使用這個(gè)操作來打開任何工具窗口:
除了跳轉(zhuǎn)到最近的文件之外,還可以快速訪問最近的位置——這是您上次查看或編輯的代碼片段,按Ctrl+Shift+E也可以跳轉(zhuǎn)最近您修改過的某一行:
文件結(jié)構(gòu)
按下Ctrl+F12打開彈出的文件結(jié)構(gòu),您可以查看當(dāng)前文件中使用的所有元素,并跳轉(zhuǎn)到其中任何一個(gè):
或者,使用結(jié)構(gòu)工具窗口Alt+7。
尋找行動(dòng)
如果您不記得要使用的操作的快捷方式或菜單路徑,請(qǐng)按Ctrl+Shift+A并開始鍵入操作名稱:
編碼輔助
代碼自動(dòng)完成
IntelliJ IDEA通過提供上下文感知的代碼補(bǔ)全來幫助你加速編碼過程。
基本補(bǔ)全功能幫助您補(bǔ)全可見范圍內(nèi)的類名、方法名、字段名和關(guān)鍵字名:
當(dāng)IntelliJ IDEA可以確定合適的類型時(shí),智能補(bǔ)全會(huì)提示當(dāng)前上下文中適用的最相關(guān)的符號(hào):
有關(guān)IntelliJ IDEA中不同類型的代碼補(bǔ)全示例和生產(chǎn)力技巧的更多信息,請(qǐng)參閱代碼補(bǔ)全。
Refactorings
IntelliJ IDEA提供了一套全面的自動(dòng)化代碼重構(gòu),可以顯著提高生產(chǎn)力,例如當(dāng)您重命名一個(gè)類時(shí),IDE將在整個(gè)項(xiàng)目中更新對(duì)該類的所有引用。
在應(yīng)用重構(gòu)之前您甚至不需要選擇任何東西,IntelliJ IDEA足夠聰明,可以找出要重構(gòu)的語句,并且只在可能存在多個(gè)選擇時(shí)才要求確認(rèn),只需按Ctrl+Alt+Shift+T打開當(dāng)前上下文中可用的重構(gòu)列表:
學(xué)習(xí)一些最有用的重構(gòu)快捷方式:
重構(gòu)它——Ctrl+Alt+Shift+T
重命名——Shift+F6
提取變量——Ctrl+Alt+V
提取字段——Ctrl+Alt+F
提取常數(shù)——Ctrl+Alt+C
提取方法——Ctrl+Alt+M
提取參數(shù)——Ctrl+Alt+P
內(nèi)聯(lián)——Ctrl+Alt+N
復(fù)制——F5
移動(dòng)——F6
靜態(tài)代碼分析
IntelliJ IDEA提供了一組內(nèi)置靜態(tài)代碼分析工具的檢查,它們可以幫助您發(fā)現(xiàn)潛在的錯(cuò)誤,定位死代碼,檢測性能問題,并改進(jìn)整體代碼結(jié)構(gòu)。
檢查不僅可以告訴您問題在哪里,還可以提供快速修復(fù)方法,幫助您立即處理問題,點(diǎn)擊突出顯示的代碼旁邊的紅色燈泡,或按Alt+Enter選擇修復(fù):
除了快速修復(fù)之外,IntelliJ IDEA還提供了意圖操作,幫助您對(duì)正確的代碼應(yīng)用自動(dòng)更改。例如您可以注入一種語言、添加Java注釋、添加JavaDoc、轉(zhuǎn)換HTML或XML標(biāo)記等,要查看意圖動(dòng)作的完整列表,在設(shè)置對(duì)話框(Ctrl+Alt+S)中,轉(zhuǎn)到編輯器|意圖。
代碼生成
IntelliJ IDEA提供了多種方法來生成通用代碼結(jié)構(gòu)和循環(huán)元素,通過將日常任務(wù)委托給IDE來幫助您提高生產(chǎn)力。這包括從預(yù)定義或自定義代碼模板生成代碼,生成包裝器、getter和setter,字符的自動(dòng)配對(duì)等等。按Alt+Insert打開一個(gè)彈出窗口,其中包含可以從插入符號(hào)位置生成的可用結(jié)構(gòu)。
集成開發(fā)工具
除了提供智能導(dǎo)航和編碼輔助之外,IntelliJ IDEA集成了必要的開發(fā)人員工具,并允許您在IDE中調(diào)試,分析和版本應(yīng)用程序的代碼庫。
調(diào)試器
IntelliJ IDEA提供了一個(gè)內(nèi)置的JVM調(diào)試器。它允許您獲取和分析運(yùn)行時(shí)的信息,這對(duì)于診斷問題和更深入地了解程序的運(yùn)行方式非常有用。它使您能夠:
- 掛起程序執(zhí)行通過使用斷點(diǎn)檢查其行為,多種類型的斷點(diǎn)以及條件和篩選器允許您指定應(yīng)用程序需要暫停的確切時(shí)刻。
- 通過修改變量值、求值表達(dá)式等操作程序狀態(tài)。
- 檢查變量值、調(diào)用堆棧、線程狀態(tài)等等。
- 控制程序的逐步執(zhí)行。
請(qǐng)參閱教程:調(diào)試您的第一個(gè)Java應(yīng)用程序,了解調(diào)試的基礎(chǔ)知識(shí),并使用IDE中的調(diào)試器特性。
分析器
對(duì)于CPU和分配分析,IntelliJ IDEA提供了與以下分析器的集成:
- Java Flight Recorder——作為JDK的一部分發(fā)布的標(biāo)準(zhǔn)分析工具。
- Async Profiler——一個(gè)非常精確的分析器,也可以收集本機(jī)調(diào)用和內(nèi)存分配數(shù)據(jù)。
默認(rèn)情況下,IntelliJ IDEA并行運(yùn)行兩個(gè)分析器以提供最準(zhǔn)確的結(jié)果,雖然可以單獨(dú)使用支持的分析器,但在大多數(shù)情況下,組合使用現(xiàn)成的配置是更好的選擇,這種方法利用了分析器的優(yōu)點(diǎn),并將您從任何設(shè)置中抽象出來,除非您有非常具體的需求。
終端
IntelliJ IDEA包括一個(gè)內(nèi)置終端,用于在IDE內(nèi)部使用命令行shell,如果您習(xí)慣于從命令行執(zhí)行Git命令,那么您可以從終端運(yùn)行它們而不是從菜單調(diào)用這些操作。
Terminal使用默認(rèn)的系統(tǒng)shell運(yùn)行,但它也支持許多其他shell,如cmd.exe、bash、sh等。
構(gòu)建工具
IntelliJ IDEA具有全功能的Gradle和Maven集成,允許您自動(dòng)化構(gòu)建過程、打包、運(yùn)行測試、部署和其他活動(dòng)。
當(dāng)您打開一個(gè)現(xiàn)有的Gradle或Maven項(xiàng)目或創(chuàng)建一個(gè)新的項(xiàng)目時(shí),IntelliJ IDEA會(huì)檢測并自動(dòng)下載所有必需的存儲(chǔ)庫和插件,所以您幾乎不需要配置任何東西,可以專注于開發(fā)過程,您可以直接從編輯器編輯build.gradle和pom.xml文件,并配置IDE以自動(dòng)同步對(duì)構(gòu)建配置的所有更改。
版本控制
IntelliJ IDEA為集成提供了最流行的版本控制工具: Git,Mercurial, Perforce,and Subversion。
您可以查看整個(gè)項(xiàng)目或單獨(dú)文件的歷史記錄,比較文件版本,管理分支,甚至在不離開IDE的情況下處理GitHub拉取請(qǐng)求。
您可以通過VCS操作彈出Alt+ '快速訪問所有VCS操作:
歷史記錄
即使您的項(xiàng)目尚未啟用版本控制,仍然可以跟蹤對(duì)項(xiàng)目的修改,并使用本地歷史記錄恢復(fù)已刪除的文件或單獨(dú)的更改,它充當(dāng)您的個(gè)人版本控制系統(tǒng),在編輯代碼、運(yùn)行測試、部署應(yīng)用程序等過程中自動(dòng)記錄由各種事件觸發(fā)的項(xiàng)目修訂。