IDEA(https://www.jetbrains.com/idea/)是 JetBrains 公司的产品,公司旗下还有其它产品,比如:
WebStorm: 用于开发 JavaScript、 HTML5、 CSS3 等前端技术
PyCharm:用于开发 python
PhpStorm:用于开发 PHP
RubyMine:用于开发 Ruby/Rails
AppCode:用于开发 Objective - C/Swift
CLion:用于开发 C/C++
DataGrip:用于开发数据库和 SQL
Rider: 用于开发.NET
GoLand: 用于开发 Go
Android Studio: 用于开发 android
IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境, IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、 J2EE支持、 Ant、 JUnit、 CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。IntelliJ IDEA 主要用于支持 Java、 Scala、 Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。
语言支持上:
其他支持:
强大的整合能力,比如: Git、 Maven、 Spring 等
提示功能的快速、 便捷
提示功能的范围广
好用的快捷键和代码模板
精准搜索
https://www.jetbrains.com/idea/download/#section=windows
IDEA 分为两个版本: 旗舰版(Ultimate)和社区版(Community)。旗舰版收费(限 30 天免费试用),社区版免费, 这和 Eclipse 有很大区别。两个不同版本的详细对比,可以参照官网:
https://www.jetbrains.com/idea/features/editions_comparison_matrix.html
1)要求
内存: 2 GB RAM minimum, 4 GB RAM recommended
硬盘: 1.5 GB hard disk space + at least 1 GB for caches
屏幕: 1024x768 minimum screen resolution
个人建议配置: 内存 8G 或以上, CPU 最好 i5 以上, 最好安装块固态硬盘(SSD),将 IDEA安装在固态硬盘上,这样流畅度会加快很多。
2)软件要求
操作系统:Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)
软件环境:IntelliJ IDEA已经集成了jre1.8运行环境,所以不需要安装jre。但是开发需要安装jdk,使用自己独立安装的jre。
傻瓜式安装,需确认 32 位版还是 64 位版,确认是否与.java、.groovy、.kt 格式文件进行关联,这里也可以选择不关联。
IntelliJ IDEA 执行时会有大量的缓存、索引文件,对硬件有一定的要求。
bin:容器,执行文件和启动参数等
help:快捷键文档和其他帮助文档
jre64:64位java运行环境
lib: idea依赖的类库
license:各个插件许可
plugin:插件
其中: bin 目录下
这里以64 位 windows7, 16G 内存为例,说明如何调整 VM 配置文件:
1.根据电脑系统的位数,选择 32 位的 VM 配置文件或者 64 位的 VM 配置文件
2.32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了。64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
3.64 位操作系统且内存大于 8G 的, 如果开发大型项目、 Java 项目或是 Android 项目,建议进行修改,常修改的就是下面 3 个参数:
-Xms128m, 16 G 内存的机器可尝试设置为 -Xms512m
(设置初始的内存数,增加该值可以提高 Java 程序的启动速度。 )
-Xmx750m, 16 G 内存的机器可尝试设置为 -Xmx1500m
(设置最大内存数,提高该值,可以减少内存 Garage 收集的频率,提高程序性能)
-XX:ReservedCodeCacheSize=240m,16G 内存的机器可尝试设置为
-XX:ReservedCodeCacheSize=500m(保留代码占用的内存容量)
这是 IDEA 的各种配置的保存目录。 删除掉整个目录之后,重新启动 IntelliJ IDEA 会自动帮你生成一个全新的默认配置,所以若把 IntelliJ IDEA 配置改坏了,删掉该目录,一切都会还原到默认。
config 目录
IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。此目录是最重要的目录,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了: IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、 Project 的 tasks 记录等等个性化的设置。 比如:
system 目录
system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录, 里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但也是最不可或缺的目录之一。 比如:
首次启动,会弹出如下的对话框。选择不导入已有的设置。
这里根据个人喜好,进行选择,也可以选择跳过(skip all and set defaults)。后面在settings 里也可以再设置主题等。 这里选择: Next:Default plugins
设置 IDEA 中的各种插件,可以选择自定义设置、删除,或者安装本身不存在的插件(比如:支持 Scala 的插件)。这里不设置,后面也可以通过界面菜单栏的settings 进行设置。IDEA 插件官方下载地址: https://plugins.jetbrains.com/idea。
Create New Project:创建一个新的工程
Import Project:导入一个现有的工程
Open:打开一个已有工程。比如:可以打开 Eclipse 项目。
Check out from Version Control:可以通过服务器上的项目地址 check out Github
选择 Create New Project, 需要明确一下概念:IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念( Workspaces),最大单元就是Project。 这里可以把 Project 理解为 Eclipse 中的 Workspace。
选择指定目录下的 JDK 作为 Project SDK。
如果要创建 Web 工程,则需要勾选上面的 Web Application。如果不需要创建 Web工程的话,则不需要勾选。这里先不勾选,只是创建简单的 Java 工程。
调出工具条和按钮组
工程下的 src 类似于 Eclipse 下的 src 目录, 用于存放代码。
工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。类似于 Eclipse 工程下的.settings、.classpath、.project 等。
说明:在 IDEA 里要说的是,写完代码,不用点击保存。 IDEA 会自动保存代码。
1.在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:
Eclipse 中 workspace 相当于 IDEA 中的 Project
Eclipse 中 Project 相当于 IDEA 中的 Module
2.从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。 IntelliJ IDEA 提供的解决方案是打开多个项目实例,即打开多个项目窗口。 即: 一个 Project 打开一个 Window 窗口。
3.在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。 一个 ProjectIntelliJ IDEA 的安装、 配置与使用可以有多个 Module。目前主流的大型项目都是分布式部署的, 结构都是类似这种多 Module 结构。
这类项目一般是这样划分的,比如: core Module、 web Module、 plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系的。 举例:
4.相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。
之后,可以在 Module 的 src 里写代码,此时 Project 工程下的 src 就没什么用了。可以删掉。
或者可以直接在目录删除,这个时候删除将会从硬盘上删除文件。
IntelliJ IDEA 有很多人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。进入设置界面:目录结构如下:
1.1设置主题
这里默认提供了三套主题: IntelliJ, Darcula, Windows。 这里可以根据自己的喜好进行选择。
1.2设置窗体及菜单的字体及字体大小 (可忽略)
1.3设置编辑区主题 (可忽略)
IDEA 默认提供了两个编辑区主题,可以通过如下的方式进行选择。
如果想要更多的主题效果的话,可以到如下的网站下载:http://www.riaway.com/
下载以后,导入主题: (方式一)
file – > import setttings – > 选中下载的主题 jar 文件 – > 一路确认 – > 重启。
重启以后,新主题会自动启用。如果没有启用,可以如下方式选择:
下载以后,导入主题: (方式二)
通过插件(plugins)更换主题
喜欢黑色主题的话,还可以下载插件: Material Theme UIIntelliJ,
点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可。
2.1设置鼠标滚轮修改字体大小(可忽略)
我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。
2.2设置鼠标悬浮提示
2.3设置自动导包功能
Add unambiguous imports on the fly:自动导入不明确的结构
Optimize imports on the fly: 自动帮我们优化导入的包
2.4设置显示行号和方法间的分隔符
2.5忽略大小写提示
IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。默认就是 First letter 区分大小写的。比如在 Java 代码文件中输入 stringBuffer,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是输入StringBuffer 就可以进行代码提示和补充。如果想不区分大小写的话,改为 None 选项即可。
2.6设置取消单行显示 tabs 的操作
在打开很多文件的时候, IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。
设置默认的字体、字体大小、字体行间距
4.1修改当前主题的字体、字体大小、字体行间距(可忽略)
如果当前主题不希望使用默认字体、 字体大小、字体行间距, 还可以单独设置:
4.2修改当前主题的控制台输出的字体及字体大小(可忽略)
4.3 修改代码中注释的字体颜色
Doc Comment – Text: 修改文档注释的字体颜色
Block comment: 修改多行注释的字体颜色
Line comment: 修改当行注释的字体颜色
5.1设置超过指定 import 个数,改为* (可忽略)
6.1修改类头的文档注释信息
/**
@author shkstart
@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.
7.1设置项目文件编码
说明:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。
7.2 设置当前源文件的编码(可忽略)
对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。 其中:
①Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
②Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。
③含有中文的代码文件, Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。
设置自动编译
Intellij Idea 默认状态为不自动编译状态, Eclipse 默认为自动编译。很多从 Eclipse 转到 Intellij 的,在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译, 从而对旧文件进行了操作。
IntelliJ IDEA 有一种叫做 省电模式 的状态,开启这种模式之后IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示, 可以来看看这里是否有开启该功能。
点击 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
(Editor – Live Templates 和 Editor – General – Postfix Completion)
它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固IntelliJ IDEA 的安装、 配置与使用定模式的代码,使得开发效率大大提高, 同时也可以增加个性化。最简单的例子就是在 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
list = new ArrayList (); 输入: 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
如果对于现有的模板,感觉不习惯、不适应的,可以修改:
修改 1:通过调用 psvm 调用 main 方法不习惯, 可以改为跟 Eclipse 一样,使用 main 调取。
修改 2:类似的还可以修改 psfs。
IDEA 提供了很多现成的 Templates。但你也可以根据自己的需要创建新的Template。
先定义一个模板的组:
选中自定义的模板组,点击”+”来定义模板。
1. Abbreviation:模板的缩略名称
2. Description:模板的描述
3. Template text:模板的代码片段
4. 应用范围。比如点击 Define。选择如下:
可以如上的方式定义个测试方法,然后在 java 类文件中测试即可。
类似的可以再配置如下的几个 Template:
1.
2.
2.1创建动态 Web 的 module
工程栏空白处 new – module:
这里一定要勾选 Web Application,才能创建一个 Web 工程。提供 Web 工程名。这里注意修改一下 Content root 和 Module file location。
创建以后的工程结构如下:
打开 index.jsp。修改为如下内容。这里你会发现 IDEA 的代码提示功能要强于Eclipse。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
hello IDEA!
2.2 配置Tomcat
在 IDEA 中配置 Tomcat 之前,需要保证已经安装并配置了 Tomcat 的环境变量。配置完成以后,在命令行输入: catalina run 。能够启动 tomcat,则证明安装配置成功。下面看如何在 IDEA 中配置:
运行Tomcat
注意:配置Tomcat时,也将Tomcat的lib包引入到项目中,否则使用servlet时将会出错。
表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。 IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、 Mybatis有很好的支持,比如配置好了 Database 之后, IntelliJ IDEA 会自动识别 domain对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。
图标 1: 同步当前的数据库连接。 这个是最重要的操作。配置好连接以后或通过其他工具操作数据库以后,需要及时同步
图标 2: 配置当前的连接。
图标 3: 断开当前的连接。
图标 4: 显示相应数据库对象的数据
图标 5:编辑修改当前数据库对象
设置 Debug 连接方式,默认是 Socket。 Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置, 内存占用相对较少。
说明:调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦。具体操作:在断点处右击调出条件断点。可以在满足某个条件下,实施断点。
查看表达式的值(Ctrl + u)
选择行: ctrl + u。还可以在查看框中输入编写代码时的其他方法: