概述
IDEA(https://www.jetbrains.com/idea/),全称IntelliJ IDEA
JetBrains 公司的产品。
强大的Java 语言的集成开发环境,IDEA 在业界被公认为是 最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说 是超常的。
IDEA 有两个版本:旗舰版(Ultimate)和社区版(Community)。 旗舰版收费(限 30 天免费试用),社区版免费
IDEA的优势
1 强大的整合能力。比如:Git、Maven、Spring 等
2 提示功能的快速、便捷
3 提示功能的范围广
4 好用的快捷键和代码模板
5 精准搜索
目录
bin:容器,执行文件和启动参数等
help:快捷键文档和其他帮助文档
jre64:64 位java 运行环境
lib:idea 依赖的类库
license:各个插件许可
plugin:插件
bin目录下
idea.exe 32位IDEA启动文件
idea.exe.vmoption 32位IDEA的VM配置文件
idea.properties IDEA的属性配置文件
idea64.exe 64位IDEA启动文件
idea64.exe.vmoption 64位IDEA的VM配置文件
注意:
- 根据电脑系统的位数,选择32位的VM配置文件或者64位的VM配置文件
- 32位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
- 64位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
- 64位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目,
建议进行修改,常修改的就是下面 3 个参数:
-Xms128m,16G内存的机器可尝试设置为Xms512m.(设置初始的内存数,增加该值可以提高 Java 程序的启动速度。)
-Xmx750m,16G内存的机器可尝试设置为-Xmx1500m(设置最大内存数,提高该值,可以减少内存 Garage收集的频率,提高程序性)
-XX:ReservedCodeCacheSize=240m
-XX:ReservedCodeCacheSize=500m
(保留代码占用的内存容量)
config目录
C:\Users\当前登录的系统用户名.IntelliJIdea\config
config目录是IntelliJ IDEA个性化化配置目录,或者说是整个IDE设置目录。IDEA安装的时候,安装新版本的IntelliJ IDEA会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置。
system目录
C:\Users\当前登录的系统用户名.IntelliJIdea\system
system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个 桥梁目录,里面主要有:缓存、索引、容器文件输出等等。
caches:
LocalHistory:文件的历史更改记录
与Eclipse比较
IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace。
创建工程
开始
1,Create New Project:创建一个新的工程
2,Import Project:导入一个现有的工程
3,Open:打开一个已有工程。比如:可以打开 Eclipse 项目。
4,Check out from Version Control:可以通过服务器上的项目地址check out Github上面项目或其他Git托管服务器上的项目
创建模块(Module)
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
- Eclipse是在同一个窗口管理N个项目,IntelliJ IDEA有所不同。IntelliJ IDEA提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口。
- 在IntelliJ IDEA中Project是最顶级的级别,次级别是Module。一个Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这 种多Module结构。
常用配置
File-->Settings...
Appearance & Behavior
Theme设置主题:默认提供了三套主题:IntelliJ,Darcula,W indows
快捷键
1 执行(run) alt+r
2 提示补全 (ClassNameCompletion) alt+/
3 单行注释 ctrl+/
4 多行注释 ctrl+shift+/
5 向下复制一行 (DuplicateLines) ctrl+alt+down
6 删除一行或选中行 (deleteline) ctrl+d
7 向下移动行(move statement down) alt+down
8 向上移动行(move statement up) alt+up
9 向下开始新的一行(start new line) shift+enter
10 向上开始新的一行 (StartNewLinebeforecurrent) 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 IntelliJ IDEA 的安装、配置与使用
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
IDEA模版
(Editor – Live Templates 和 Editor – General – Postfix Completion)
1.Live Templates(实时代码模板)
配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。
最简单的例子 就是在 Java 中输入 sout 会出现 System.out.println();
2.Postfix Completion(已有的常用模板)
二者的区别:Live Templates 可以自定义,而 Postfix Completion 不可以。同时, 有些操作二者都提供了模板,Postfix Templates 较 Live Templates 稍快
举例:
psvm : 可生成 main 方法
sout : System.out.println() 快捷输出
类似的:
soutp=System.out.println("方法形参名 = " + 形参名);
soutv=System.out.println("变量名 = " + 变量);
soutm=System.out.println("当前类名.当前方法");
“abc”.sout => System.out.println("abc");
fori : 可生成 for 循环 类似的:
iter:可生成增强 for 循环
itar:可生成普通 for 循环
list.for : 可生成集合 list 的 for 循环
List<String> list = new ArrayList<String>(); 输入: list.for 即可输出
for(String s:list){
}
list.fori 或 list.forr
ifn:可生成 if(xxx = null)
类似的:
inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null
prsf:可生成 private static final
类似的:
psf:可生成 public static final
psfi:可生成 public static final int
psfs:可生成 public static final String
修改现有模板:Live Templates
如果对于现有的模板,感觉不习惯、不适应的,可以修改:
修改 1:
通过调用 psvm 调用 main 方法不习惯,可以改为跟 Eclipse 一样,使用 main 调取。
- Abbreviation:模板的缩略名称
- Description:模板的描述
- Template text:模板的代码片段
- 应用范围。比如点击 Define。选择如下:
自定义模板
IDEA 提供了很多现成的 Templates。但你也可以根据自己的需要创建新的
版本控制(Git)
clone:拷贝远程仓库
commit:本地提交
push:远程提交
pull:更新到本地
断点调试
常用断点调试快捷键
step over 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内
force step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内
step out 跳出
resume program 恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上
stop 停止
mute breakpoints 点中,使得所有的断点失效
view breakpoints 查看所有断点
条件断点
说明:
调试的时候,在循环里增加条件判断,可以极大的提高效率。
具体操作:
在断点处右击调出条件断点。可以在满足某个条件下,实施断点。
查看表达式的值(Ctrl + u):
选择行,ctrl + u。还可以在查看框中输入编写代码时的其他方法
插件
IntelliJ IDEA 很多功能都是通过插件的方式来实现的。
官网插件库:https://plugins.jetbrains.com/
安装:File-->settings-->plugins
三种安装方式:
Install JetBrains plugin:弹出 IntelliJ IDEA 公司自行开发的插件仓库列表,供下载安装
Browse repositories:弹出插件仓库中所有插件列表供下载安装
Install plugin from disk:浏览本地的插件文件进行安装,而不是从服务器上下载并安装
其他
缓存和索引的清理
IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比。在IntelliJ IDEA 创建索引过程中即使你编辑了代码也是编译 不了、运行不起来的,所以还是安安静静等IntelliJ IDEA。
IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度,某些特殊条件下,IntelliJ IDEA的缓存和索引文件也是会损坏的,比如:断电、蓝屏引起的强制关机,当你重新打开IntelliJ IDEA,很可能IntelliJ IDEA会报 各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA主题还原成默认状态。即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA缓存和索引出现了问题,这种情况还不少。遇到此类问题也不用过多担心。我们可以清理缓存和索引。
File-->Invalidate Caches/Restart...
进入后有如下选择:
Invalidate and Restart、Invalidate、Cancel、Just Restart
一般建议点击 Invalidate and Restart,这样会比较干净。
警告:清除索引和缓存会使得IntelliJ IDEA的Local History丢失。所以如果项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下LocalHistory目录。目录地址在:C:\Users\当前登录的系统用户名.IntelliJIdea\system\LocalHistory建议使用硬盘的全文搜索,这样效率更高。