天天编码 , 版权所有丨本文标题: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. [转] .NET领域驱动设计—初尝(原则、工具、过程、框架)

    阅读目录: 1.原则 1.1.精简聚合 1.2.分离用例与接口功能(设计模式的用武之地) 2.工具.框架.组件 3.过程 1]原则 原则对于任何一项技术实现来说都是至关重要的,在设计某一个系统功能的时 ...

  2. docker registry私有仓库部署

    私有仓库服务端:12.40[root@centos7_golang ~]# docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry ...

  3. 【JavaScript学习】-事件响应,让网页交互

    什么是事件: JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件. 比如说,当用户单 ...

  4. watchdog(IWDG)

    1.为了避免程序忙跑跑死了没反应,加上一个看门狗watchdog实时监控着程序,一旦程序没有在规定的时间喂狗,则狗叫使得单片机复位. 2.Independent watchdog(IWDG)内部有时钟 ...

  5. 如何使程序运行在UI线程

    context.runOnUiThread(new Runnable() { @Override public void run() { _prop = new Prop(buyType, money ...

  6. String,StringBuffer与StringBuilder

    1. String,StringBuffer与StringBuilder的区别 String:存储在常量池中:是不可变的字符序列,任何对String值的改变都会引发新的String对象的生成,因此执行 ...

  7. Java基础(4)-数组

    java数组 public class ArrayKnowledge { @SuppressWarnings("unused") public static void main(S ...

  8. Java IO学习笔记(四)打印流

    1.只有输出流才有打印流:PrintWriter和PrintStream分别针对字符和字节,提供了重载的print,Println方法用于多种数据类型的输出.PrintWriter和PrintStre ...

  9. webpack教程(三)——热刷新

    现在我们如果修改代码,需要重新打包,再一次在命令行下输入webpack命令,很麻烦. 热刷新是什么呢?就是我们该完代码保存之后webpack会自动打包引起浏览器自动刷新,你只需要把精力都专注在代码研发 ...

  10. php 时间问题

    获得简单的日期 date() 函数的格式参数是必需的,它们规定如何格式化日期或时间. 下面列出了一些常用于日期的字符: d - 表示月里的某天(01-31) m - 表示月(01-12) Y - 表示 ...