IDEA開發(fā)工具(更新中)

前言:IntelliJ IDEA

如果說IntelliJ IDEA是一款現(xiàn)代化智能開發(fā)工具的話,Eclipse則稱得上是石器時代的東西了。其實筆者也是一枚從Eclipse轉(zhuǎn)IDEA的探索者,隨著近期的不斷開發(fā)實踐和調(diào)試,逐步體會到這款智能IDE帶來的巨大開發(fā)便利,在強大的插件功能支持下,諸如對Git和Maven的支持簡直讓人停不下來,各種代碼提示,包括JS更是手到擒來,最終不得不被這款神奇的IDE所折服。為了讓身邊更多的小伙伴參與進來,決定寫下這篇文章,與君共享。經(jīng)過前期的不斷練習,后端開發(fā)之前使用的是eclipse和STS,注意eclipse中使用時快捷鍵失效的(禁用搜狗輸入法的快捷鍵)。但是后期開發(fā)過程中我會選擇idea作為開發(fā)工具使用。Eclipse通常用于實際項目的開發(fā),STS用于Spring Boot和Spring Cloud的項目開發(fā)和進行框架的搭建,IDEA用于練習相應的新技術(shù)(JDK8、JDK9)。如果想獲得更多軟件工具可以查看開發(fā)工具文章。

高級傳送門:IDEA 終極版下載地址

激活方法: 安裝完成后選擇License 輸入http://intellij.mandroid.cn

更多激活方法可以參考JetBrains破解文章。

正文:IntelliJ IDEA 使用教程

1. IDEA VS Eclipse 核心術(shù)語比較

由下圖可見:兩者最大的轉(zhuǎn)變就在于工作空間概念的轉(zhuǎn)變,并且在IDEA當中,Project和 Module是作為兩個不同的概念,對項目結(jié)構(gòu)是重要意義的,這也恰恰是許多IDEA初學者覺得困擾的地方。
圖-01
1.1 為什么要取消工作空間?

答: 簡單來說,IDEA不需要設置工作空間,因為每一個Project都具備一個工作空間?。τ诿恳粋€IDEA的項目工程(Project)而言,它的每一個子模塊(Module)都可以使用獨立的JDK和MAVEN。這對于傳統(tǒng)項目邁向新項目的重構(gòu)添加了極大的便利性,這種多元化的靈活性正是Eclipse所缺失的,因為開始Eclipse在初次使用時已經(jīng)綁死了工作空間。

1.2 此外,很多新手都會問,為什么IDEA里面的子工程要稱為Module?

答:其實就是模塊化的概念,作為聚合工程亦或普通的根目錄,它稱之為Project,而下面的子工程稱為模塊,每一個子模塊之間可以相關(guān)聯(lián),也可以沒有任何關(guān)聯(lián)。

2. 當前項目配置VS默認配置

2.1 為什么有了當前項目配置,還需要默認配置呢?

答:因為IDEA沒有工作空間的概念,所以每個新項目(Project)都需要設置自己的JDK和MAVEN等相關(guān)配置,這樣雖然提高了靈活性,但是卻要為每個新項目都要重新配置,這顯然不符合我們的預期。在這個背景下,默認配置給予當前項目配置提供了Default選項,問題自然就迎刃而解了。

2.2 初始化步驟

打開默認配置:頂部導航欄 -> File -> Other Settings -> Default Settings /ProjectStructs
打開當前配置:頂部導航欄 -> File -> Settings / ProjectStructs

示例:
圖-02

3. 全局JDK和編碼(默認配置)

具體步驟:頂部工具欄 File ->Other Settins -> Default Project Structure -> SDKs -> JDK
具體步驟:頂部工具欄 File ->Other Settins -> Default Settings->editor->file encodings把transparent native-to-ascll conversion勾選上就行了。

示例: 根據(jù)下圖步驟設置JDK目錄,最后點擊OK保存。
圖-03
properties編碼

4. 全局Maven(默認配置)

下載配置maven

下載對應的版本

推薦一:阿里云的鏡像站(首推,新站,速度暴快)

<!—1.配置jar包的倉庫地址-->
<localRepository>D:/mavenrepository</localRepository>
<!—2.配置jar包的下載地址-->
<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>       
      <mirrorOf>central</mirrorOf>        
</mirror>
<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

推薦二:spring-boot和spring-cloud等版本比較新,所以目前國內(nèi)的一些倉庫還沒有新版本的jar

<mirror>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>https://repo.spring.io/libs-milestone</url>
      <mirrorOf>central</mirrorOf>
</mirror>

注意:Setting.xml文件鏡像地址:通常將其復制出來一份到mavenRepository目錄下。(方便版本更換)
Jar包的下載地址01
Jar包的下載地址02
解決不能下載到的jar包問題?

mvn install:install-file -Dfile=message-text-20160607.jar -DgroupId=com.taobao.sdk -DartifactId=message-text -Dversion=1.0 -Dpackaging=jar
<dependency>
        <groupId>com.taobao.sdk</groupId>
        <artifactId>message-text</artifactId>
        <version>20160607</version>
</dependency>

相關(guān)插件?

在pom.xml中加入插件可以跳過單元測試:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.5</version>
    <configuration>
    <skipTests>true</skipTests>
    </configuration>
 </plugin>
孫宇提供的:
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
        <!-- 跳過單元測試 -->
        <skip>true</skip>
        <forkMode>once</forkMode>
        <argLine>-Dfile.encoding=UTF-8</argLine>
        </configuration>
</plugin>
在pom.xml中加入插件可以不需要創(chuàng)建web.xml測試:
<build>
  <plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
     <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
   </plugin>
</plugins>
</build>

IDEA配置步驟:頂部工具欄 File ->Other Settings -> Default Settings -> Build & Tools -> Maven

示例: 理論上只要配置了Maven主目錄即可,實際開發(fā)推薦采用User Settins file。
圖-04

5. 版本控制Git/Svn (默認配置)

命令:svn upgrade
具體步驟:頂部工具欄 File ->Other Settings -> Default Settings -> Version Control -> Git

示例: IDEA默認集成了對Git/Svn的支持 直接設置執(zhí)行程序,右邊Test提示成功即可。
圖-05
部分小伙伴反饋說無法找到svn.exe,解決方法:重裝SVN,配置項重新選擇command line client tools 即可。
圖-05
IDEA配置
SVN

SVN提交時忽略部分文件

屏蔽文件:.iml;.idea;.gitignore;.sh;.classpath;.project;*.settings;target;logs;

SVN提交時忽略.iml文件的提交

6. 自動導包和智能移除 (默認配置)

具體步驟:頂部工具欄 File ->Other Settings -> Default Settings -> Auto Import
圖-06

說明: 在網(wǎng)上看到很多人在提問IDEA為什么不能優(yōu)化導包而Eclipse可以,所以特意抽出來跟大家分享IDEA如何優(yōu)化導包。

7. Tomcat Server(當前項目配置)

很多小伙伴剛開始都找不到Tomcat的配置,其實很簡單,Tomcat或者Jetty這些都是部署的容器,自然會聯(lián)想到Deployment ,打開部署配置,可以看到應用服務器的配置。
配置Tomcat方法: File -> Settings -> Deployment -> Application Servers -> Tomcat Server
具體配置方法,如下圖:

圖-07

IDEA 必備小技能

為了提升開發(fā)效率,擼主貼心為大家準備以下實用指數(shù)五顆星的小技巧:

8. 自動編譯

具體步驟:頂部工具欄 File ->Other Settings -> Default Settings -> Auto Import

說明:開啟自動編譯之后,結(jié)合Ctrl+Shift+F9 會有熱更新效果。
圖-08
自動編譯(Runtime)

具體步驟: 敲擊 Ctrl + Shift + Alt + / 然后進入Registry ,找到compiler.automake.allow.when.app.running ,然后勾選上。
圖-09
圖-10

9. 取消大小寫敏感

具體步驟:
File | Settings | Editor | General | Code Completion Case | Sensitive Completion = None

取消大小敏感,在編寫代碼的時候,代碼的自動提示將更加全面和豐富。
圖-11

10. 調(diào)整字體類型和字體大小和主題

默認的白色背景和細小的字體會影響大家的編碼體驗,這里特意提供了調(diào)整代碼窗的快捷配置。打開配置,搜索Font,然后再Font可以調(diào)整字體類型,Size可以調(diào)整字體大小,如圖:
圖-12

11. 將快捷鍵設置為跟Eclipse一樣

很多人可能并不習慣IDEA的快捷鍵,為了方便,這里我們將快捷鍵設置為跟 Eclipse一樣。

具體步驟: File -> Settings -> Keymap - > 選擇Eclipse
圖-13

12. 打開常用工具欄

具體步驟:頂部導航欄 - View -> 勾選 Toolbar & Tool Buttons

如下圖所示:
圖-14

13. 打開Maven神器(強烈推薦?。?/h4>

具體步驟:右側(cè)直接點擊 Maven Project 管理插件 ,記得先打開常用工具欄,詳見8.3。

如下圖所示: 還在Eclipse使用Update命令苦苦掙扎的童鞋,請火速嘗試此款插件,能給你帶來前所未有的愉快感??!
圖-15

14. 懶人必備快捷鍵

  1. 快捷鍵的配置,習慣了eclipse快捷鍵設置。(completion、close)
    File->Settings-> Keymap-> 搜索completion -> 給Basic添加快捷鍵為Alt+/。
    File->Settings-> Keymap-> 搜索close-> 添加快捷鍵為Ctrl+W。
    File->Settings-> Keymap-> 搜索Reformat Code-> 添加快捷鍵為Ctrl+Shift+F。

  2. 快捷鍵的配置,習慣了Navicat Premium數(shù)據(jù)庫管理工具的使用(open console、execute)
    File->Settings-> Keymap-> 搜索open console-> 添加快捷鍵為Ctrl+Q。
    File->Settings-> Keymap-> 搜索execute-> 添加快捷鍵為Ctrl+R。

  3. 按【鼠標中鍵】快速打開智能提示,取代alt+enter 。
    File->Settings-> Keymap-> 搜索 Show Intention Actions -> 添加快捷鍵為鼠標中鍵。

  4. 按【F2】快速修改文件名,告別雙手操作。
    File->Settings-> Keymap-> 搜索 Rename -> 將快捷鍵設置為F2 。

  5. 按【F3】直接打開文件所在目錄,瀏覽一步到位。
    File->Settings-> Keymap-> 搜索 Show In Explorer -> 將快捷鍵設置為F3 。

  6. Ctrl+ E 來找到最近訪問的文件和Ctrl+ Shift + E 來訪問最近編輯的文件

  7. Ctrl+ F 進行相應的搜索
    File->Settings-> Keymap-> 搜索 find -> 將快捷鍵設置為Ctrl+ F

  8. Ctrl+ F10快速運行程序
    File->Settings-> Keymap-> 搜索 Run context configuration-> 將快捷鍵設置為Ctrl+ F10

15. 重度強迫癥患者

1.取消大小寫敏感,讓自動完成更齊全!

File->Settings ->Editor -> General->Code Completion Case->Sensitive Completion ->None。

2.自動隱藏注釋,讓源碼閱讀更為清爽!

File -> Settings -> Editor -> General -> Code Folding -> Documentation comments 勾選。

如何想快速一鍵打開全部注釋,則單擊鼠標右鍵,選擇Folding -> Expand Doc comments 。

  1. Maven自動下載源碼包,告別反編譯,直接上源碼注釋??!

File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing

將Automatically Download 的 Source 勾上。

  1. 找回IntelliJ IDEA中 丟失的Run Dashboard 視圖

修改項目.idea文件夾下的workspace.xml文件,在接下來找到
<component name="RunDashboard">中添加下面代碼

<option name="configurationTypes">  
      <set>  
        <option value="SpringBootApplicationConfigurationType" />  
      </set>  
 </option>  

IDEA十問十答

(1)如何打開本地工程/已存在的工程?
答:點擊File -> Open 打開 工程文件夾即可,注意先配置好JDK、Maven等基礎(chǔ)配置。
(2)IDEA如何刪除項目工程?
答:問這個問題的Coder真的好可愛啊哈哈,很肯定的回答你,不需要刪,點擊File-> Close Project 即可快速關(guān)閉當前項目; 示例:

什么?你還是想要干掉整個目錄?那也闊以,右鍵Show In Explorer ,刪掉文件夾即可。不過筆者建議還是直接Close關(guān)掉就好啦,萬一以后用得上呢,你說呢?
圖-16

(3)如何在單個窗口打開多個Maven工程?。?br> 答:隨便新建一個文件夾,然后將工程都扔進去,使用IDEA打開這個文件夾。
(4)如何為當前項目工程添加多個模塊???
答: 對著工程右鍵 -> 選擇New -> Module -> 通常選擇Spring Initializr ,如圖:
圖-17
圖-18

Intellij IDEA 一些不為人知的技巧

無處不在的跳轉(zhuǎn)

  1. 項目直接的跳轉(zhuǎn)(next project window、previous project window)
  2. 文件直接的跳轉(zhuǎn)(Ctrl+E)
  3. 瀏覽修改位置的跳轉(zhuǎn)
  4. 書簽標記的跳轉(zhuǎn)(bookmarks)
  5. 收藏位置和文件(add to favorites)

精準搜索

  1. 精準搜索類()
  2. 精準搜索文件()
  3. 精準搜索符號,即搜索屬性、函數(shù)()
  4. 精準搜索全局字符串()

代碼小助手

  1. 列操作()
  2. live template(常用設置:main、psfi、psfs、pi、ps)
  3. postfix(for、sout、field、return、nn)
  4. alter+enter(自動創(chuàng)建函數(shù)、list replace、字符串format或build、實現(xiàn)接口、單詞拼寫、導包)

編寫高質(zhì)量代碼

  1. 重構(gòu)(變量重構(gòu)、方法重構(gòu))
  2. 抽?。ǔ槿∽兞?、抽取靜態(tài)變量、抽取成員方法,抽取方法參數(shù)、抽取函數(shù))

尋找修改軌跡

  1. git的集成(annotate、移動所以改動之處previous change)
  2. local history

關(guān)聯(lián)一切

  1. spring的關(guān)聯(lián)
  2. 關(guān)聯(lián)數(shù)據(jù)庫

調(diào)試程序

  1. 斷點調(diào)試(添加斷點、單步運行F8、F9、查看所以斷點、禁止所以斷點、條件斷點、表達式求值)

run anywhere if you can

文件操作

  1. 在當前文件夾同一級目錄下面新建一個文件(Ctrl+Alt+Ins)
  2. 復制當前文件(Ctrl+Shift+Alt+t)
  3. 復制當前文件(Shift+Alt+v)

文本操作

  1. 復制簡單文件名
  2. 復制完整路徑文件名
  3. 多文本復制(Shift+Ctrl+v),訪問歷史粘貼板。

結(jié)構(gòu)圖

  1. 查看當前field、method大綱。(Ctrl+o)
  2. 查看maven依賴圖和類圖。(Ctrl+Alt+Shift+u)
  3. 查看類繼承結(jié)構(gòu),方法調(diào)用層次。

Language Injection

大家都知道在 Java 的 String 中編輯有 JSON 的話有多麻煩,各種轉(zhuǎn)義真是讓人瘋狂,在 Intellij IDEA 中,我們可以直接使用 Intellij IDEA 的 Language Injection 的功能(Alt + Enter)將一個字符串標記為 JSON,就可以非常方便地編寫 JSON 了,再也不用擔心轉(zhuǎn)義的問題了。tongs

Rest Client

Intellij IDEA 里面內(nèi)置了一個 Rest Client,大家可以通過 Ctrl+ Shift + A,然后搜索 Rest Client 來找到或者在菜單欄中打開。等價于我們通常使用的postman接口調(diào)試工具。

粘貼版歷史

如果使用過 Mac 里面的 Alfred 的話,可能大家早就習慣了 Alfred 的粘貼板歷史的能力,真是復制粘貼的神器啊。其實 Intellij IDEA 里面也提供了這樣的能力,我們可以直接通過 Ctrl+ Shift + V 來進行訪問歷史粘貼板。

類結(jié)構(gòu)圖

可以查看類圖結(jié)構(gòu)


圖-19

總結(jié)

插件配置

Translation

是一個翻譯插件,支持中英互譯、單詞朗讀。需要有有道的賬號

Alibaba Java Coding Guidelines plugin support

代碼規(guī)范檢查插件

Lombok plugin

代碼簡潔之道中提到的插件,可以簡寫代碼。

Background Image Plus

設置自己IDE的背景圖片。

emacsIdea

字符跳轉(zhuǎn)插件(Atrl+J)

vim

多窗口編輯

stackoverflow

stackoverflow,不需要去瀏覽器中查找,只要右鍵就可以!

Gsonformat

可根據(jù)json數(shù)據(jù)快速生成java實體類(alt+s)。

Gitee

提交開源代碼到碼云上。

mybatisx

MybatisX 輔助 idea 快速開發(fā)插件,為效率而生。

MyBatisCodeHelperPro

MyBatisCodeHelperPro需要破解,可以使用MyBatisCodeHelper綠色版

RestfulToolkit

Java WEB開發(fā)必備,再也不用全局搜索RequestMapping,快速查找對應的Controller映射方法,同時可以進行接口的調(diào)用。

Custom Postfix Templates

可以自定義Postfix模板

Jrebel

熱部署插件JRebel

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容