IntelliJ IDEA
admin
2024-01-25 14:14:12
0

特色功能

IDEA所提倡的是智能编码,是减少程序员的工作,IDEA的特色功能有以下22点[1] :

● 智能的选取

在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,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 支持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代码,JavaScript,JQuery,Ajax等技术进行调试。

9c16fdfaaf51f3de860bd3ca94eef01f3b2979e6

IntelliJ IDEA与其他IDE对比图

比如查看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 2022.1.2 在调试器中添加了交互式提示和内联监视,改进了对 Java 17 的支持,并引入了对 Git 暂存的支持以及各种其他功能。[2]

IntelliJ IDEA分为Ultimate Edition 旗舰版和Community Edition 社区版本,旗舰版可以免费试用30天,社区版本免费使用,但是功能上对比旗舰版有所缩减。

快捷键

1.写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法。

2.按Ctrl-N再键入类的名字可以快速地在编辑器里打开任何一个类。从显示出来的下拉列表里选择类。同样的方法你可以通过使用Ctrl-Shift-N打开工程中的非Java文件。

3.Ctrl-D复制当前行,Ctrl-Y删除当前行。

4.Ctrl-Shift-U,Ctrl+Shift+Alt+U显示类继承结构图,再按Alt-M。

5.Alt-F1 回到当前文件所在的目录结构。

6.Ctrl-Shift-V 粘贴最近复制过的一些信息。

7.Ctrl-Shift-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 复制当前文件磁盘路径到剪贴板。[3]

系统要求

Windows

  • Microsoft Windows 10/8/7 (incl.64-bit)

  • 4 GB RAM minimum, 8 GB RAM recommended

  • 2 GB hard disk space + at least 1 G for caches

  • 1024×768 minimum screen resolution

  • JDK 1.6 or higher

Mac OS X

  • Mac OS X 10.5 or higher, up to 10.9 (Mavericks)

  • 4 GB RAM minimum, 8 GB RAM recommended

  • 2 GB hard disk space + at least 1 GB for caches

  • 1024×768 minimum screen resolution

  • Java 6

Linux

  • GNOME or KDE desktop

  • 4 GB RAM minimum, 8 GB RAM recommended

  • 2 GB hard disk space + at least 1 GB for caches

  • 1024×768 minimum screen resolution

  • Oracle JDK 6 or JDK 7

总结

尽管IDEA还有些不足,但作为一个超过10年生命力还如此强劲的IDEA,得到如此的美誉并不简单。更何况IDEA的很多实际功能的确走在时代的前列,至于其存在的问题我们不如包容点,毕竟有些问题在现在的硬件基础上根本就不能算是问题。

当然,无论如何的夸它,都只是别人的体验,若真想了解它,唯一的方法就是自己亲自去体验。

 

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...