IntelliJ IDEA是一款由
捷克的
JetBrains公司开发的Java集成开发环境(IDE)工具软件。它支持Java、
Kotlin、
Groovy等JVM-based语言的开发,被广泛认为是最好的Java开发工具之一。该软件具有智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(如git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等超常的功能。IntelliJ IDEA的旗舰版本还支持
HTML、
层叠样式表、
PHP、
MySQL、
Python等语言。该软件提供
apache 2.0开放式授权的社区版本以及商业版本,两者均可用于商业开发。免费版只支持Java、
Kotlin等少数语言。
主要功能
IntelliJ IDEA能尽可能地促进程序员的编程速度。它包括了很多辅助的功能,并且与Java结合得相当好。不同的工具窗口围绕在主编程窗口周围,当鼠标点到时即可打开,无用时也可轻松关闭,使用户得到了最大化的有效屏幕范围。以技术为导向的IDEA集成了调试器,支持本地和远程的调试,即使我们需要修改一些设置上的东西使我们的工作顺利进展。另外,它还提供了通常的监视,分步调试以及手动设置断点功能,在这种断点模式下,我们可以自动地在断点之外设置现场访问,甚至可以浏览不同的变量的值。
集成开发环境支持多重的
JavaOS设置,几个编译程序和Ant建造系统,并且,它使得设置多重的自定义的类途径变得简单。
IntelliJ IDEA是一个相对较新的Java IDE。它是Java
开发环境中最为有用的一个。高度优化的IntelleJ Idea使普通任务变得相当容易,Idea支持很多整合功能,更重要的使它们设计的好容易使用。Idea支持
XML中的代码实现,Idea同时还会校正XML,Idea支持JSP的结构。作用于普通Java代码的众多功能同样适用于JSP(比如整合功能),同时支持JSP调试;支持EJB,尽管它不包括对个别应用服务器的特殊支持。Idea支持Ant建立工具,不仅是运行目标它还支持编译与运行程序前后运行目标,另外也支持绑定
键盘快捷键。在编辑一个Ant建立
XML文件时,Idea还对组成Ant工程的XML部分提供支持。IntelliJ IDEA 被称为是最好的JAVA IDE开发平台,这套软件就是以其聪明的即时分析和方便的 refactoring 功能深获大家所喜爱。缺点是较复杂,对初学者来说,理解起来比较困难。
IntelliJ IDEA以前是收费软件,不过在2009年以后就开始推出了免费的社区开源版本。
特色功能
IDEA所提倡的是智能编码,是减少程序员的工作,IDEA的特色功能有以下22点:
● 智能的选取
在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA就提供这种基于语法的选择,在默认设置中
ctrl+W,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
● 丰富的导航模式
IDEA提供了丰富的导航查看模式,例如Ctrl+E显示最近打开过的文件,Ctrl+N显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的project视图中,你还可以选择多种的视图方式。
● 历史记录功能
不用通过版本管理服务器,单纯的IDEA就可以查看任何工程中文件的历史记录,在版本恢复时你可以很容易的将其恢复。
● JUnit的完美支持
● 对重构的优越支持
IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
● 编码辅助
Java规范中提倡的toString()、hashCode()、equals()以及所有的get/set方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
基本所有的IDE都有重排版功能,但仅有IDEA的是人性的,因为它支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
XML全提示支持:所有流行框架的xml文件都支持全提示,谁用谁知道。
● 动态语法检测
任何不符合java规范、自己预定义的规范、累赘都将在页面中加亮显示。
● 代码检查
对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
● 对JSP的完全支持
● 智能编辑
代码输入过程中,自动补充方法或类。
● EJB支持
不需要任何插件完全支持EJB(6.0 支持EJB3.0)
● 列编辑模式
用过UtralEdit的肯定对其的列编辑模式赞赏不已,因为它减少了很多无聊的重复工作,而IDEA完全支持该模式,从而更加提高了
编码率。
● 预置模板
预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的public static void main(String[] args){}你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。
● 完美的自动代码完成
智能检查类中的方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
● 版本控制完美支持
集成了市面上常见的所有
版本控制工具
插件,包括
Git、svn、
GitHub,让开发人员在编程的工程中直接在intellij idea里就能完成代码的提交、检出、解决冲突、查看版本控制服务器内容等等。
● 不使用代码的检查
自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
● 智能代码
自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij " + "IDEA"; IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为:String str = "Hello Intellij IDEA";
查找和替换支持正则表达式,从而提高效率。
● JavaDoc预览支持
支持
javadoc的预览功能,在JavaDoc代码中
ctrl+Q显示JavaDoc的结果,从而提高doc文档的质量。
● 程序员意图支持
程序员编码时IDEA时时检测你的意图,或提供建议,或直接帮你完成代码。
优点
最突出的功能自然是调试(Debug),可以对Java代码,
ECMAScript,JQuery,Ajax等技术进行调试。
比如查看Map类型的对象,如果实现类采用的是哈希映射,则会自动过滤空的Entry实例。
其次,需要动态Evaluate一个表达式的值,比如我得到了一个类的实例,但是并不知晓它的API,可以通过Code Completion点出它所支持的方法。
最后,在
多线程调试的情况下,Log on console的功能可以帮你检查多线程执行的情况。
版本概述
2001年1月发布IntelliJ IDEA 1.0版本,同年七月发布2.0,接下来基本每年发布一个版本(2003除外),当然每年对各个版本都是一些升级。3.0版本之后,IDEA屡获大奖,其中又以2003年的赢得的“Jolt Productivity Award”,“JavaWorld Editors’s Choice Award”为标志,从而奠定了IDEA在IDE中的地位。
版本为2018.2.2,2018年8月发布,更新版本为18.2.2。IDEA的宗旨:“Develop with pleasure”。
目前最新版本IntelliJ IDEA 2020.3 在调试器中添加了交互式提示和内联监视,改进了对 Java 15 的支持,并引入了对 Git 暂存的支持以及各种其他功能。
IntelliJ IDEA分为Ultimate Edition 旗舰版和Community Edition 社区版本,旗舰版可以免费试用30天,社区版本免费使用,但是功能上对比旗舰版有所缩减。
快捷键
1.写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法。
2.按
ctrlN再键入类的名字可以快速地在编辑器里打开任何一个类。从显示出来的下拉列表里选择类。同样的方法你可以通过使用Ctrl-Shift-N打开工程中的非Java文件。
3.Ctrl-D复制当前行,Ctrl-Y删除当前行。
4.Ctrl-Shift-U,Ctrl+Shift+Alt+U显示类继承结构图,再按Alt-M。
6.Ctrl-Shift-V 粘贴最近复制过的一些信息。
7.
ctrlShift-F7 高亮显示所有该文本,按Esc高亮消失。
8.Ctrl-E 最近打开的文件。
9.Ctrl-P 方法参数提示。
10.Alt+ Up/Down 在方法间快速移动定位。
11.Ctrl+W 选中代码,连续按会有其他效果。
12.Shift + F6 选中目录结构的文件,重命名。
13.Ctrl + Alt + F12 进入当前文件所在
磁盘位置。
14.Ctrl + Shift + F搜索文件。
15.
ctrl + Shift + R 搜索指定范围文件,替换文字。
16.Ctrl + Shift +W 返回上一次选择的代码块状态。
17.Ctrl + Shift + J 自动将下一行合并到当前行末尾。
16.Ctrl + Tab Switcher 导航 与 Ctrl + E 类似效果。
17.Ctrl + Shift + C 复制当前文件
磁盘路径到剪贴板。
系统要求
Windows
Mac OS X
总结
尽管IDEA还有些不足,但作为一个超过10年生命力还如此强劲的IDEA,得到如此的美誉并不简单。更何况IDEA的很多实际功能的确走在时代的前列,至于其存在的问题我们不如包容点,毕竟有些问题在现在的硬件基础上根本就不能算是问题。
当然,无论如何的夸它,都只是别人的体验,若真想了解它,唯一的方法就是自己亲自去体验。
参考资料
Warning: Invalid argument supplied for foreach() in
/www/wwwroot/newbaike1.com/id.php on line
362