Intellij IDEA 整理

概述

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配置文件
注意:

  1. 根据电脑系统的位数,选择32位的VM配置文件或者64位的VM配置文件
  2. 32位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
  3. 64位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
  4. 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

  1. Eclipse是在同一个窗口管理N个项目,IntelliJ IDEA有所不同。IntelliJ IDEA提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口。
  2. 在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 调取。

  1. Abbreviation:模板的缩略名称
  2. Description:模板的描述
  3. Template text:模板的代码片段
  4. 应用范围。比如点击 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建议使用硬盘的全文搜索,这样效率更高。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容