Java IDE的歷史變遷及idea的使用


Java開發工具的歷史變遷

 

JCreator

Jcreator是荷蘭的Xinox Software公司開發的一個用於Java程序設計的集成開發環境(IDE),該公司成立於2001年;

官方網站:http://www.jcreator.com/

 

JBuilder

JBuilder是Borland公司開發的針對Java的集成開發工具,該工具是收費的;

Borland公司成立於1983年,總部位於美國加州;

JBuilder 當時在Java集成開發工具中風靡一時,但不久后也逐步被新的工具所打敗;

2009年5月6日,英國軟件商Micro Focus宣布以7500萬美元現金收購Borland軟件公司;

 

eclipse

Eclipse最初是由IBM公司開發的替代商業軟件Visual Age for Java的新一代Java集成開發環境;

2001年11月IBM將Eclipse貢獻給開源社區,后來一直由非營利軟件供應商聯盟Eclipse基金會(Eclipse Foundation)管理,直到現在;

 

myeclipse

由美國Genuitec公司開發一款的基於Eclipse的Java開發集成環境,該公司成立於1997年;

MyEclipse Enterprise Workbench於2003年的推出,該工具是收費的;

官方網站:http://www.genuitec.com/

MyEclipse,是在eclipse基礎上加上自己的插件開發而成的功能強大的企業級Java集成開發環境,主要用於Java、Java EE以及移動應用的開發;

MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源框架和技術支持相當不錯;

 

netbeans

NetBeans是Sun公司(2009年被甲骨文收購)在2000年創立的開放源代碼的供開發人員開發Java程序的集成開發環境;

NetBeans是一個始於1997年的一個大學學生計划,該計划后來發展成立了一家公司,進而推出一個商用版本的NetBeans;

1999年Sun公司收購了此公司,並於2000年6月將NetBeans作為開源項目對外發布;

 

Intellij IDEA

IntelliJ IDEA簡稱IDEA,它是 JetBrains 公司下的Java集成開發環境,在業界被公認為是最好的Java開發工具之一;

JetBrains是捷克的一家軟件公司,該公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主,旗下開發了多款軟件開發工具;

官方網站:https://www.jetbrains.com/

Intellij IDEA工具已經有很長的歷史了,2001年1月發布IntelliJ IDEA 1.0版本,只是一直沒有被大量使用;

IntelliJ IDEA以前是收費軟件,不過在2009年以后開始推出了免費的社區開源版本;

目前IntelliJ IDEA有免費的社區版(功能相對較少),和收費的旗艦版(功能比較全面);

 

JetBrains下的產品

IntelliJ IDEA

主要是針對 Java 的集成開發工具;

AppCode

主要針對 Objective-C / Swift 的集成開發工具;

CLion

主要針對 C / C++ 的集成開發工具;

GoLand

主要是針對 Go 語言的集成開發工具;

PhpStorm

主要是針對 PHP 的集成開發工具;

PyCharm

主要是針對 Python 的集成開發工具;

RubyMine

主要是針對 Ruby 的集成開發工具;

WebStorm

主要是針對 JavaScript、HTML5、CSS3 等前端技術的集成開發工具;

Rider

主要是針對 .net 的集成開發工具;

DataGrip

主要是數據庫可視化的連接和操作工具;

 

Idea的特點

IntelliJ IDEA 主要用於支持 Java 語言的開發工具,支持目前幾乎所有的主流技術和框架,擅長於企業應用、移動應用和 Web 應用的開發;

IntelliJ IDEA 非常地人性化、智能化,可自我定制,開發效率極高;

 

Idea版本

IntelliJ IDEA 分為“旗艦版”和“社區版”;

旗艦版(Ultimate Edition)為收費版本,功能強大,有30天免費試用期;

社區版(Community Edition)為免費版本,功能較旗艦版少了很多,可一直免費使用;

一般地,IntelliJ IDEA 大版本為一年迭代一次,大版本下的小版本迭代時間不固定,快則一個月,慢則兩至三月迭代一次;

目前最新版本為:IntelliJ IDEA 2018.2.4

 

Idea使用前置說明

1、由於Idea在亞洲沒有設服務器,所以在使用idea過程中,比如訪問插件庫、更新版本等操作時可能出現一些問題,這是由於網絡問題導致的;

2、Idea 對硬件的基礎要求雖然不是很高,但在實際的開發中,特別是開發大型 Java Web 項目時,2G 內存基本上不夠用,4G內存可以使用,就是會比較卡頓,最好是 8G 內存或是以上;

3、Idea與eclipse在使用上有一些區別,我們需要轉化思維,不能按照eclipse的方式去學習Idea;

4、由於我們一直以來習慣了eclipse,所以我們在學習idea的時候,可能有一段時間不適應,甚至產生放棄的念頭,這也是正常的,堅持幾天就好了;

 

Idea的下載安裝

官方網站下載:https://www.jetbrains.com/

Idea的下載包有兩種格式:一個是exe的安裝版,一個是zip的解壓縮版;

exe格式的安裝版需要安裝,而zip格式的解壓縮版不需要安裝,直接解壓即可使用;

推薦使用zip的解壓縮版,直接解壓即可使用,方便;

 

Idea目錄結構

Idea解壓后的目錄結構如下:

 

bin 是 IDEA 的可執行程序目錄;

help 是 IDEA 的幫助文件目錄;

jre32 是IDEA自帶的32位JRE環境;

jre64 是IDEA自帶的64位JRE環境,故IDEA可在未安裝 JDK 的計算機上進行Java語言的開發;

lib 是IDEA依賴的庫文件目錄,里面有很多的 Jar 文件;

license 是 IDEA 的許可證文件目錄;

plugins 是IDEA的插件目錄;

redist 是IDEA中索引機制所依賴的redist庫目錄;

兩個 .txt 說明文件和一個注冊表文件;

 

Idea啟動運行

如果電腦是32位,則雙擊idea.exe啟動運行idea,如果是64位則雙擊idea64.exe啟動運行;

1、讓你選擇是否導入已經存在的舊配置信息;

2、讓你選擇Idea的主題顏色;

3、設置支持的框架,可以自定義,沒有選擇的將不支持,但可以后面在插件一欄中再加上;

4、進入Idea創建Project界面;

命令 Create New Project 創建一個新項目;

命令 Import Project 導入一個已有項目;

命令 Open 打開一個已有項目;

命令 Check out from Version Control 可以通過服務器上的項目地址 Checkout Github 上面項目或是其他 Git 托管服務器上的項目;

注:Idea啟動后默認會在C:\Users\電腦用戶名\.IntelliJIdea2017.3用戶目錄下創建配置和緩存索引信息目錄;

 

創建Project

通常第一次使用idea,我們會選擇創建一個project;

第一次啟動使用idea,這里創建的project實際上等價於創建一個工作空間,所以我們通常選擇創建一個空的project;

 

Project與Mudoule

IntelliJ IDEA 是沒有類似 Eclipse 的工作空間的概念(workspaces ),Idea最大單元就是 Project;

如果你想同時打開多個項目,IntelliJ IDEA 提供的解決方案是打開多個項目實例,也就是打開多個Idea,也就是啟動多個idea,這樣的話,當然不是很方便;

所以,我們要在一個idea中看多個項目,則通過創建一個空的project作為工作空間,然后在該空的project下創建多個module作為我們的項目工程;

 

Idea的界面介紹

菜單欄

 

工具條

導航條

左側導航區域

中間編輯操作區域

右側導航區域

底部導航區域

 

 

-----------------------------------idae 的應用-------------------------------------------

創建Java項目

建議在一個空的Project下創建我們的Java項目,也就是說我們在一個空的Project下創建一個Java module;

方式:在菜單欄File-->New-->Module-->Java

 

項目配置說明

.iml為模塊module的配置文件;

.idea為工程Project的配置文件;

IntelliJ IDEA 是一個沒有 Ctrl + S (保存)的 IDE,所以每次修改完代碼你只管運行或調試即可,無需擔心保存或者丟失代碼問題;

雖然IntelliJ IDEA不需要按Ctrl + S 保存代碼,但對於代碼的錯誤檢查也是實時的,無需擔心代碼編譯問題;

如果需要整體編譯項目,則需要手動build一下;

在菜單欄File-->project結構下設置sdk,緊接着還可以設置語言級別,java8還是java9等,當然sdk選擇要和語言級別選擇保持版本一致;

 

Idea字體編碼設置

通過菜單中的 File -->Settings 進行設置(IntelliJ IDEA基本所有設置都在該菜單下);

字體設置

主題的字體一般不建議修改,主題就是指整個Idea工具;

代碼開發的編輯器的字體建議修改,在Editor下的Font選項修改,建議18號字;

編碼設置

文件編碼及工程編碼設置,在Editor下的File Encodings選項進行修改,建議全部改為UTF-8;

 

Java項目打jar包

在菜單欄File-->Project Structure

1、配置Module的依賴,在右側Dependencies下添加該Java項目依賴的第三方jar(如果沒有不用添加);

2、配置Artifacts,在中間區域選擇添加+符號-->從模塊和依賴,選擇模塊和主類,選擇拷貝到輸出目錄;

3、在菜單欄Build-->Build Artifacts... 選擇剛才創建的Artifact,點OK將在輸出目錄下生成jar文件;

 

創建web項目

創建一個Module

選擇Java Enterprise,選擇Java EE8(或者Java EE 7/6),選擇創建web.xml (此處有小bug,可能web.xml不能出現)

 

配置tomcat

在菜單欄 run-->Edit Configurations下設置,可以設置tomcat,端口,jvm等,可以配多個tomcat;

啟動tomcat,點擊綠色三角形箭頭即可;

停止tomcat點擊紅色方形的按鈕,停止按鈕點擊后有可能沒有停止,通常會出現一個骷髏頭表示沒有停止,可以再點擊一次;

有時候即使點了兩次,Tomcat 容器也不一定能完全停掉,這時候很容易出現端口被占用,這時候你需要打開系統的資源管理器,手動 kill 系統上所有的 Java 進程;

 

Idea上的web部署

通常在開發的時候,我們的web項目部署到tomcat下調試運行,進行代碼的開發,

idea開發web項目,並在idea工具中部署到tomcat下的步驟如下:

部署tomcat前,先配置好actifacts,

在菜單欄File -->project Structure-->Actifacts下選擇添加+下的Web Application:Exploded -->From Module

在tomcat的Deployment下添加配置的Actifacts,並設置Application context

 

Idea打war包

打開Project Structure

配置Module的依賴,在右側Dependencies下添加依賴的jar;

配置Artifacts,在菜單欄File -->project Structure-->Actifacts下選擇添加+下的Web Application:Archive -->for xxx

在菜單欄Build-->Build Artifacts... 選擇剛才創建的Artifact,點OK將在輸出目錄下生成war文件

 

Idea的索引與緩存

IntelliJ IDEA 首次加載項目的時候,都會創建索引,而創建索引的時間跟項目的文件多少成正比;在 IntelliJ IDEA 創建索引過程即使你編輯了代碼也是編譯不了、運行不起來的,所以建議等IntelliJ IDEA 創建索引完成后再操作;

IntelliJ IDEA 的緩存和索引主要是用來加快文件查詢,從而加快各種查找、代碼提示等操作的速度;

但是在某些特殊條件下,IntelliJ IDEA 的緩存和索引文件也是會損壞的,比如斷電、強制關機等,當重新打開 IntelliJ IDEA,很可能 IntelliJ IDEA 會報各種莫名其妙錯誤;

遇到此類問題,通過File-->Invalidate Cache and Restart清除緩存即可解決,一般建議點擊 Invalidate and Restart,這樣會比較干凈;

索引文件所在目錄地址:C:\Users\當前登錄的系統用戶名\.IntelliJIdea14\system

如果不用上述方法也可以刪除整個 system來清除索引和緩存,當 IntelliJ IDEA 再次啟動項目的時候會重新創建新的 system 目錄以及對應項目緩存和索引;

 

Idea刪除項目

idea刪除項目或模塊是無法物理刪除的,只是邏輯上的刪除,

要真正刪除則需要進入所在目錄,在磁盤上手動刪除;

 

Idea代碼模板設置

IntelliJ IDEA 默認新建類自帶的類注釋格式一般不夠友好或是規范,所以我們一般需要自己根據公司編碼規范進行設置;

菜單欄File-->Settings-->Editor-->File and Code Templates 下進行設置;

選擇不同的文件類型進行設置;

 

實時代碼模板

在菜單欄File--Settings -->Editor 下的Live Templates下,比如輸入sout即為System.out.println()打印;

還可以自定義實時代碼模板;

 

maven設置

在File-->Build,Execution,Deployment -->Build Tools下可以設置maven;

可以指定 Maven安裝主目錄,maven的settings.xml位置和本地倉庫位置;

 

創建maven項目

創建項目,可以選擇不使用Maven提供的插件方式創建maven項目骨架,也可以選擇使用比如xx-webapp,xxx-war的方式創建項目骨架;

maven項目編譯和打包,在工作空間的右側,展示maven projects區域,在lifecycle下展開雙擊對應的生命周期命令即能進行對應的操作;

maven的展開區域中還有一些功能按鈕,比如可以查看jar包依賴關系等;

 

Idea插件的使用

IntelliJ IDEA 本身很多功能也都是通過插件的方式來實現的,IntelliJ IDEA 本身就開發了大量的插件集成到Idea工具中,也就是說Idea安裝好之后就自帶了很多優秀的插件;

官網插件庫:https://plugins.jetbrains.com/

在菜單欄File -->Settings -->Plugins打開插件窗口;

IntelliJ IDEA 對插件進行了很好的分類:

All plugins 顯示所有插件;

Enabled 顯示當前所有已經啟用的插件;

Disabled 顯示當期那所有已經禁用的插件;

Bundled 顯示所有 IntelliJ IDEA 自帶的插件;

Custom 顯示所有我們自行安裝的插件,如果你自己裝了很多次插件的話,這個選項會用得比較多;

啟用的插件是被勾選的,如果要禁用一個插件,去掉勾選即可;

下面還有插件倉庫,是idea官方提供的,可以下載安裝,當然也可以從本地磁盤安裝插件,瀏覽本地的插件文件進行安裝,而不是從服務器上下載並安裝;

由於插件倉庫在國外,可能會出現顯示不了插件列表,或是顯示了插件列表,無法下載完成安裝,這時候可以多試幾次或者換個時間下載安裝;

 

Idea安裝MyBatis插件

MyBatis plugin插件,但這個插件是收費插件,不能直接使用;

Free Mybatis plugin,可以免費使用,可以用依稀這個插件;

 

IntelliJ IDEA配置Mybatis自動代碼生成

配置一個插件:

<build>

<plugins>

<plugin>

<groupId>org.mybatis.generator</groupId>

<artifactId>mybatis-generator-maven-plugin</artifactId>

<version>1.3.6</version>

<configuration>

<!--配置文件的位置-->

<configurationFile>src/main/resources/GeneratorMapper.xml</configurationFile>

<verbose>true</verbose>

<overwrite>true</overwrite>

</configuration>

</plugin>

</plugins>

</build>

 

配置代碼生成文件:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE generatorConfiguration

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

 

<generatorConfiguration>

<!-- 指定連接數據庫的JDBC驅動包所在位置,指定到你本機的完整路徑 -->

<classPathEntry location="C:/Users/jimly/.m2/repository/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44.jar"/>

<!-- 配置table表信息內容體,targetRuntime指定采用MyBatis3的版本 -->

<context id="tables" targetRuntime="MyBatis3">

<!-- 抑制生成注釋,由於生成的注釋都是英文的,可以不讓它生成 -->

<commentGenerator>

<property name="suppressAllComments" value="true" />

</commentGenerator>

<!-- 配置數據庫連接信息 -->

<jdbcConnection driverClass="com.mysql.jdbc.Driver"

connectionURL="jdbc:mysql://192.168.230.128:3306/p2padmin"

userId="root"

password="123456">

</jdbcConnection>

<!-- 生成model類,targetPackage指定model類的包名, targetProject指定生成的model放在eclipse的哪個工程下面-->

<javaModelGenerator targetPackage="com.bjpowernode.p2p.admin.model" targetProject="src/main/java">

<property name="enableSubPackages" value="false" />

<property name="trimStrings" value="false" />

</javaModelGenerator>

<!-- 生成MyBatis的Mapper.xml文件,targetPackage指定mapper.xml文件的包名, targetProject指定生成的mapper.xml放在eclipse的哪個工程下面 -->

<sqlMapGenerator targetPackage="com.bjpowernode.p2p.admin.mapper" targetProject="src/main/java">

<property name="enableSubPackages" value="false" />

</sqlMapGenerator>

<!-- 生成MyBatis的Mapper接口類文件,targetPackage指定Mapper接口類的包名, targetProject指定生成的Mapper接口放在eclipse的哪個工程下面 -->

<javaClientGenerator type="XMLMAPPER" targetPackage="com.bjpowernode.p2p.admin.mapper" targetProject="src/main/java">

<property name="enableSubPackages" value="false" />

</javaClientGenerator>

<!-- 數據庫表名及對應的Java模型類名 -->

<table tableName="u_permission_info"

domainObjectName="PermissionInfo"

enableCountByExample="false"

enableUpdateByExample="false"

enableDeleteByExample="false"

enableSelectByExample="false"

selectByExampleQueryId="false"/>

</context>

</generatorConfiguration>

配置Maven運行

mybatis-generator:generate -e

 

Idea中的代碼調試

F7:在 Debug 模式下,進入下一步,如果當前行斷點是一個方法,則進入當前方法體內,如果該方法體還有方法,則不會進入該內嵌的方法中

F8:在 Debug 模式下,進入下一步,如果當前行斷點是一個方法,則不進入當前方法體內

F9:在 Debug 模式下,恢復程序運行,但是如果該斷點下面代碼還有斷點則停在下一個斷點上

Alt + F8:在 Debug 的狀態下,選中對象,彈出可輸入計算表達式調試框,查看該輸入內容的調試結果

查看所選對象的方法常用有三種方式:

選中對象后,使用快捷鍵 Alt + F8

選中對象后,拖動對象到 Watches

選中對象后,鼠標懸停在對象上 2 秒左右

 

Idea的搜索

類的搜索

在菜單欄的Navigate下的Class...

文件的搜索

在菜單欄的Navigate下的File...

全部搜索

在菜單欄的Edit-->Find--Find in path

在工具條最右側的搜索圖標按鈕,點擊打開;

連續按兩次Shift鍵;

上面所有的搜索框被調出來后,按esc鍵取消;

 

Postfix Completion

后綴自動完成:

fori

100.fori

sout

new User().sout 即可打印出user對象

nn

判斷多少不等於null, user.nn

return

user.return

 

查看類的方法和字段大綱

打開當前類,點擊左側的結構大綱即可查看;

 

查看類的方法調用層級

右鍵該方法,Find Usages 或者按快捷鍵:Alt + F7

 

Idea查看接口的實現類

點擊接口左側的綠色圓點, 出現的列表就是該接口被實現的類;

查看接口中方法的實現,也是點擊接口方法前面的綠色圓點; (快捷鍵:Ctrl+Alt+B)

 

Idea自動導入包

在使用idea開發java項目的時候,經常需要導入jdk或者是第三方類庫的類,我們知道,在Idea中導入第三方的類,通過 Alt + Enter快捷鍵,但是這樣自己手工導入的話,非常麻煩,效率很低,Idea提供了更高效的方式;

在菜單欄File-->Settings-->Editor-->General-->Auto Import 下設置:

選項1,IntelliJ IDEA 將在我們書寫代碼的時候自動幫我們導入需要用到的包,但是對於那些同名的包,還是需要手動 Alt + Enter 進行導入;

選項2,IntelliJ IDEA 將在我們書寫代碼的時候自動幫我們優化導入的包,比如自動去掉一些沒有用到的包;

 

Idea常用快捷鍵

Ctrl + Y 刪除光標所在行 或 刪除選中的行;

Ctrl + X 剪切光標所在行 或 剪切選擇內容;

Ctrl + F 在當前文件中進行文本查找

Ctrl + R 在當前文件中關進行關鍵詞替換;

Ctrl + C 復制

Ctrl + V 粘貼

Ctrl + Z 撤銷

Ctrl + G 在當前文件跳轉到指定的行

Ctrl + / 注釋光標所在行代碼,會根據當前不同文件類型使用不同的注釋符號;

Ctrl +Shift + / 多行代碼注釋;

Alt + Insert 代碼自動生成,如生成對象的 set / get 方法,構造方法,toString() 等;

Ctrl + Alt + L 格式化代碼,可以對當前文件和整個包目錄使用;

Ctrl + Shift + / 代碼塊注釋;

Alt + Enter 導入引用的jar中的類;

ctrl +shift + alt +j 選中當前文件中的所有相同的詞或字符,可直接對其進行一次性全部修改;

Shift + F6 重構代碼,重命名等;

Shift + Tab 代碼往前縮進;

Ctrl + Alt + O 優化導入的類,清理無用的導入;

Ctrl + Shift + U 對選中的代碼進行大/小寫交替轉換;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM