概述
Intellij IDEA 是JetBrains公司研发的又一款伟大的IDE工具,主要面向广大的Java开发人员。为什么说是“又一款伟大的IDE工具”呢?,因为该公司已经生成过 PHPStorm、PyCharm、WebStorm等优秀的开发工具。JetBrains是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室。根据国内的使用习惯,在本教程中,我们将使用IDEA来作为Intellij IDEA的简称。对于IDEA,JetBrans公司提出的最新口号是:Capable and Ergomomic IDE for JVM ,翻译过来就是面向JVM、功能强大且符合人体工程学的IDE。面向JVM的是指该IED支持Java、Scale等运行于JVM之上的所有语言。
IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。目前,该软件有两个主要的版本:免费的社区版和付费的旗舰版。免费版只支持Java等少数语言和基本的IDE特性;旗舰版还支持HTML,CSS,PHP,MySQL,Python等语言和更多的工具特性。
优点
主流
虽然IDEA的主要客户是基于JVM开发的人员,但是IDEA支持的语言/平台可以认为是无限的。IDEA像其他的伟大IDE一样,采用了基于插件的架构,为了使IDEA支持一些没有原生集成的语言/平台,只需实现或者查找对应的插件并按照到IDEA中即可。关于IDEA支持的主流语言和平台,我们做一个简单的总结:
| 语言/平台 | 框架 | 构建工具 | 应用容器 | 版本工具 | 其他工具 |
|---|---|---|---|---|---|
| Java、JavaScript | Spring、Spring Boot | Maven、Gradle | Tomcat、JBoss | Git、GitHub | 终端、数据库 GUI |
快捷
虽然IDEA不是唯一一个,也不是第一个支持快捷键的IDE工具,但是IDEA提供的快捷键可以使开发人员远离鼠标,实现沉浸式开发,极大地提高程序员的开发效率。实际的编程经历表明,开发人员经常需要在编辑窗口与工具窗口之间进行切换,为了快速切换并实现沉浸式开发,IEDA提供了在编辑窗口与工具窗口之间的空间键:
| Tool Window | Shortcut | Tool Window | Shortcut |
|---|---|---|---|
| Project | Alt+1 | Version Control | Alt+9 |
| Run | Alt+4 | Debug | Alt+5 |
| Editor | Escape | Terminal | Alt+F12 |
当然,为了加速和方便开发人员的编码速度,IDEA提供了非常多的编辑快捷键,当活动窗口是Editor窗口时,我们可以使用如下的快捷键来加速编码:
| Action | Shortcut | Action | Shortcut |
|---|---|---|---|
| 移动当前行的代码 | Ctrl+Shift+Up/Down | 复制当前行的代码 | Ctrl+D |
| 删除当前行的代码 | Ctrl+Y | 添加/移除当前行的代码注释 | Ctrl+/ |
作为简介,我们在此处只给出部分的快捷键,本教程的后续部分会提供完整的快捷键。
搜索
在实际的项目开发工程中,开发成员进行需要进行搜索特定的代码、文件、资源等。为此,IDEA提供了强大地功能支持,可以实现快速、准确和便利的检索。实际上,Intellij IDEA 引入了索引的概念,通过这个索引机制,开发人员可以快速地对整个项目进行准确地全文检索,这种检索的速度对比与其他的IDE,比如Eclipse等,是非常快速的。当然,项目的索引需要一个建立的过程,在IDEA首次创建或者导入一个项目时,都需要扫描项目的所有文件并建立其该项目的索引结构。所以,IntelliJ IDEA 在首次启动某个项目时,会需要一段比较长的初始化时间,具体表现就是IDEA在创建项目初期会卡住一小段时间。但是,个人认为这个创建索引过程是值得的,在后期的整个项目开发过程中很快就可以获得加倍返还。
高效
为了提升开发人员的效率,Intellij IDEA 除了提供了快速的搜索功能之外,还提供了各种各样高效的导航功能。实际的编程过程中,我们经常需要查看某个类的父类、子类、实现接口、测试类、定义语句、引用位置等,对于源文件,我们可能需要查询其包路径、目录层次结构等。所有的这些查找需要,不经可以通过搜索功能实现,利用IDEA自带的高效导航机制更加方便。
缺点
正如你所预料的那样,Intellij IDEA 在具备这么多强大功能和特性的同时,不可能做到非常轻量。IDEA 是一个比较消耗内存的工具,但是,实际性能并不会比Eclipse差太多。对于利用IDEA作为前端开发工具而言,建议电脑具有4G以上的内存;对于把IDEA作为后端开发工具而言,建议电脑具有8G以上的内存。如果很不幸,你所在公司配备的开发机的性能很低,个人建议你考虑换一家公司。
安装 Intellij IDEA 2017
硬件要求
- 至少 1GB 内存,推荐 2GB 内存
- 至少 1GB+300MB 硬盘
- 屏幕分辨率至少 1024×768
- 如果是Java开发,需要安装JDK 1.8;
系统要求
- Microsoft Windows 10/8/7/Vista/2003/XP
- macOS 10.5+,必须 64 位机
- OS Linux 64 bit, KDE,GNOME 或者 Unity DE desktop
安装步骤
下载软件
根据操作系统的不同,Intellij IDEA 有三个版本,读者根据自己的实际情况选择下载:
- Windows: 下载后执行 .exe 文件,并按照向导安装即可。
- macOS:下载后打开 .dmg 包,并把IDEA拖入应用文件夹中即可。
- Linux:下载后解压 .tar.gz 压缩包,并放入读者的主目录下即可。
安装流程
本教程演示如何利用IDEA进行Java开发,所以,首先确认安装了 JDK 1.8+,且已配置好 JAVA_HOME等环境变量。
双击 .exe 文件,开启安装流程,整个过程非常简单,基本都是简单地点击 next 按钮就可以啦。
- 上图 标记A 表示创建的32位还是64位的IDEA快捷方式,建议选择64位。
- 上图 标记B 表示是否让IDEA关联 .java 和 .groovy 等文件,不建议勾选。应该让它们关联更加轻量的查看工具,比如 Notepad++ 等。
卸载旧版本
当电脑中已经安装了旧版本的 Intellij IDEA 后,又希望安装新版本的 IDEA 时,通过控制面板中的卸载程序功能并不能完成该软件的卸载。正确的方式是直接执行(双击)下载好的 IDEA 的 .exe 文件,利用此软件卸载 IDEA 的流程如图:
实际上,在 IDEA 的 .exe 文件执行过程中,其会自动检测电脑上是否已经安装了旧版本的 IDEA。如果有旧版本的 IDEA , 会在正常的安装流程之前插入卸载旧版本 IDEA 的流程。
总结
从 JetBrans 官方给出的 Intellij IDEA 的安装要求来看,似乎对于硬件的要求不是很高。但是,在实际的项目开发中,利用 IDEA 开发的都是 Java Web 项目,这个项目的最流行架构都是 Spring + Spring MVC + MyBatis,使用这三个框架的过程中,需要引入大量的框架 Jar 包到项目中,同时,还需要运行 Web 容器来测试项目代码。所以,实际的项目开发中,想要 Intellij IDEA 可以流畅地运行,只有 2G 内存的计算机已然不适合作为开发机。为了加速项目的搜索过程,IDEA引入了索引机制,让 Intellij IDEA 运行在具有 SSD 硬盘的电脑上会更加适合。
IntelliJ IDEA 2017 的目录结构
正常而言,一个软件安装完成之后,不需要用户去关心软件的安装目录和其中的文件才是合理的。但是,作为一名软件开发人员,为了能够更加深入地了解所使用的 IntelliJ IDEA 软件,本文将带来读者深入地来剖析一下 IntelliJ IDEA 安装后的文件和目录结构。
整体结构
首先,我们需要知道 IntelliJ IDEA 本身就是一个 Java 应用,所以必须运用于 JRE或者JDK之上。我们看一下该软件安装后的整体目录结构,如下图:
- bin 是 IDEA 的可执行代码目录。
- help 是 IDEA 的帮助文件目录。
- jre64 是 IDEA 自带的 JRE 环境,故 IDEA 可在未安装 JDK 的计算机上进行 PHP、Python等语言的编码。
- lib 是 IDEA 依赖的库文件目录,里面有很多的 Jar 文件。
- license 是 IDEA 的许可证文件目录。
- plugins 是 IDEA 的插件目录。
- redist 是 IDEA 中索引机制所依赖的 redist 库目录。
- 两个 .txt 说明文件和一个注册表项文件。
执行结构
如果只为了熟练掌握 IntelliJ IDEA 的使用和配置,仔细查看所有的文件和目录是没有必要的,本文主要看看其中的 bin 目录的几个重要文件。
- idea.exe 文件是 IntelliJ IDEA 32位的可执行文件。
- idea.exe.vmoptions 文件是 IntelliJ IDEA 32位的可执行文件的 JVM 配置文件。
- idea.properties 文件是 IntelliJ IDEA 的一切全局属性的配置文件。
- idea64.exe 文件是 IntelliJ IDEA 64位的可执行文件。
- idea64.exe.vmoptions 文件是 IntelliJ IDEA 64位的可执行文件的 JVM 配置文件。
idea64.exe.vmoptions 文件
正如我们前面所述,IntelliJ IDEA 本身就是一个 Java 引用,所以也必须运行于 JVM 之上。此处的 idea64.exe.vmoptions 文件就是用来配置64位的 IDEA 所使用的 JVM 参数。我们看一下该文件的默认内容:
- 对于是否需要修改该文件,需要具体情况具体分析。对于计算机内存配置大于 8G,开发的项目功能复杂的情况,个人建议进行适当的修改,具体修改值可以通过分析工具,比如 Jconsole等,进行实际情况分析。
idea.properties 文件
虽然 IntelliJ IDEA 分成了32位和64位两种,但是只存在一份 idea.properties 文件。该文件的主要作用是完成 IntelliJ IDEA 的一些个人化配置。该文件内容较多,我们只截图了其中的部分内容:
- 该文件中使用了几个属性变量,比如 $(idea.home.path) 代表了 IDEA 安装的顶级目录,$(user.home) 表示用户的根目录等。
- idea.config.path=${user.home}/.IntelliJIdea/config 指向 IntelliJ IDEA 的个性化配置目录,默认不启用。
- idea.system.path=${user.home}/.IntelliJIdea/system 指向 IntelliJ IDEA 的系统文件目录,默认不启用。
- idea.max.intellisense.filesize=2500 文件超过此处设置的大小后,关闭该文件的智能检查和提示等功能,有效消除大文件的卡顿问题。
- idea.cycle.buffer.size=1024 设置控制输出台的缓存大小,解决大项目时,控制台缓存溢出的问题。
个性配置
现存的三个主流操作系统中,无论是 Windows、macOS 还是 Liunx,都是支持多用户的。IntelliJ IDEA 支持同一台计算机上的多个用户使用不同的配置选项。所以,在用户的主目录下都具有 IDEA 的个性化配置目录,如下图所示:
- 该配置目录的最显著特点是:如果删除整个目录,重启 IntelliJ IDEA 会自动重新生成一个全新的默认配置目录。所以,我们完全可以对 IDEA 进行大胆地修改和配置尝试,一旦需要恢复配置,删除该配置目录就可以了。
- config 目录是 IntelliJ IDEA 个人性配置的保存目录,这个目录记录了该 IDE 的所有主要配置值、自定义的代码模板、自定义的快捷键、自定义的文件模板、插件的启用与停用记录等重要信息。实际上,安装新版本 IntelliJ IDEA 时的默认查找目录就是该目录。
- system 目录是 IntelliJ IDEA 的系统文件目录,这个目录记录了该 IDE 所管理的所有项目信息。该目录主要存储了项目的索引、缓存、容器文件输出等重要资料。
配置 IntelliJ IDEA 2017
在本系列教程的前一篇中,我们已经安装好了 IntelliJ IDEA,在首次运行 IntelliJ IDEA 时,一般会有一个关于配置 IDEA 的向导。如果该计算机从没有安装过 IntelliJ IDEA 的任何版本,那么会有配置向导;如果该计算机以前安装过旧版本的 IntelliJ IDEA,且没有删除掉 IDEA 的配置目录和文件,就不会有配置向导;如果该计算机以前安装过旧版本的 IntelliJ IDEA,且删除了 IDEA 的配置目录与文件,同样会有配置向导。
详细配置
配置向导中的第一步:
- 第一个选项:该计算机上已经有 IntelliJ IDEA 的旧配置文件,可能在默认的位置,也可以手动指定其位置。
- 地二个选项: 该技术机上没有 IntelliJ IDEA 的旧配置文件,或者不想使用旧配置文件。
配置向导的第二步:
- 第一组选项:选择激活或者试用,还有一个购买激活码的入口。
- 第二组选项:选择激活方式,有三种激活方式。
此处,我们使用了 License server 的方式,具体如下图所示:
配置向导的第三步:
- 选择 UI 主题,提供了两种主题:IntelliJ 和 Darcula,通过图片的预览可以看出大概的模样,根据自己的审美选择即可。
配置向导的第四步:
- 选择扩展插件与工具,IDEA将所支持的工具分成了几个大类,可结合实际情况进行定制。此处选择的工具越多,IDEA 消耗的计算机资源也越多,强烈建议读者自我定制。当然,后期也可以在配置项中进行定制。通过点击某类下方的 Customize 按钮可进一步定制该类的细分工具或功能。我们看一下点击 Java Frameworks 按钮后的界面:
- 如上图所示,我们可以定制 IntelliJ IDEA 所支持的所有 Java Frameworks。对于不想支持的框架,建议去掉勾选以减轻 IDEA 的负担,如果后期有需要,可以很方便地在配置中进行修改。
配置向导的第五步:
- IDEA不仅支持定制化自带的很多工具和插件,而且还支持第三方或者社区开发的插件与工具。我们可以在此处选择是否安装一些热门的插件与工具,读者根据实际情况选择即可。如果后期有需要,可以很方便地在配置中进行修改。
配置向导的第六步:
- 一切都配置妥帖后,点击 Start using IntelliJ IDEA 就可以开始正式使用该工具了。
总结
本文以图文的形式,详细地介绍了 IntelliJ IDEA 首次运行时的配置过程。从此过程中,我们可以看出 IDEA 作为一个支持多种编程语言和平台的IDE,为了减轻软件负担和提升IDE的使用体验,在首次运行时提供了个性化配置功能。读者在参考本文的同时,应该根据自己的实际情况进行配置。