相关链接
一、常用快捷键
eclipse快捷键
Buttons 按键 | Function 功能 | Note 备注 |
---|---|---|
双击shift | 全局搜索 | 搜索类名,idea功能9(如Settings,Plugins) |
shift + enter | 无视光标跳到下一行 | |
ctrl + alt + J | 包含式动态模板(Surround with live template) | |
ctrl + shift + O | 导包 | |
ctrl + alt + S | 打开setting | |
ctrl + alt + T | 快速对选中代码try/catch、if、while等 | ![]() |
ctrl + F | 文章内查找,替换 | |
ctrl + H | 文件中搜索 | Find In File按代码内容搜索 |
alt + enter | 快速修复(Quick-fixes) | 所有的快速修复都是基于 Settings | Editor | Inspections 中的选项进行提示。 |
alt + insert | 生成代码(Generating code) | 快速生成get、set等 该操作不仅可以在编辑器中使用,在项目窗口和导航栏也可以使用:(用.分隔可以快速创建多级package) |
输入 /** 并 ctrl + enter | 快速生成注释 | /** * */ |
选中代码 ctrl + shift + M | 快速封装方法 | ![]() |
触发模板
Function 功能 | Eclipse | IDEA |
---|---|---|
构造main方法 | main | psvm |
对Array数组进行迭代 | for | itar |
对Collection集合进行迭代 | for | itco |
对List集合进行迭代 | for | itli |
使用foreach语法遍历可迭代对象 | foreach | iter |
打印到System.out | foreach | sout |
打印到System.err | foreach | serr |
定义静态字段 | foreach | psf |
if 变量== NULL | ifn |
1.1 循环遍历
//循环50次
50.fori => for (int i = 0; i < 50; i++) {}
1.1.1 数组[]
数组的初始化有以下两种方式
静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。
//完整写法
int[] arr = new int[]{2,5,7};
//其他写法 不推荐 =>
//一般将对象的引用单独放在等号左侧相邻位置,不容易引起歧义(实例名到底是 arr 还是 arr[] ?)
int arr[] = new int[]{2,5,7};
//简化写法 不推荐
int[] arr = {2,5,7};
动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。
int[] arr = new int[3];
arr[1]=2;
arr[2]=5,
arr[3]=7;
1.普通for循环
/* arr.fori => 自动提示
itar => 数组[]专用 自动提示*/
for (int i = 0; i < arr.length; i++) {
//手动添加遍历语句 【2 5 7】
System.out.print(arr[i]);
System.out.print(" ");
}
2.反向普通for循环
/* arr.forr => 自动提示 */
for (int i = arr.length - 1; i >= 0; i--) {
//手动添加遍历语句 【7 5 2】
System.out.print(arr[i]);
System.out.print(" ");
}
3.增强for循环
/* arr.for => 自动提示
arr.iter => 自动提示
iter => 自动提示*/
for (int i : arr) {
//手动添加遍历语句 【2 5 7】
System.out.print(i);
System.out.print(" ");
}
4.使用迭代器
/* arr.iterator => 自动提示 */
PrimitiveIterator.OfInt iterator = Arrays.stream(arr).iterator();
/* itit => 迭代器遍历专用 自动提示 */
while (iterator.hasNext()) {
Integer next = iterator.next();
System.out.print(next);
System.out.print(" ");
}
1.1.2 集合 List
//创建List集合
ArrayList<Object> list = new ArrayList<>();
list.add(33);
list.add(44);
list.add(5);
1.普通for循环
/* list.fori => 自动提示
itli=> List集合专用 自动提示*/
for (int i = 0; i < list.size(); i++) {
//手动添加遍历语句【33 44 5】
System.out.print(list.get(i));
System.out.print(" ");
}
2.反向普通for循环
/* list.forr => 自动提示 */
for (int i = list.size() - 1; i >= 0; i--) {
//手动添加遍历语句【5 44 33】
System.out.print(list.get(i));
System.out.print(" ");
}
3.增强for循环
/* list.for => 自动提示
list.iter => 自动提示
iter => 自动提示 */
for (Object o : list) {
System.out.print(o);
System.out.print(" ");
}
4.使用迭代器
/* collection.iterator(); => alt + enter 自动补全 */
Iterator<Object> iterator = list.iterator();
/* itit => 迭代器遍历专用 自动提示 */
while (iterator.hasNext()) {
Object next = iterator.next();
System.out.print(next);
System.out.print(" ");
}
1.1.3 集合 Collection
//创建Collection集合
Collection collection = new ArrayList<>();
collection.add("你好");
collection.add("你好吗?");
collection.add("再见");
1.普通for循环
/* itco => Collection集合遍历 自动提示 */
for (Iterator iterator = collection.iterator(); iterator.hasNext(); ) {
String next = (String) iterator.next();
//手动添加遍历语句【你好 你好吗? 再见】
System.out.print(next);
System.out.print(" ");
}
2.增强for循环
/* collection.for => 自动提示
iter => 自动提示 */
for (Object o : collection) {
//手动添加遍历语句【你好 你好吗? 再见】
System.out.print(o);
System.out.print(" ");
}
3.使用迭代器
/* collection.iterator(); => alt + enter 自动补全 */
Iterator iterator = collection.iterator();
/* itit => 迭代器遍历专用 自动提示 */
while (iterator.hasNext()) {
Object next = iterator.next();
System.out.print(next);
System.out.print(" ");
}
1.2 控制台打印
//sout
"123".sout => System.out.println("123");
//soutv (StringBuilder sb = new StringBuilder();)
sb.soutv => System.out.println("sb = " + sb);
1.3 创建变量
"a".var -> String a = "a";
123.var -> int i = 123;
二、Settings
2.1 keymap 设置快捷键
2.1.1 快速提示 alt + /
默认的提示快捷键是ctrl + 空格 ,但是这和输入法的中英切换冲突,所以改成alt + /,在搜索框中输入Basic,就能找到修改代码提示快捷键的地方.
但是需要注意的是alt + /在idea中是复制光标所在地方的前一个单词的意思,所以要把这个快捷键也改一下,搜索栏输入Cyc找到修改的地方如下所示,这里我改成alt+单引号,这样就和原来的按法差不多,因为单引号在斜杠上面.
2.1.2 删除当前行 ctrl + d
ctrl + d在idea中是复制光标所在行,因为取duplicate的意思,而ctrl+y在idea中是删除光标所在行
但是以前ctrl + d一般都是删除光标所在行,因为取delete的意思,而y在linux的vi中就是复制的意思,所以建议将这两个快捷键互换
即ctrl + d是删除,ctrl + y是复制.
(我自己复制快捷键为ctrl + ↓.)
按ctrl + alt+ S进入setting,左边选择Keymap,然后在搜索栏中输入Duplicate Line or Selection,就能找到改复制一行快捷键的地方,在搜索栏中输入DeleteLine就能找到改删除一行快捷键的地方.如下所示
2.1.3 uml 图
show uml diagram
2.1.4 迷你uml
show uml popup
2.1.4 uml 查找实现类
implementations
2.1.5 类型分级结构
type hierarchy
2.2 Live Templates 可用模板列表
如syso => 直接生成System.out.println(“”)
2.3 Code Style
2.3.2 Java Doc 解决格式化注释问题
2.3.2 Code Generation 解决ctrl+/ 快捷键注释不自动缩进
java注释代码块的问题 如下图
xml注释代码块的问题 如下图
如图进行配置即可
2.4 File And Code Templates
2.4.1 项目新建文件,头部注释
设置File Header后,创建类即可自动生成注释信息
/**
* @author GroupiesM
* @date ${DATE}
*/
alt+insert 创建一个Test类
三、导包
3.1 Test测试类
可以在一个类里面,除了main方法,创建多个可以执行的方法,需要导入spring-test和junit包
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
四、插件
- 搜索插件
4.1 Alibaba Java Coding Guidelines
《阿里巴巴Java开发手册》IDEA插件与Eclipse插件使用指南
- 主要功能
- 实时扫描代码规范,如包、类、方法命名,变量名等
- 实时扫描代码规范,如包、类、方法命名,变量名等
4.2 MyBatisX
4.3 Easy Code
- 功能
- 基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。
- 只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置。
- 支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。
4.4 Gitee
- 从Gitee上传下载代码的操作优化
4.5 jclasslib 字节码查看工具
- 安装完毕后可以在view中找到 Show Bytecode With Jclasslib
- 可以查看字节码文件,学习JVM必备
五、警告
5.1 源值1.5已过时, 将在未来所有发行版中删除
IDEA中提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除
- 打开【File】—【Project Structure】,找到以下两个地方:
Project Structure->Project里Project sdk以及project language level
Project Structure->Modules里Sources里的Language level
2. 当这两个地方配置好后,再次运行项目,出现如下的提示:
说明我们还有地方没有配置好。打开【File】—【Settings】,找到【Java Compiler】,会发现这个问题:
发现两个地方的版本对应不上,我们需要将下边的5或者1.5修改为8或者1.8。
修改完后,点击Apply—OK之后,程序就能正常运行了。
六、其他
6.1 内存
idea默认的内存分配太小了,改大一点,跑起来流畅
把这三个值改大一点,根据自己电脑实际情况来,我的电脑一共16g内存,分配2个G完全够用
1.Xms,最小内存 //原128
2.Xmx750m,最大内存 //原750
3.ReservedCodeCacheSize=1024m 预留代码缓存的大小 //原240
显示内存使用情况
Settings =>Apperance => 勾选 show memory indicator
- show memory indicator
20/06/03
M