我前几年写过一个 Android Studio 中的快捷键教程,发表在 CSDN 上,最近有小伙伴看我讲 Spring Boot 视频,IDEA 用的还比较溜,问我有没有整理好的快捷键,我一般就直接把当时写的 Android Studio 的快捷键发给他。因为大家知道 as 其实就是基于 IDEA 来做的。
本文就当作是一个引子吧。
我为什么用 IDEA
曾经我也是 Eclipse 坚定的拥趸者。
刚开始学 Java 那会,用了一个非常小巧的开发工具 JCreator,只有几 MB 大小,分为社区版和专业版,专业版是收费的。校公选课上老师就用了这个工具,我也跟着用这个,用这个学完了整个 JavaSE,很多基础的算法题我都是用这个工具完成的。比起现在动辄几百 MB 几 G 的 IDE 而言,这个真的可以算作是小巧玲珑。今天还特意去网上搜了一下 JCreator,发现已经好久没有更新了,估计是凉了。
后来接触到 JavaWeb 之后,就用了 Eclipse 系的 IDE 了。
Eclipse、MyEclipse 以及 Spring Tool Suite,这些都算是 Eclipse 系的 IDE,其中 STS 使用时间最久了。大学毕业后做过一段时间的 Android 开发,当时用的也是 Eclipse。当时的 Eclipse 用的滚瓜烂熟,从 Eclipse 切换到 IDEA 上犹豫了好久,后来想想我还年轻,程序员之路才刚刚开始,不应该放弃尝试新事物,于是就尝试切换到 Android Studio 上,大概一周时间,各种快捷键就用顺手了,并且慢慢喜欢上了这个开发工具,后来又做回老本行 Java 后端,就顺手用了 IntelliJ IDEA,这两年前后端都做,前端果断选择 WebStorm,快捷键都是一样的,也是很顺手。
另外 Java 官方还有一个 IDE ,NetBeans,这个工具这几年存在感愈来愈弱。我自己也只是在刚开始学习 Java 的时候好奇尝试过,基本上没用这个做过项目。
IDEA 介绍
IDEA 全称 IntelliJ IDEA,由 JetBrains 公司开发,公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。对于 IDEA ,该公司致力于提供一个面向 JVM,功能强大且符合人体工程学的 IDE,所谓的面向 JVM,就是 IDEA 要支持所有运行在 JVM 上的开发语言,例如 Scala,Kotlin 等。
IDEA 在业界被公认为最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Maven、JUnit、Svn、Git、代码审查等方面的功能可以说是超常的。
IDEA 中的版本问题
IDEA 目前共分为两个版本,社区版和旗舰版。社区版功能单一但是免费,使用社区版直接创建 Maven 项目或者 Spring Boot 项目都不支持,旗舰版功能丰富但是收费。我自己因为在 GitHub 上有几个比较受欢迎的开源项目(https://github.com/lenve),因为这些项目,我申请到 JetBrains 一整套的官方授权。
大家安装办法很多,这个应该不用我多说,大伙都有办法搞定。
IDEA 各种特性
IDEA 中有很多好玩的特性,我们来逐个看下:
智能的选取
有的时候我们可能需要从某个变量到表达式到方法甚至到类,扩充者选取,这个时候就可以使用 Ctrll W 来实现:
丰富的导航模式
IDEA 提供了丰富的导航查看模式,例如 Ctrll E 显示最近打开过的文件:
Ctrll N 或者连按两下 Shift,会出现一个类名搜索框,有的时候查看源码用这个非常方便。
历史记录功能
在 IDEA 中,你可以不用借助 Git 或者 Svn 之类的工具,就可以查看文件修改历史。
辅助编码
这个其实算不上两点,因为基本上各种 Java 开发工具都有。Java Bean 中常见的 toString()、hashCode()、equals() 以及所有的get/set 方法都可以自动生成(Windows 是 Alt Insert,Mac 是 Command N)。
XML 的完美支持
这个算是最赞的功能之一了。Eclipse 中做 Spring 开发,多多少少你得提前准备好一套 Spring 配置模板,而在 IDEA 中则不需要。引入 Spring 依赖之后,就会有 Spring 的 XML 模板,可以直接用。因此,如果使用 IDEA,每个人都可以不用参考任何外部文件配置 SSM。
预置模板
这个基本上大部分 IDE 都有,只不过在 IDEA 中,提供的内置模板更加丰富,例如 main 方法的生成:
对 Git 的友好支持
IDEA 集成了目前大部分的版本工智工具插件,例如 CVS、Svn、Git 等,包括 GitHub 也可以在 IDEA 中非常愉快的使用。
智能代码
自动检查代码,发现与预置规范有出入的代码给出提示,自动完成修改。
当然还有很多其他特性,我就不一一列举了。本系列后面的文章会向大家逐个介绍。
从 Eclipse 切换过来注意事项
如果大家是从 Eclipse 上切换到 IDEA ,我总结了以下几个常见问题:
快捷键问题
IDEA 支持使用 Eclipse 那一套快捷键,但是个人非常不建议切换,感觉没有必要,增加以后的使用成本,可能还会错过一些 IDEA 中非常棒的功能。当然如果你只是想稍微的尝试一下 IDEA,那就无所谓了。
保存问题
IDEA 中没有保存按钮,当然你也不用 Ctrll S 了,工具会自动帮我们保存,这一点也和 Eclipse 不同。不知道大家有没有在工作中遇到突然停电的问题,我以前遇到过一次,幸好当时使用的是 IDEA,损失不大。
项目目录
这个可能是很多初次接触 IDEA 的小伙伴最不习惯的地方了。Eclipse 中一个窗口中可以打开多个 Project,也可以打开多个 Module,但是在 IDEA 中,一个窗口只能打开一个 Project(当然 Module 也是可以打开多个的),如果在 IDEA 中要打开一个新的 Project ,只能再打开一个新的窗口。
很多人将 IDEA 中的 Project 类比为 Eclipse 中的 workspace,将 IDEA 中的 module 类比为 Eclipse 中的 Project,我认为这个虽然形象但是极为不恰当的,Project 和 Module 就当成正常的 Project 和 Module 就行了。
常用快捷键
这里主要是 Windows 上的快捷键,Mac 上部分快捷键会有一点点小小差异。
Ctrl N
这个可以用来快速搜索类。
Ctrl Shift N
这个可以用来快速搜索文件。
Ctrl ALT SPACE
代码提示(类似于ALT /),这个快捷键使用场景并不多,大部分情况下 IDEA 都会主动提示。
ALT F7
这个用来查看某一个方法或者变量在哪里被使用了。
Ctrl Q
查看代码提示及内容,这个说起来并没有 Eclipse 方便,Eclipse 中将光标放在类名或者方法名上就会出现 doc,但是在 IDEA 中需要按下 Ctrl q 才会出现。
Ctrl B
查看类的定义,也可以像 Eclipse 一样,按下 Ctrl 再鼠标左键单击。
Ctrl F12
这个可以列出类中的所有方法。
SHIFT F6
变量或者类名重命名。
ALT INSERT
生成 get/set/toString/hashCode/equals 等方法
Ctrl ALT T
代码包裹,选中代码后,可以被 for/if/trycache 等代码块包裹:
Ctrl ALT B
查看接口或者抽象类的子类。也可以通过 Ctrl H 来查看。
Ctrl D
代码复制到新的一行
Ctrl Y
删除当前行
Ctrl Alt ↑/↓
代码向上或者向下移动
Ctrl Alt enter
在当前行的上面创建新的一行
Ctrl enter
在当前行的下面新建一行(光标不用移动到当前行的最末尾处)。
好了,本文就当是一个引子吧,后面再来和大家详细聊聊 IDEA 中的其他细节。
1、Spring Boot 中的同一个 Bug,竟然把我坑了两次!2、Spring Boot 支持 Https 有那么难吗?3、一个野生程序员的自我修养4、干货 | 鸟瞰 MySQL,唬住面试官!5、Spring Boot 修改静态资源一定要重启项目才会生效吗?未必!6、Spring Boot 跨域,JSONP 太 low,试试 CORS 怎么样?7、身边的人都说微服务好,好在哪?8、条件注解,Spring Boot 的基石!9、Spring 中用 XML 装配 Bean,竟然有五种姿势!