6.4 Editor – Color Scheme
6.4.1 修改当前主题的字体、字体大小、字体行间距
如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置:
6.4.2 修改当前主题的控制台输出的字体及字体大小
效果展示:
6.4.3 修改代码中注释的字体颜色
- Doc Comment – Text:修改文档注释的字体颜色
- Block comment:修改多行注释的字体颜色
- Line comment:修改当行注释的字体颜色
6.5 Editor – Code Style
6.5.1 设置超过指定 import 个数,改为*
6.6 Editor – File and Code Templates
6.6.1修改类头的文档注释信息
/** @author 狐狸半面添 @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.
6.7 Editor – File Encodings
6.7.1 设置项目文件编码
Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选, 不然 Properties 文件中的注释显示的都不会是中文。
6.7.2 设置当前源文件的编码
对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。其中:
- Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
- Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件, 新编码是什么则是什么。
- 含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。
如果文件中出现了中文,还会出现如下提示:
6.8 Build,Execution,Deployment
6.8.1 设置自动编译
构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程。
Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作。
6.9 设置为省电模式
如上图所示,IntelliJ IDEA 有一种叫做 省电模式
的状态,开启这种模式之后IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种 阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。我们不建议勾选此项,如果是刚学Java的小伙伴可以勾选此项来练习编写java代码的能力。
6.10 设置代码水平或垂直显示
水平显示演示:
垂直的效果就不再演示:选择 split Down
或 split and move Down
即可
7.设置快捷键(Keymap)
7.1 设置快捷为 Eclipse 的快捷键
7.2 通过快捷键功能修改快捷键设置
7.3 通过指定快捷键,查看或修改其功能
7.4 我的常用快捷键
功能 | 快捷键 |
光标在接口方法处,可以去跳转到实现该接口的子类去重写该方法 | Ctrl+Enter |
万能解错/生成返回值变量/提示/优化 | Ctrl+Enter |
光标在方法处,定位到实现该方法的类的方法处 | Ctrl+Alt+b |
定位在接口处,看到接口的子接口和实现子类 | Ctrl+Alt+b |
光标目标切换大小写 | Ctrl+Shift+U |
在本文件中搜索关键字快速定位 | Ctrl+f |
在所有文件中查找关键字 | Ctrl+shift+f |
快捷语句(选中后 region...endRegion Comments 可以实现代码折叠) |
ctrl + alt + t |
方法重写 | ctrl + i |
全局关键字查找 | ctrl + n |
复制文件名 | shift + c |
查看继承关系 | ctrl + h |
查看当前所在类的所有方法并可以搜索 | ctrl + F12 |
查看方法与变量的使用 | ctrl + alt + h |
查找变量的使用 | alt + F7 |
entity基本方法的生成 | alt + insert |
查看方法参数 | ctrl + p |
复制光标所在行到下一行 | ctrl + d |
光标向下插入新行并使光标移至新行 | shift + enter |
退回到前一个编辑的页面 | alt + left(箭头) |
进入下一个编辑的页面(针对上一条) | alt + right(箭头) |
退回到上一个编写的光标处 | ctrl + alt + left |
进入到下一个编写的光标处(针对下一条) | ctrl + alt + right |
代码格式化 | ctrl + alt + L |
复制代码 | ctrl + c |
撤销 | ctrl + z |
反撤销 | ctrl + y |
剪切 | ctrl + x |
粘贴 | ctrl + v |
保存 | ctrl + s |
全选 | ctrl + a |
代码单行注释 | ctrl + / |
代码多行注释 | ctrl + shift + / |
选中部分整体向后移 | tab |
选中部分整体向前移 | shift + tab |
当前所在类重写Object类的某个方法 | ctrl + o |
对标识符进行名字重构 | shift + F6 |
查找文件 | shift + shift |
查看类的继承结构图 | ctrl + alt + shift + u |
关闭当前文件 | ctrl + F4 |
查看最近访问的文件 | ctrl + e |
选择要粘贴的内容 | ctrl + shift + v |
将选中封装成一个方法 | ctrl + alt + m |
8.关于模板(Templates)
Editor – Live Templates 和 Editor – General – Postfix Completion
8.1 Live Templates(实时代码模板)功能介绍
官方介绍 Live Templates:https://www.jetbrains.com/help/idea/using-live-templates.html
它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();
8.2 已有的常用模板
Postfix Completion 默认如下:
Live Templates 默认如下:
二者的区别:Live Templates 可以自定义,而 Postfix Completion 不可以。同时, 有些操作二者都提供了模板,Postfix Templates 较 Live Templates 能快 0.01 秒。
8.2.1 main
可生成 main 方法
8.2.2 sout
System.out.println() 快捷输出。
类似地:
soutp = System.out.println("方法形参名 = " + 形参名); soutv = System.out.println("变量名 = " + 变量); soutm = System.out.println("当前类名.当前方法"); “abc”.sout => System.out.println("abc");
8.2.3 fori
可生成 for 循环
类似地:
iter:可生成增强 for 循环 itar:可生成普通 for 循环
8.2.4 list.for
可生成集合 list 的 for 循环
List<String> list = new ArrayList<String>(); //输入: list.for 即可输出: for(String s:list){ }
类似地:
ArrayList arrayList = new ArrayList(); //输入: list.fori 即可输出: for (int i = 0; i < arrayList.size(); i++) { }
ArrayList arrayList = new ArrayList(); //输入: list.forr 即可输出: for (int i = arrayList.size() - 1; i >= 0; i--) { }
8.2.5 ifn
可生成 if(xxx == null)
类似的:
inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null
8.2.6 prsf
可生成 private static final
类似的:
- psf:可生成 public static final
- psfi:可生成 public static final int
- psfs:可生成 public static final String
8.3 修改现有模板:Live Templates
如果对于现有的模板,感觉不习惯、不适应的,可以修改。示例:
8.4 自定义模板
IDEA 提供了很多现成的 Templates 。但你也可以根据自己的需要创建新的Template。
先定义一个模板的组:
选中自定义的模板组,点击”+”来定义模板:
下图是我们进行的自定义模板:
Abbreviation
:模板的缩略名称Description
:模板的描述Template text
:模板的代码片段
选择应用范围:点击 Define。
选择如下:
我们进行一个测试: