IDEA使用教程(上)
一、介紹
IDEA全稱IntelliJ IDEA,是java語言開發的集成環境。idea提倡的是智能編碼,目的是減少程序員的工作,其特色功能有智能的選取、豐富的導航模式、歷史記錄功能等,最突出的功能是調試(Debug),可以對Java代碼、javascript、JQuery等技術進行調試。首先,如果你做開發的話,肯定少不了開發工具,不過現在主流的java開發工具有傳統的eclipse變成了IDEA,因為它開發更方便,更快捷。
二、IDEA的優點
1.智能的選取。在很多時候我們要選取某個方法,或某個循環或想一步一步從一個變量到整個類慢慢擴充着選取IDEA就提供這種基於語法的選擇,在默認設置中Ctrl+w,可以實現選取範圍的不斷擴充,這種方式在重構的時候尤其顯得方便。
2.豐富的導航模式。IDEA提供了豐富的導航查看模式,例如ctrl+e顯示最近打開過的文件,ctrl+n顯示你希望顯示的類名查找框(該框同樣有智能補充功能,當你輸入字母后IDEA將顯示所有候選類名)。在最基本的project試圖中,你還可以選擇多種的試圖方式。
3.歷史記錄功能。不用通過版本管理服務器,單純的IDEA就可以查看任何工程中文件的歷史記錄,但版本恢復時你可以很容易的將其恢復。
4.JUnit的完美支持。
5.對重構的優越支持。IDEA是所有IDE中最早支持重構的,其優秀的重構能力一直是其主要賣點之一。
6.編碼輔助。java規範中提倡的tostring()hashcode()equals()以及所有的get/set方法,你可以不用進行任何 的輸入就可以實現代碼的自動生成,從而把你從無聊的基本方法編碼中解放出來。
7.靈活的排版功能。基本所有的IDE都有重排版功能,但僅有IDEA的是人性的,因為她支持排版模式的定製,你可以根據不同的項目要求採用不同的排版方式。
8.xmxxxxl的完美支持。
9.簡潔易用的GUI界面。
10.與文件系統自動同步。當你最小化IDEA,直接對文件進行編輯之後,重新打開IDEA後IDEA將自動的完成文件的更新,而不用重新導入工程或刷新工程。
11.自定義的快捷鍵。強大的快捷鍵設置,基本可以讓程序員離開鼠標工作
12.動態語法檢測。任何不符合java規範,自己預定義的規範,累贅都將在頁面中加亮顯示。
13.代碼檢查。對代碼進行自動分析,檢測不符合規範的,存在風險的代碼,並加亮顯示。
14.對SP的完全支持。不需要任何的插件,完全支持SP。
15.智能編輯。代碼輸入過程中,自動補充方法或類。
16.EB支持。不需要任何插件完全支持EB(6.0支持ejb3.0)
17.列編輯模式。用過utralEdit的肯定對其的列編輯模式讚賞不已,因為她減少了很多很多的無聊重複工作,而IDEA完全支持該模式,從而更加提高了編碼效率。
18.智能模板。預置模板可以讓你把經常用到的方法編輯進模板,使用時你只用輸入簡單的幾個字母就可以完成全部代碼的編寫。例如使用比較高的public static void main(String[] args)你可以在模板中預設pm為該方法,輸入時你只要輸入pm再按代碼輔助鍵,IDEA將完成代碼的自動輸入。
19.完美的自動代碼完成。智能檢查類中方法,當發現方法名只有一個時自動完成代碼輸入,從而減少剩下代碼的編寫工作。
20.Ant支持。不需要任何的第三方插件。
21.不使用代碼檢查。自動檢查代碼中不使用的代碼,並給出提示,從而使代碼更高效。
22.智能代碼。自動檢查代碼,發現與預置規範有出入的代碼給出提示,若程序員同意修改自動完成修改。例如代碼:String str = “Hello Intellij “+ “IDEA”;IDEA將給出優化提示,若程序員同意修改IDEA將自動將代碼修改為:String str = “Hello Intellij IDEA”;
23.正則表達的查找和替換功能。查找替代支持正則表達,從而提高效率。
24.JavaDoc預覽支持。支持JavaDoc的預覽功能,在JavaDoc代碼中ctrl+q顯示lavaDoc的結果,從而提高文檔的質量。
25.程序員意圖支持。當程序員編碼時IDEA時時檢測你的意圖,或提供建議,或直接幫你完成代碼。
三、IDEA的詳細使用
整理的文 檔如下:
1.背景介紹
- IDEA VS Eclipse
Eclipse;IBM公司,它與IDEA是競爭對手的關係,現在很多的一線互聯網公司開始逐步的使用IDEAIDEA是JetBrains公司產品,是捷克的一家公司。
WebStorm:用於開發 jaxxxxvascxxxxript、HTML5、CSS3 等前端技術;
PyCharm:用於開發 python
PhpStorm:用於開發 PHP
RubyMine:用於開發 Ruby/Rails
AppCode:用於開發 obxxxxjective – C/Swift
CLion:用於開發 C/C++
DataGrip:用於開發數據庫和 SQL
Rider:用於開發.NET
GoLand:用於開發 Go
- IDEA介紹
IDEA,全稱 IntelliJ IDEA,是 Java 語言的集成開發環境,IDEA 在業界被公認為是最好的 java 開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS 整合、代碼審查、創新的 GUI 設計等方面的功能可以說是超常的。IntelliJ IDEA 主要用於支持 Java、Scala、Groovy 等語言的開發工具,同時具備支持目前主流的技術和框架,擅長於企業應用、移動應用和 Web 應用的開發在做java或者大數據開發的時候都是可以使用這些,新用戶可能會覺得博而不精,但是老用戶是沒有類似的感覺的
- IDEA可以支持的
- 相比較eclipse的優勢在於
1).強大的整合能力。比如:Git、Maven、Spring 等
2).提示功能的快速、便捷
3).提示功能的範圍廣
4).好用的快捷鍵和代碼模板 private static final psf
5).精準搜索
2.windows下idea
- 硬件要求(Hardware requirements)
內存:2 GB RAM minimum 4 GB RAM recommended
硬盤:1.5 GB hard disk space + at least 1 GB for caches
屏幕:1024×768 minimum screen resolution
個人建議配置:內存 8G 或以上,CPU 最好 i5 以上 ,最好安裝 塊固態硬盤(SSD) ,將 IDEA安裝在固態硬盤上,這樣流暢度會 加快很多。
- 軟件要來
操作系統: Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)
軟件環境:
Ø JRE 1.8 is bundled with the IntelliJ IDEA distribution. You do not need to install Java on your computer to run IntelliJ IDEA
Ø A standalone JDK is required for Java development.
- 安裝步驟以及目錄介紹
Ø 確認 32 位版還是 64 位版
Ø 確認是否與.java、.groovy、.kt 格式文件進行關聯,這裡也可以選擇不關聯
4.
安裝總結:從安裝上來看,IntelliJ IDEA 對硬件的要求似乎不是很高。可是實際在開發中其實並不是這樣的,因為 IntelliJ IDEA 執行時會有大量的緩存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通過 IntelliJ IDEA 來解決計算機的卡、慢等問題,這基本上是不可能的,本質上你應該對自己的硬件設備進行升級 。
目錄介紹:
bin:容器,執行文件和啟動參數等
help:快捷鍵文檔和其他幫助文檔
jre64:64 位java 運行環境
lib:idea 依賴的類庫
license:各個插件許可
plugin:插件
配置目錄:
這是 IDEA 的各種配置的保存目錄。這個設置目錄有一個特性,就是你刪除掉整個目錄之後,重新啟動 IntelliJ IDEA 會再自動幫你生成一個全新的默認配置,所以很多時候如果你把 IntelliJ IDEA 配置改壞了,沒關係,刪掉該目錄,一切都會還原到默認。
config目錄是IntelliJ IDEA 個性化化配置目錄,或者說是整個 IDE 設置目錄。此目錄可看成是最重要的目錄,沒有之一,如果你還記得安裝篇的介紹的時候,安裝新版本的 IntelliJ IDEA 會自動掃描硬盤上的舊配置目錄,指的就是該目錄。這個目錄主要記錄了:IDE 主要配置功能、自定義的代碼模板、自定義的文件模板、自定義的快捷鍵、Project 的 tasks 記錄等等個性化的設置
system目錄是 IntelliJ IDEA 系統文件目錄,是 IntelliJ IDEA 與開發項目一個橋樑目錄,裏面主要有:緩存、索引、容器文件輸出等等,雖然不是最重要目錄,但也是最不可或缺的目錄之一
- 啟動應用後簡單配置
1. 是否導入已有設置
首次啟動,會彈出如下的對話框。選擇不導入已有的設置。
2.激活
根據提供的激活碼 或者百度:idea 破解碼,填
入:lisence server 的具體值即可。(需要聯網)或者 選擇 Activation code,根據
文檔提供的激活碼,同樣可以激活。(不需要聯網)
補充:對於 IDEA 2017.3 月版本,需要按照如下的方式激活:
方式一:啟動:idea_active_proxy 激活代理.exe ;接着啟動 IDEA:輸入server: //localhost:8888 然後可以關閉idea_active_proxy 工具
方式二:淘寶,你懂的
3.簡單設置以及HelloWorld
- 主題設置
這裡根據個人喜好,進行選擇,也可以選擇跳過(skip all and set defaults)。後面在settings 里也可以再設置主題等。這裡選擇:Next:Default plugins
- 插件設置
設置 IDEA 中的各種插件,可以選擇自定義設置、刪除,或者安裝本身不存在的插件(比如:支持 Scala 的插件)。這裡不設置,後面也可以通過界面菜單欄的settings 進行設置。IDEA 插件官方://plugins.jetbrains.com/idea
- 簡單的HelloWorld創建
1.創建java工程
Ø Create New Project:創建一個新的工程
Ø Import Project:導入一個現有的工程
Ø Open:打開一個已有工程。比如:可以打開 Eclipse 項目。
Ø Check out from Version Control:可以通過服務器上的項目地址 check out Github
上面項目或其他 Git 託管服務器上的項目這裡選擇 Create New Project,需要明確一下概念:IntelliJ IDEA 沒有類似 Eclipse 的工作空間的概念(Workspaces),最大單元就是Project。這裡可以把 Project 理解為 Eclipse 中的 Workspace。
選擇指定目錄下的 JDK 作為 Project SDK。
如果要創建 Web 工程,則需要勾選上面的 Web Application。如果不需要創建 Web工程的話,則不需要勾選。這裡先不勾選,只是創建簡單的 Java 工程。其中,選擇 New:選擇 jdk 的安裝路徑所在位置:
給創建的工程起一個名字,點擊 finish
- 常見視圖設置
調出工具條和按鈕組 工程界面展示
工程下的 src 類似於 Eclipse 下的 src 目錄,用於存放代碼。
Ø 工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。類似於 Eclipse 工程下的.settings、.classpath、.project 等。
接着創建 package 和 和 class
不管是創建 class,還是 interface,還是 annotation,都是選擇 new – java class
然後在下拉框中選擇創建的結構的類型。
接着在類 HelloWorld 里聲明主方法,輸出 helloworld,完成測試。
說明:在 IDEA 里要說的是,寫完代碼,不用點擊保存。IDEA
創建模塊
1.在 Eclipse 中我們有 Workspace(工作空間)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模塊)的概念。這裡的對應關係為:IDEA 官網說明:An Eclipse workspace is similar to a project in IntelliJ IDEA 。An Eclipse project maps to a module in IntelliJ IDEA
翻譯 :Eclipse 中 workspace 相當於 IDEA 中的 的 Project。Eclipse 中 Project 相當於 IDEA 中的 Module
2.從 Eclipse 轉過來的人總是下意識地要在同一個窗口管理 n 個項目,這在IntelliJ IDEA 是無法做到的。IntelliJ IDEA 提供的解決方案是打開多個項目實例,即打開多個項目窗口。即:一個 Project 打開一個 Window 窗口
3.在 IntelliJ IDEA 中 Project 是最頂級的級別,次級別是 Module。一個 Project可以有多個 Module。目前主流的大型項目都是分佈式部署的,結構都是類似這種多 Module 結構。
六、如何刪除模塊
此時的刪除,會從硬盤上將此 module 刪除掉
七:查看項目配置
進入項目結構
4.常用配置
IntelliJ IDEA 有很多人性化的設置我們必須單獨拿出來講解,也因為這些人性化的設置讓那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。
- 設置界面
目錄結構
- 設置主題
這裡默認提供了三套主題:IntelliJ,Darcula,Windows。這裡可以根據自己的喜好進行選擇
- 設置窗體及菜單的字體及字體大小
- 設置編輯區主題
如果想要更多的主題效果的話,可以到如下的網站下載://www.riaway.com/
Ø 下載以後,導入主題:(方式一)file –> import setttings –> 選中下載的主題 jar 文件 –> 一路確認 –> 重啟。重啟以後,新主題會自動啟用。如果沒有啟用,可以如下方式選擇
下載以後,導入主題:(方式二)
- 通過插件(plugins)
喜歡黑色主題的話,還可以下載插件:Material Theme UI
點擊按鈕以後,在聯網環境下搜索如下的插件-安裝-重啟 IDEA 即可:
如果對安裝的主題插件不滿意,還可以找到此插件,進行卸載 – 重啟 IDEA 即可
- 設置鼠標滾輪修改字體大小
我們可以勾選此設置後,增加 Ctrl + 鼠標滾輪 快捷鍵來控制代碼字體大小顯示。
- 設置自動導包功能
Add unambiguous imports on the fly:自動導入不明確的結構
Ø Optimize imports on the fly:自動幫我們優化導入的包
- 設置顯示行號和方法間的分隔符
如上圖紅圈所示,可以勾選 Show line numbers:顯示行數。我建議一般這個要勾選上。
Ø 如上圖紅圈所示,可以勾選 Show method separators: 顯示方法分隔線。這種線有助於我們區分開方法,所以建議勾選上
- 忽略大小寫提示
IntelliJ IDEA 的代碼提示和補充功能有一個特性:區分大小寫。如上圖標註所示,默認就是 First letter 區分大小寫的。
Ø 區分大小寫的情況是這樣的:比如我們在 Java 代碼文件中輸入 stringBuffer,IntelliJ IDEA 默認是不會幫我們提示或是代碼補充的,但是如果我們輸入StringBuffer 就可以進行代碼提示和補充。
Ø 如果想不區分大小寫的話,改為 None 選項即可
- 設置取消單行顯示 tabs 的操作
如上圖標註所示,在打開很多文件的時候,IntelliJ IDEA 默認是把所有打開的文件名 Tab 單行顯示的。但是我個人現在的習慣是使用多行,多行效率比單行高,因為單行會隱藏超過界面部分 Tab,這樣找文件不方便
- 設置默認 的 字體、字體大小、字體行間距
- 修改當前 主題的字體、字體大小、字體行間距
如果當前主題不希望使用默認字體、字體大小、字體行間距,還可以單獨設置
- 修改當前 主題的 控制台輸出的字體及字體大小
- 修改代碼 中 注釋的字體顏色
Doc Comment – Text:修改文檔注釋的字體顏色
Ø Block comment:修改多行注釋的字體顏色
Ø Line comment:修改當行注釋的字體顏色
- 設置超過指定 import 個數,改為*
- 修改類頭的文檔注釋信息
/**@author sunstart
@create ${YEAR}-${MONTH}-${DAY} ${TIME}*/
常用的預設的變量,這裡直接貼出官網給的:
${PACKAGE_NAME} – the name of the target package where the new class or interface will be created.
${PROJECT_NAME} – the name of the current project.
${FILE_NAME} – the name of the PHP file that will be created.
${NAME} – the name of the new file which you specify in the New File dialog box during the file creation.
${USER} – the login name of the current user.
${DATE} – the current system date.
${TIME} – the current system time.
${YEAR} – the current year.
${MONTH} – the current month.
${DAY} – the current day of the month.
${HOUR} – the current hour.
${MINUTE} – the current minute.
${PRODUCT_NAME} – the name of the IDE in which the file will be created.
${MONTH_NAME_SHORT} – the first 3 letters of the month name. Example: Jan Feb etc.
${MONTH_NAME_FULL} – full name of a month. Example: January February etc.
- 設置項目文件編碼
說明:Transparent native-to-ascii conversion 主要用於轉換 ascii,一般都要勾選,不然 Properties 文件中的注釋顯示的都不會是中文。
- 設置當前源文件的編碼
對單獨文件的編碼修改還可以點擊右下角的編碼設置區。如果代碼內容中包含中文,則會彈出如上的操作選擇。其中:
①Reload 表示使用新編碼重新加載,新編碼不會保存到文件中,重新打開此文件,舊編碼是什麼依舊還是什麼。
②Convert 表示使用新編碼進行轉換,新編碼會保存到文件中,重新打開此文件,新編碼是什麼則是什麼。
③含有中文的代碼文件,Convert 之後可能會使中文變成亂碼,所以在轉換成請做好備份,不然可能出現轉換過程變成亂碼,無法還原
- 設置自動編譯
構建就是以我們編寫的 java 代碼、框架配置文件、國際化等其他資源文件、JSP 頁面和圖片等資源作為「原材料」,去「生產」出一個可以運行的項目的過程
Intellij Idea 默認狀態為不自動編譯狀態,Eclipse 默認為自動編譯:很多朋友都是從 Eclipse 轉到 Intellij 的,這常常導致我們在需要操作 class 文件時忘記對修改後的 java 類文件進行重新編譯,從而對舊文件進行了操作。
- 設置為省電模式
如上圖所示,IntelliJ IDEA 有一種叫做 省電模式 的狀態,開啟這種模式之後IntelliJ IDEA 會關掉代碼檢查和代碼提示等功能。所以一般也可認為這是一種 閱讀模式,如果你在開發過程中遇到突然代碼文件不能進行檢查和提示,可以來看看這裡是否有開啟該功能。
- 設置代碼水平 或垂直顯示
- 設置快捷為 Eclipse 的快捷鍵
- 通過 快捷鍵功能 修改快捷鍵設置
- 通過指定快捷鍵, 查看或修改 其功能
- 導入已有的設置
點擊 0K 之後,重啟 IDEA 即可
- 常用快捷鍵
1 執行(run) alt+r
2 提示補全 (Class Name Completion) :alt+/
3 單行 注釋 ctrl + /
4 多行注釋 ctrl + shift + /
5 向下複製一行 (Duplicate Lines) ctrl+alt+down
6 刪除一行或選中行 (delete line) ctrl+d
7 向下移動行(move statement down) alt+down
8 向上移動行(move statement up) alt+up
9 向下開始新的一行(start new line) shift+enter
10 向上開始新的一行 (Start New Line before current) ctrl+shift+enter
11 如何查看源碼 (class) ctrl + 選中指定的結構 或 ctrl + shift + t
12 萬能解錯/ 生成返回值變量 alt + enter
13 退回到前一個編輯的頁面 (back) alt + left
14 進入到下一個編輯的頁面( 針對於上條) (forward) alt + right
15 查看繼承關係(type hierarchy) F4
16 格式化代碼(reformat code) ctrl+shift+F
17 提示方法參數類型(Parameter Info) ctrl+alt+/
18 複製代碼 ctrl + c
19 撤銷 ctrl + z
20 反撤銷 ctrl + y
21 剪切 ctrl + x
22 粘貼 ctrl + v
23 保存 ctrl + s
24 全選 ctrl + a
25 選中數行,整體往後移動 tab
26 選中數行,整體往前移動 shift + tab
27 查看類的結構:類似於 eclipse 的 的 outline ctrl+o
28 重構 : 修改變量名與方法名(rename) alt+shift+r
29 大寫轉小寫/ 小寫轉大寫(toggle case) ctrl+shift+y
30 生成構造 器/get/set/toString alt +shift + s
31 查看文檔說明(quick documentation) F2
32 收起所有的方法(collapse all) alt + shift + c
33 打開所有方法(expand all) alt+shift+x
34 打開代碼所在硬盤文件夾(show in explorer) ctrl+shift+x
35 生成 try-catch 等(surround with) alt+shift+z
36 局部變量抽取為成員變量(introduce field) alt+shift+f
37 查找/ 替換( 當前) ctrl+f
38 查找( 全局) ctrl+h
39 查找文件 double Shift
40 查看類的繼承結構圖(Show UML Diagram) ctrl + shift + u
41 查看方法的多層重寫結構(method hierarchy) ctrl+alt+h
42 添加到 收藏(add to favorites) ctrl+alt+f
43 抽取方法(Extract Method) alt+shift+m
44 打開 最近 修改的文件(Recently Files) ctrl+E
45 關閉當前打開的代碼欄(close) ctrl + w
46 關閉打開的所有代碼欄(close all) ctrl + shift + w
47 快速搜索類中的錯誤(next highlighted error) ctrl + shift + q
48 選擇要粘貼的內容(Show in Explorer) ctrl+shift+v
49 查找方法在哪裡被調用(Call Hierarchy) ctrl+shift+h
5.關於模板
- Live Templates( 實時 代碼模板) 功能介紹
它的原理就是配置一些常用代碼字母縮寫,在輸入簡寫時可以出現你預定義的固定模式的代碼,使得開發效率大大提高,同時也可以增加個性化。最簡單的例子就是在 Java 中輸入 sout 會出現 System.out.println();
- 已有 的常用模板
Postfix Completion 默認如下
Live Templates 默認 如 下
二者的區別:Live Templates 可以自定義,而 Postfix Completion 不可以。同時,有些操作二者都提供了模板,Postfix Templates 較 Live Templates 能快 0.01 秒
2.1 psvm : 可生成 main 方法
2.2 sout : System.out.println() 快捷輸出類似的:
soutp=System.out.println(“方法形參名 = ” + 形參名);
soutv=System.out.println(“變量名 = ” + 變量);
soutm=System.out.println(“當前類名.當前方法”);
「abc」.sout => System.out.println(“abc”);
2.3 fori : 可生成 for 循環類似的:
iter:可生成增強 for 循環
itar:可生成普通 for 循環
2.4 list.for : 可生成集合 list 的 的 for 循環
List<String> list = new ArrayList<String>();
輸入: list.for 即可輸出
for(String s:list){ }
又如:list.fori 或 list.forr
2.5 ifn :可生成 if(xxx = null)類似的:inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null
2.6 prsf :可生成 private static final類似的:
psf:可生成 public static final
psfi:可生成 public static final int
psfs:可生成 public static final String
修改現有模板 修改現有模板:Live Templates
如果對於現有的模板,感覺不習慣、不適應的,可以修改:
修改:通過調用 psvm 調用 main 方法不習慣,可以改為跟 Eclipse 一樣,使用 main 調取
- 自定義模板
IDEA 提供了很多現成的 Templates。但你也可以根據自己的需要創建新的Template。
先定義一個模板組:
選中自定義的模板組,點擊」+」來定義模板
1.Abbreviation:模板的縮略名稱
2. Descxxxxription:模板的描述
3. Template text:模板的代碼片段
4. 應用範圍。比如點擊 Define。選擇如下
可以如上的方式定義個測試方法,然後在 java 類文件中測試即可。
類似的可以再配置如下的幾個 Template:
好啦。到目前為止,關於我精心整理的IDEA文檔,已經快寫了一半啦(共11個,到目前為止寫了5個:1.背景介紹、2.windows下idea、3.簡單設置以及HelloWorld、4.常用配置、5.關於模板),真是耗費精力啊(太難了….),這是上篇;
下篇的內容更是乾貨,適用範圍極廣:具體包括6大類:
1.創建 Java Web Project 或 Module
2.整合Tomcat
3.關聯數據庫
4.版本控制(Version Control)
5.配置 Maven
6.其他設置
加油吧,兄弟們,我們 下篇見!