宇宙最强集成开发环境——IDEA
宇宙最强集成开发环境——IDEA
邸浩哲Geo认识 IntelliJ IDEA
JetBrains 公司介绍
IntelliJ IDEA,是 JetBrains 公司的产品,该公司成立于 2000 年,总部位于捷克的布拉格,致力于为开发者打造最高效智能的开发工具。
公司旗下还有其它产品,比如:
- WebStorm:用于开发 JavaScript、HTML 5、CSS 3 等前端技术。
- PyCharm:用于开发 python。
- PhpStorm:用于开发 PHP。
- RubyMine:用于开发 Ruby/Rails。
- AppCode:用于开发 Objective-C/Swift。
- CLion:用于开发 C/C++。
- DataGrip:用于开发数据库和 SQL。
- Rider:用于开发 .NET。
- GoLand:用于开发 Go。
用于开发 Android 的 Android Studio,也是 Google 基于 IDEA 社区版进行迭代的。
IntelliJ IDEA 介绍
IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,目前已经基本代替了 Eclipse 的使用。
IDEA 在业界被公认为是最好的 Java 开发工具(之一),因其功能强悍、设置人性化,而深受 Java、大数据、移动端程序员的喜爱。
IDEA 的主要优势:(vs Eclipse)
功能强大
- 强大的整合能力。比如:Git、Maven、Spring 等。
- 开箱即用的体验(集成版本控制系统、多语言支持的框架随时可用,无需额外安装插件)。
符合人体工程学
- 高度智能(快速的智能代码补全、实时代码分析、可靠的重构工具)。
- 提示功能的快速、便捷、范围广。
- 好用的快捷键和代码模板。
- 精准搜索。
IDEA 的下载
官方网站: https://www.jetbrains.com/idea/download/#section=windows
IDEA 分为两个版本: 旗舰版(Ultimate)和社区版(Community)。
IDEA 的大版本每年迭代一次,大版本下的小版本(如:2022.x)迭代时间不固定,一般每年 3 个小版本。
工程与模块管理
IDEA 项目结构
层级关系
project(工程)- module(模块)- package(包)- class(类)
具体的
一个 project 中可以创建多个 module
一个 module 中可以创建多个 package
一个 package 中可以创建多个 class
这些结构的划分,是为了方便管理功能代码。
Project 和 Module 的概念
在 IntelliJ IDEA 中,提出了 Project 和 Module 这两个概念。
在 IntelliJ IDEA 中 Project 是最顶级的结构单元,然后就是 Module。
目前,主流的大型项目结构基本都是多 Module 的结构,这类项目一般是按功能划分的,比如:user-core-module、user-facade-module 和 user-hessian-module 等等,模块之间彼此可以相互依赖,有着不可分割的业务关系。
因此,对于一个 Project 来说:
- 当为单 Module 项目的时候,这个单独的 Module 实际上就是一个 Project。
- 当为多 Module 项目的时候,多个模块处于同一个 Project 之中,此时彼此之间具有互相依赖的关联关系。
- 当然多个模块没有建立依赖关系的话,也可以作为单独一个小项目运行。
创建 Module
建议创建Empty 空工程,然后创建多模块,每一个模块可以独立运行,相当于一个小项目。
IDEA 断点调试(Debug)
为什么需要 Debug
编好的程序在执行过程中如果出现错误,该如何查找或定位错误呢?简单的代码直接就可以看出来,但如果代码比较复杂,就需要借助程序调试工具(Debug)来查找错误了。
运行编写好的程序时,可能出现的几种情况:
- 情况 1:没有任何 bug,程序执行正确!
- 情况 2:运行以后,出现了错误或异常信息。但是通过日志文件或控制台,显示了异常信息的位置。
- 情况 3:运行以后,得到了结果,但是结果不是我们想要的。
- 情况 4:运行以后,得到了结果,结果大概率是我们想要的。但是多次运行的话,可能会出现不是我们想要的情况。
比如:多线程情况下,处理线程安全问题。
Debug 的步骤
Debug(调试)程序步骤如下:
- 添加断点。
- 启动调试。
- 单步执行。
- 观察变量和执行流程,找到并解决问题。
IDEA 常用插件
插件 1:Alibaba Java Coding Guidelines
阿里巴巴 Java 编码规范检查插件,检测代码是否存在问题,以及是否符合规范。
使用:在类中,右键,选择编码规约扫描,在下方显示扫描规约和提示。根据提示规范代码,提高代码质量。
插件 2:jclasslib bytecode viewer
可视化的字节码查看器。
使用:
- 在 IDEA 打开想研究的类。
- 编译该类或者直接编译整个项目(如果想研究的类在 jar 包中,此步可略过)。
- 打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项。
- 选择上述菜单项后 IDEA 中会弹出 jclasslib 工具窗口。
插件 3:GenerateAllSetter
实际开发中还有一个非常常见的场景: 我们创建一个对象后,想依次调用 Setter 函数对属性赋值,如果属性较多很容易遗漏或者重复。
可以使用这 GenerateAllSetter 提供的功能,快速生成对象的所有 Setter 函数(可填充默认值),然后自己再跟进实际需求设置属性值。
插件 4:Rainbow Brackets
给括号添加彩虹色,使开发者通过颜色区分括号嵌套层级,便于阅读。
插件 5:CodeGlance Pro
在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。
插件 6:Statistic
代码统计工具。
插件 7:Presentation Assistant
显示快捷键操作的按键。
插件 8:Key Promoter X
快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。