IntelliJ IDEA

news2025/1/16 8:16:19

特色功能

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的很多实际功能的确走在时代的前列,至于其存在的问题我们不如包容点,毕竟有些问题在现在的硬件基础上根本就不能算是问题。

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据治理:数据标准的6大建设步骤及实施分享

“车同轨、书同文”,数字化时代,数据标准化是企业进行数字化转型的根基。数据标准与企业数据管理的每个域都相关,是数据治理工作的最基础内容。 元数据管理中,需要从业务属性、技术属性、管理属性三个方面定义数据标准&#xff1b…

第54篇-某网易易盾滑块请求data参数分析【2022-11-16】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、流程分析三、data参数1.d值2.p值3.ext值一、前言 在很久以前我们使用selenium+OpenCV模拟过一次易盾盾滑块…

学习大数据之后可以做什么?未来发展怎么样?

当下,有很多小伙伴看中了大数据开发的前景,从而选择了学习大数据的行列当中来,只能说,坚持你的选择没有错~ 当下来看,可以说大数据是一种宝贵的战略资源,其潜在价值和增长速度正在改变着人类的工作、生活和…

人人开源搭建后台管理系统 逆向工程生成CRUD代码

一、什么是人人开源 也就是说和若依类似,都是快速帮我们开发一些简单的逻辑代码的,可以帮我们自动生成代码。 二、具体操作 我们现在就以renren-fast作为后台管理系统框架,用renren-fast-vue作为前端系统框架进行开发项目 具体操作如下所示&a…

做好一个BI项目的关键是什么

做好一个BI项目的关键是什么?有人会说,那肯定是报表,报表是数据分析最直接的成果展示,好的报表能够帮助企业从各种纷杂的信息中及时地发现关键有效的信息,从而为决策提供支持。诚然,报表很重要,…

SPI通信协议

目录一、什么是SPI协议二、SPI物理层三、SPI协议层一、什么是SPI协议 SPI(Serial Peripheral Interface,串行外围设备接口)通讯协议,是 Motorola 公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线&a…

【PTA-训练day7】L2-019 悄悄关注 + L1-027 出租

L2-019 悄悄关注 - 哈希表 PTA | 程序设计类实验辅助教学平台 1、java - 喜闻乐见超时 import java.util.*;public class Main {public static void main(String[] args){Scanner scnew Scanner(System.in);int nsc.nextInt();String[] namesc.nextLine().split(" "…

Centos7.6 源码编译部署percona mysql 5.7.39-42

Centos7.6 源码编译部署percona mysql 5.7.39-42 参考链接: mysql5.7.35源码编译安装部署CentOS7 编译安装 Percona Server 5.7percona Server for MySQL 5.7源码安装 一、部署环境准备 更换阿里云yum源 cd /etc/yum.repos.d/ mkdir bak && mv *.repo ba…

[附源码]java毕业设计江苏策腾智能科技公司人事管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

第1关:节点监听机制

ZooKeeper的监听机制 节点监听机制用以保证集群之间的一致性,以及服务器可以及时通知客户端节点状态的变化。 一个节点可以被监控,包括路径中存储的数据修改,子节点路径改变,当该节点发生修改,服务器可以通知设置监控…

AVS3帧间预测

帧间预测是去除时域冗余的重要工具,随着AVS标准发展,越来越多的帧间预测工具被加入标准,主要可以分为三类:预测编码类型、运动信息编码工具、CU级和子块级运动补偿。 预测编码类型 预测编码类型是指帧间预测的不同预测方式&#…

年产5000吨芒果醋工厂设计

摘要 - 1 - 1 绪论 - 6 - 1.1 概述 - 6 - 1.1.1 芒果醋的价值 - 6 - 1.1.2 芒果醋的市场贸易需求 - 6 - 1.1.3 国内芒果醋行业发展现状 - 7 - 1.2 本课题研究的意义 - 7 - 1.3 本课题的研究内容 - 8 - 1.4 设计原则 - 8 - 2 厂址选择 - 8 - 2.1 厂址选择 - 8 - 2.2 气温 - 9 - …

21、池化技术和线程池的使用(三大方法,7大参数,4种拒绝策略)

池化技术和线程池的使用(三大方法,7大参数,4种拒绝策略) 池化技术:事先准备好一些资源,有需要用就拿,用完再还回来线程池的好处: *降低资源的消耗:线程的不停的创建销毁…

【LeetCode 力扣】2.两数相加 Java实现 模拟 递归

题目链接:2.两数相加 1 原题描述: 2 解题思路 初看此题,其实并不难理解,我们只需要简单对加法过程进行一个模拟,即可完成。那么我们应该怎么模拟呢?首先观察题目,链表是采用的 逆序 存储&…

[旭日X3派] 初识篇 - 01

简单介绍一下 旭日X3派: 地平线旭日️ X3 派是一款面向生态开发者的嵌入式 AI 开发板,接口兼容树莓派,具有 5 TOPS 端侧推理与 4 核 ARM A53 处理能力。 可同时多路 Camera Sensor 的输入并支持 H.264/H.265 编解码。 结合地平线的高性能 A…

什么是JUC

什么是JUC JUC指的是:Java里的三个包 java.util.concurrentjava.util.concurrent.atomic:原子性java.util.concurrent.locks:lock锁回顾线程和进程 进程 程序执行的一次过程,一个进程包含一个或多个线程。进程是资源分配的单位 …

【毕业设计】深度学习行人重识别系统 - person reid

文章目录0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图4 实现效果5 部分代码6 最后0 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问…

Linux NetCore下Pdf转图片 内存溢出

Linux NetCore下Pdf转图片 内存溢出Linux PDF转图片异常查看libgdiplus版本解决方案NetCore 3.1下面调用Pdf转图片的组件,在本地windows环境下转换正常,但是到容器里面就会转换失败,查看命令行日志可以看到如下错误。 Linux PDF转图片异常 …

web期末大作业:基于html+css+js制作 学校班级网页制作----校园运动会 4页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 校园班级网页设计 | 我的班级网页 | 我的学校 | 校园社团 | 校园运动会 | 等网站的设计与制作 | HTML期末大学生网页设计作业 HTML:结构 …

source 命令的用法(与 sh Filename、./Filename的区别)

source 命令简单来说,就是读取脚本里的语句,并在当前Shell中执行,脚本里面所有新建、改变变量的语句都会保存在当前shell里。 目录 1、source 命令的使用方法 2、source命令的妙用 3、source Filename 和 ./Filename的区别 1、source 命令…