天天编码 , 版权所有丨本文标题:Intellij IDEA 2017 详细图文教程之概述 
转载请保留页面地址:http://www.tiantianbianma.com/intellij-idea-tutorial-overview.html/

我使用Eclipse已经3年之久,我很了解它,我为它编写过简单的插件并真心地喜爱它。从我开始学习Java编程语言,使用的第一个IDE就是Eclipse,我相信绝大数人也是如何。然后,一年前,我进入了一家中型的互联网公司(外资),并被强行要求使用IDEA开发,在经过短短地三个月后,我就意识到为什么IDEA更加敏锐。如今,我已经使用IDEA一年多,我极力地推荐大家使用Intellij IDEA ,提高开发效率并获得更高的工资。

简介

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工具的一些特点,而没有很深入地去比较IDEA与Eclipse的优缺点,是希望读者大胆尝试和有自己的判断。个人一点不成熟的小建议:如果你是一个正经的Java开发者,你希望利用更快更方便的工具帮你集中注意于解决问题而不是让你分心,推荐你学习本教程,熟练掌握 IDEA。这样就可以提高开发效率,早日升职加薪,当上总 … 。

Intellij IDEA 2017 详细图文教程之概述的更多相关文章

  1. IntelliJ IDEA 2017新工具

    IntelliJ IDEA 2017 教程之概述 图文详解如何安装 Intellij IDEA 2017 深入剖析 IntelliJ IDEA 2017 的目录结构 图文详解如何配置 IntelliJ ...

  2. IntelliJ IDEA 2017 注册方法

    本文使用破解方式注册. JetbrainsCrack-2.6.2.jar适用于ideaIU-2017.2.之前版本,若下载的版本较新破解文件可能无法使用,破解时一闪而退. 其中JetbrainsCra ...

  3. intellij idea 2017和Jprofiler 10的集成 报错问题

    本来想用Jprofiler来分析一下自己写的Java项目,以提高代码执行效率和自己的编码能力.结果,官网和网上很多帖子都写了点出session->IDE integrations->选择i ...

  4. IntelliJ IDEA 2017.2.6 x64 配置 tomcat 启动 maven 项目

    IntelliJ IDEA 2017.2.6 x64 配置 tomcat 启动 maven 项目 1.确认 IDEA 是否启用了 tomcat 插件 2.添加 tomcat 选择 tomcat 存放路 ...

  5. IntelliJ IDEA 2017.3.1安装步骤

    https://www.jetbrains.com/idea/download/#section=windows 下载旗舰版 1.下载完成后,运行安装: 2.next: 3.选择你要安装的目录,nex ...

  6. Windows10 + IntelliJ IDEA 2017.3.2 + wamp2e + Yii + PHPunit 搭建测试环境

    一.环境 系统: windows10 WampServer:  wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-32b.exe IDE:  Intel ...

  7. Windows10 + IntelliJ IDEA 2017.3.2 + wamp2e + xdebug 调试 配置

    一.环境 系统: windows10 WampServer:  wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-32b.exe IDE:  Intel ...

  8. IntelliJ IDEA 2017 永久注册方法

    https://blog.csdn.net/weixin_39913200/article/details/80859897 在安装的idea下面的bin目录下面有2个文件 : 一个是idea64.e ...

  9. Idea for Mac 过期 IntelliJ IDEA 2017 完美注册方法(附idea for Mac破解方法)

    Idea 不能使用了: 开始破解: (1)首先下载 jar包: https://download.csdn.net/download/engerla/10573069 放到位置: /Applicati ...

随机推荐

  1. 从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray)

    从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray) deque deque双端队列,分段连续空间数据结构,由中控的map(与其说map,不如说是数 ...

  2. Python 基础 (单、双引号区别) 不断补充

    最近开始学习Python ,一些小细节的东西不是很理解,所以就记录一下,方便自己以后查看. 我的Python环境: Mac pro 10.12.3,Python3.5 ,Pycharm 多句题外话:公 ...

  3. validateform正则表达式 datatype验证数字

    正则表达式验证正数负数 浮点数/^\-?[0-9]+(.[0-9]+)?$/ datatype="/^\-?[0-9]+(.[0-9]+)?$/"

  4. 国内互联网公司github网址

    -----------------------------------------------------推荐技术------------------------------------------- ...

  5. ReactiveCocoa源码解析(四) Signal中的静态属性静态方法以及面向协议扩展

    上篇博客我们聊了Signal的几种状态.Signal与Observer的关联方式以及Signal是如何向关联的Observer发送事件的.本篇博客继续上篇博客的内容,来聊一下Signal类中静态的ne ...

  6. 青出于蓝而胜于蓝 — Vue.js对Angular.js的那些进步

    Angular.js与Vue.js是非常有渊源的两款前端框架,据Vue.js的官方网站描述,在其早期开发时,灵感来源就是Angular.js.而在很多方面,Vue.js也正像是中国的那句古话,&quo ...

  7. python迭代器生成器(一)

    for循环可以用于python中任何序列类型,包括序列.元组以及字符串.例如: >>> for x in [1,2,3,4]: print(x * 2,end='')...2468 ...

  8. Grafana中整个Dashboard报错问题解决

    操作Grafana时,有时不小心按了"CTRL+Z",会导致整个Dashboard出错,如下所示: 目前找到一个解决方案,也许不是正路,但是能解决上述问题,如果有了更简单有效的解决 ...

  9. 恐怖的ifdown eth0;0

    下午闲的蛋疼,随手给测试机配了个浮动地址eth0:0. ping了下OK,内网访问没问题. 准备收手的时候,瞄了一眼ifcfg-eth0:0的配置,发现广播地址BROADCAST写成了BOADCAST ...

  10. js验证表单密码、用户名是否输入--JS的简单应用

    在登录.注册时,我们经常会遇到下面这种情况,如果我们没有输入用户名.密码时,系统会弹出提示框.提示框信息提示内容是我们密码没有输入密码或者用户名等.那么这样的弹出框效果是如何实现的呢?文章标题既然与j ...