> For the complete documentation index, see [llms.txt](https://cdk8s.gitbook.io/github/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cdk8s.gitbook.io/github/hotkey-alt-enter-introduce.md).

# 41. 最特殊的快捷键 Alt + Enter 介绍（新用户必看）

## 说明

* 这是一个非常特殊的快捷键，有必要拿出来单独讲。
* **强烈注意**：此快捷键跟光标所在位置有着很严重关联关系，光标放的位置不同，使用此快捷键出来的菜单选项完全不一样。
* 可以从几个思路：Java 类、JSP、HTML、JavaScript、CSS、SQL 等文件类型
* 下面演示的各个功能是基于：IntelliJ IDEA 2016.1.1，如果你使用早期版本，可能不一定有对应的功能。

## 智能辅助

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F5b736286e269470f49666b34288813fa05a187c4.gif?generation=1614850208361975\&alt=media)

> * 在 **接口类** 中，如果光标当前所在的方法，已经在 **接口实现类** 中生成了，则此快捷键的效果是跳转。
> * 在 **接口类** 中添加一个方法后，让该 **接口实现类** 也跟着生成

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2Ffaff5fc59fb0660ffbd81697ca396696549e5aa2.gif?generation=1614850211041266\&alt=media)

> * 在 **接口实现类** 中添加一个方法后，让该 **接口类** 也跟着生成

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2Fe9666e3436e86c61b4d7a29e3c95a24dd5bb4bec.gif?generation=1614850209336907\&alt=media)

> * 对当前光标所在类，生成单元测试类

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F22c6f73e3c36630d9e41f05cfb72f3123f10110e.gif?generation=1614850208849673\&alt=media)

> * 对当前光标所在类，创建子类，常用在对接口生成接口实现类

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F706bd81239247a5ac9e414d74555d856a6fc0387.gif?generation=1614850209930924\&alt=media)

> * 移除未使用的变量、对象等元素

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F590ee61bdd9bfe2143c7662a2e78320e9a90ab53.gif?generation=1614850210120011\&alt=media)

> * 对属性创建 set、get 方法

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F7b77d70996fea395d1b26e1f7719c9b9c9bb2bff.gif?generation=1614850209386901\&alt=media)

> * 添加 doc，只能把光标放在方法名或是变量名等这类元素上才会有

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F6464f07354547a4692b225a0c1fc24b45dd1de7c.gif?generation=1614850211359618\&alt=media)

> * 把自己造的单词加入词库中，让拼写单词检查错误的波浪线效果消失。

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2Ff6a7422d2d886bac944391968450e4717bba7bac.jpg?generation=1614850209969146\&alt=media)

> * 自己造的词库在上图所示位置。

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F7e8681e341d741b5dfbbaa8905db10f50ed34c4d.gif?generation=1614850210542289\&alt=media)

> * 快速移除当前类所继承的接口，并且同时清空已经写好的该接口所有的 Override 方法。
> * 光标只能方式 **接口实现类** 上的 **接口对象单词** 上才可以实现。

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F719491c844440392ad1f1030ecab214cc66ae23f.gif?generation=1614850210300911\&alt=media)

> * 修改光标当前元素的作用域

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2Fa0e357862b49d172e3b609f0eb573583c3aea45a.gif?generation=1614850217738840\&alt=media)

> * 给调用的方法生成返回值
> * 根据返回值自动强转

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F69a4e967f56d9386d4ed40870dcac745dea9614a.gif?generation=1614850209348897\&alt=media)

> * 对光标所在的对象进行包导入

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F97c2649d81d2eb41c58b2397d8317d85254e06ae.gif?generation=1614850209943612\&alt=media)

> * 切换成静态导入

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F21cb6c62f91bc2ea9d043a07ba92905e0d0db84b.gif?generation=1614850210319471\&alt=media)

> * 根据 Language Level 级别不同，JDK 特性不同，给不同意见。Language Level 的含义在其他章节有讲过。

![智能辅助](https://2438386763-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUwZ8vRqdRbYWSAy90Y%2Fsync%2F93eb4f3f951b6864708333eb95a51fac64b92389.gif?generation=1614850211586757\&alt=media)

> * 给 Hibernate 的 Entity 对象分配数据源，从而产生一系列智能功能
