Java IDE的历史变迁及idea的使用

时间:2018-10-11
本文章向大家介绍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当前登录的系统用户名.IntelliJIdea14system

如果不用上述方法也可以删除整个 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 对选中的代码进行大/小写交替转换;