什么是IDEA

IDEA 全称 IntelliJ IDEA,是 Java 语言开发的集成环境,IntelliJ 在业界被公认为最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、各类版本工具(git、svn、github 等)、JUnit、CVS 整合、代码分析、 创新的 GUI 设计等方面的功能可以说是超常的。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持 HTML,CSS,PHP,MySQL,Python 等。免费版只支持 Java 等少数语言。

特色功能

  • 智能的选取:在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA就提供这种基于语法的选择,在默认设置中 Ctrl + W,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
  • 丰富的导航模式:IDEA 提供了丰富的导航查看模式,例如 Ctrl + E 显示最近打开过的文件,Ctrl + N 显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的 Project 视图中,你还可以选择多种的视图方式。
  • 历史记录功能:不用通过版本管理服务器,单纯的 IDEA 就可以查看任何工程中文件的历史记录,在版本恢复时你可以很容易的将其恢复。
  • JUnit 的完美支持
  • 对重构的优越支持:IDEA 是所有 IDE 中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
  • 编码辅助:Java 规范中提倡的 toString()、hashCode()、equals() 以及所有的 get/set 方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
  • 灵活的排版功能:基本所有的 IDE 都有重排版功能,但仅有 IDEA 的是人性的,因为它支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
  • XML 的完美支持:XML 全提示支持:所有流行框架的 XML 文件都支持全提示,谁用谁知道。
  • 动态语法检测:任何不符合 Java 规范、自己预定义的规范、累赘都将在页面中加亮显示。
  • 代码检查:对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
  • 对 JSP 的完全支持:不需要任何的插件,完全支持 JSP。
  • 智能编辑:代码输入过程中,自动补充方法或类。
  • EJB 支持:不需要任何插件完全支持 EJB(6.0 支持 EJB 3.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 时时检测你的意图,或提供建议,或直接帮你完成代码。

IDEA 简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

  10. 1.Hibernate简介

    1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发;           b.大大减少代码量;           c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...

随机推荐

  1. Core3.0中Swagger使用JWT

    前言 学习ASP.NETCore,原链接 https://www.cnblogs.com/laozhang-is-phi/p/9511869.html 原教程是Core2.2,后期也升级到了Core3 ...

  2. ribbon源码分析

    对于ribbon的使用我们只需要在RestTemplate的申明上面加上 @LoadBalanced 注解之后那么这个RestTemplate就具有了负载均衡的功能 ribbon是怎么实现这一功能的? ...

  3. 线程 - AtomicInteger

    原理 AtomicInteger是如何使用非阻塞算法来实现并发控制的 性能提升 避免多线程的优先级倒置和死锁情况的发生 任然可能存在问题 ABA问题 CAS原理 调整具有竞争的并发应用程序的可伸缩性的 ...

  4. Centos7对外开放端口

    (1)查看对外开放的端口状态 查询已开放的端口 netstat -anp 查询指定端口是否已开 firewall-cmd --query-port=666/tcp 提示 yes,表示开启:no表示未开 ...

  5. [Deep Learning] 神经网络编程基础 (Basics of Neural Network Programming) - 逻辑回归-梯度下降-计算图

    在神经网络中,假如有m个训练集,我们想把他们加入训练,第一个想到得就是用一个for循环来遍历训练集,从而开始训练.但是在神经网络中,我们换一个计算方法,这就是 前向传播和反向传播. 对于逻辑回归,就是 ...

  6. MVC和WebApi路由机制比较

    1.MVC使用的路由 在MVC中,默认路由机制是通过解析url路径来匹配Action.比如:/User/GetList,这个url就表示匹配User控制器下的GetList方法,这是MVC路由的默认解 ...

  7. JavaDailyReports10_06

    今日收获: 一.所有引用类型变量的初始化一定要使用new 关键字定义声明,空指针异常的错误原因可能是变量没有初始化导致的. 每一个类体的数据成员一定要在实例化的同时赋值,用一个实例化的类实现问题中最小 ...

  8. Linux性能优化:CPU性能分析工具--vmstat

    Blog:博客园 个人 目录 参数说明 输出信息说明 procs memory swap io system cpu 示例 vmstat是Virtual Meomory Statistics(虚拟内存 ...

  9. 使用sqoop将mysql数据导入到hive中

    首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表 ...

  10. eclipse开启的时候adb.exe会自动开启么 怎么让它跟着eclipse自动开启

    会的,Eclipse 参数页中的 General > Startup and Shutdown 中默认 Android Development Tools 是自动激活的,它会启动 adb.exe ...