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

Java开发工具的历史变迁前端

 

JCreatorjava

Jcreator是荷兰的Xinox Software公司开发的一个用于Java程序设计的集成开发环境(IDE),该公司成立于2001年;node

官方网站:http://www.jcreator.com/mysql

 

JBuilder程序员

JBuilder是Borland公司开发的针对Java的集成开发工具,该工具是收费的;web

Borland公司成立于1983年,总部位于美国加州;redis

JBuilder 当时在Java集成开发工具中风靡一时,但不久后也逐步被新的工具所战胜;sql

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、HTML五、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使用前置说明

一、因为Idea在亚洲没有设服务器,因此在使用idea过程当中,好比访问插件库、更新版本等操做时可能出现一些问题,这是因为网络问题致使的;

二、Idea 对硬件的基础要求虽然不是很高,但在实际的开发中,特别是开发大型 Java Web 项目时,2G 内存基本上不够用,4G内存可使用,就是会比较卡顿,最好是 8G 内存或是以上;

三、Idea与eclipse在使用上有一些区别,咱们须要转化思惟,不能按照eclipse的方式去学习Idea;

四、因为咱们一直以来习惯了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启动运行;

一、让你选择是否导入已经存在的旧配置信息;

二、让你选择Idea的主题颜色;

三、设置支持的框架,能够自定义,没有选择的将不支持,但能够后面在插件一栏中再加上;

四、进入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

一、配置Module的依赖,在右侧Dependencies下添加该Java项目依赖的第三方jar(若是没有不用添加);

二、配置Artifacts,在中间区域选择添加+符号-->从模块和依赖,选择模块和主类,选择拷贝到输出目录;

三、在菜单栏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 对选中的代码进行大/小写交替转换;

相关文章
相关标签/搜索