IDEA使用教程(上)
一、介绍
IDEA全称IntelliJ IDEA,是java语言开发的集成环境。idea提倡的是智能编码,目的是减少程序员的工作,其特色功能有智能的选取、丰富的导航模式、历史记录功能等,最突出的功能是调试(Debug),可以对Java代码、javascript、JQuery等技术进行调试。首先,如果你做开发的话,肯定少不了开发工具,不过现在主流的java开发工具有传统的eclipse变成了IDEA,因为它开发更方便,更快捷。
二、IDEA的优点
1.智能的选取。在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取IDEA就提供这种基于语法的选择,在默认设置中Ctrl+w,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
2.丰富的导航模式。IDEA提供了丰富的导航查看模式,例如ctrl+e显示最近打开过的文件,ctrl+n显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的project试图中,你还可以选择多种的试图方式。
3.历史记录功能。不用通过版本管理服务器,单纯的IDEA就可以查看任何工程中文件的历史记录,但版本恢复时你可以很容易的将其恢复。
4.JUnit的完美支持。
5.对重构的优越支持。IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
6.编码辅助。java规范中提倡的tostring()hashcode()equals()以及所有的get/set方法,你可以不用进行任何 的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
7.灵活的排版功能。基本所有的IDE都有重排版功能,但仅有IDEA的是人性的,因为她支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
8.xmxxxxl的完美支持。
9.简洁易用的GUI界面。
10.与文件系统自动同步。当你最小化IDEA,直接对文件进行编辑之后,重新打开IDEA后IDEA将自动的完成文件的更新,而不用重新导入工程或刷新工程。
11.自定义的快捷键。强大的快捷键设置,基本可以让程序员离开鼠标工作
12.动态语法检测。任何不符合java规范,自己预定义的规范,累赘都将在页面中加亮显示。
13.代码检查。对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
14.对SP的完全支持。不需要任何的插件,完全支持SP。
15.智能编辑。代码输入过程中,自动补充方法或类。
16.EB支持。不需要任何插件完全支持EB(6.0支持ejb3.0)
17.列编辑模式。用过utralEdit的肯定对其的列编辑模式赞赏不已,因为她减少了很多很多的无聊重复工作,而IDEA完全支持该模式,从而更加提高了编码效率。
18.智能模板。预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的public static void main(String[] args)你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。
19.完美的自动代码完成。智能检查类中方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
20.Ant支持。不需要任何的第三方插件。
21.不使用代码检查。自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
22.智能代码。自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij "+ "IDEA";IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为:String str = "Hello Intellij IDEA";
23.正则表达的查找和替换功能。查找替代支持正则表达,从而提高效率。
24.JavaDoc预览支持。支持JavaDoc的预览功能,在JavaDoc代码中ctrl+q显示lavaDoc的结果,从而提高文档的质量。
25.程序员意图支持。当程序员编码时IDEA时时检测你的意图,或提供建议,或直接帮你完成代码。
三、IDEA的详细使用
整理的文 档如下:
1.背景介绍
- IDEA VS Eclipse
Eclipse;IBM公司,它与IDEA是竞争对手的关系,现在很多的一线互联网公司开始逐步的使用IDEAIDEA是JetBrains公司产品,是捷克的一家公司。
WebStorm:用于开发 jaxxxxvascxxxxript、HTML5、CSS3 等前端技术;
PyCharm:用于开发 python
PhpStorm:用于开发 PHP
RubyMine:用于开发 Ruby/Rails
AppCode:用于开发 obxxxxjective - C/Swift
CLion:用于开发 C/C++
DataGrip:用于开发数据库和 SQL
Rider:用于开发.NET
GoLand:用于开发 Go
- IDEA介绍
IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发在做java或者大数据开发的时候都是可以使用这些,新用户可能会觉得博而不精,但是老用户是没有类似的感觉的
- IDEA可以支持的
- 相比较eclipse的优势在于
1).强大的整合能力。比如:Git、Maven、Spring 等
2).提示功能的快速、便捷
3).提示功能的范围广
4).好用的快捷键和代码模板 private static final psf
5).精准搜索
2.windows下idea
- 硬件要求(Hardware requirements)
内存:2 GB RAM minimum 4 GB RAM recommended
硬盘:1.5 GB hard disk space + at least 1 GB for caches
屏幕:1024x768 minimum screen resolution
个人建议配置:内存 8G 或以上,CPU 最好 i5 以上 ,最好安装 块固态硬盘(SSD) ,将 IDEA安装在固态硬盘上,这样流畅度会 加快很多。
- 软件要来
操作系统: Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)
软件环境:
Ø JRE 1.8 is bundled with the IntelliJ IDEA distribution. You do not need to install Java on your computer to run IntelliJ IDEA
Ø A standalone JDK is required for Java development.
- 安装步骤以及目录介绍
Ø 确认 32 位版还是 64 位版
Ø 确认是否与.java、.groovy、.kt 格式文件进行关联,这里也可以选择不关联
4.
安装总结:从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是实际在开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级 。
目录介绍:
bin:容器,执行文件和启动参数等
help:快捷键文档和其他帮助文档
jre64:64 位java 运行环境
lib:idea 依赖的类库
license:各个插件许可
plugin:插件
配置目录:
这是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
config目录是IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。此目录可看成是最重要的目录,没有之一,如果你还记得安装篇的介绍的时候,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置
system目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但也是最不可或缺的目录之一
- 启动应用后简单配置
1. 是否导入已有设置
首次启动,会弹出如下的对话框。选择不导入已有的设置。
2.激活
根据提供的激活码 或者百度:idea 破解码,填
入:lisence server 的具体值即可。(需要联网)或者 选择 Activation code,根据
文档提供的激活码,同样可以激活。(不需要联网)
补充:对于 IDEA 2017.3 月版本,需要按照如下的方式激活:
方式一:启动:idea_active_proxy 激活代理.exe ;接着启动 IDEA:输入server: http://localhost:8888 然后可以关闭idea_active_proxy 工具
方式二:淘宝,你懂的
3.简单设置以及HelloWorld
- 主题设置
这里根据个人喜好,进行选择,也可以选择跳过(skip all and set defaults)。后面在settings 里也可以再设置主题等。这里选择:Next:Default plugins
- 插件设置
设置 IDEA 中的各种插件,可以选择自定义设置、删除,或者安装本身不存在的插件(比如:支持 Scala 的插件)。这里不设置,后面也可以通过界面菜单栏的settings 进行设置。IDEA 插件官方:https://plugins.jetbrains.com/idea
- 简单的HelloWorld创建
1.创建java工程
Ø Create New Project:创建一个新的工程
Ø Import Project:导入一个现有的工程
Ø Open:打开一个已有工程。比如:可以打开 Eclipse 项目。
Ø Check out from Version Control:可以通过服务器上的项目地址 check out Github
上面项目或其他 Git 托管服务器上的项目这里选择 Create New Project,需要明确一下概念:IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace。
选择指定目录下的 JDK 作为 Project SDK。
如果要创建 Web 工程,则需要勾选上面的 Web Application。如果不需要创建 Web工程的话,则不需要勾选。这里先不勾选,只是创建简单的 Java 工程。其中,选择 New:选择 jdk 的安装路径所在位置:
给创建的工程起一个名字,点击 finish
- 常见视图设置
调出工具条和按钮组 工程界面展示
工程下的 src 类似于 Eclipse 下的 src 目录,用于存放代码。
Ø 工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。类似于 Eclipse 工程下的.settings、.classpath、.project 等。
接着创建 package 和 和 class
不管是创建 class,还是 interface,还是 annotation,都是选择 new – java class
然后在下拉框中选择创建的结构的类型。
接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试。
说明:在 IDEA 里要说的是,写完代码,不用点击保存。IDEA
创建模块
1.在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:IDEA 官网说明:An Eclipse workspace is similar to a project in IntelliJ IDEA 。An Eclipse project maps to a module in IntelliJ IDEA
翻译 :Eclipse 中 workspace 相当于 IDEA 中的 的 Project。Eclipse 中 Project 相当于 IDEA 中的 Module
2.从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。IntelliJ IDEA 提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口
3.在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构。
六、如何删除模块
此时的删除,会从硬盘上将此 module 删除掉
七:查看项目配置
进入项目结构
4.常用配置
IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。
- 设置界面
目录结构
- 设置主题
这里默认提供了三套主题:IntelliJ,Darcula,Windows。这里可以根据自己的喜好进行选择
- 设置窗体及菜单的字体及字体大小
- 设置编辑区主题
如果想要更多的主题效果的话,可以到如下的网站下载:http://www.riaway.com/
Ø 下载以后,导入主题:(方式一)file –> import setttings –> 选中下载的主题 jar 文件 –> 一路确认 –> 重启。重启以后,新主题会自动启用。如果没有启用,可以如下方式选择
下载以后,导入主题:(方式二)
- 通过插件(plugins)
喜欢黑色主题的话,还可以下载插件:Material Theme UI
点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:
如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可
- 设置鼠标滚轮修改字体大小
我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。
- 设置自动导包功能
Add unambiguous imports on the fly:自动导入不明确的结构
Ø Optimize imports on the fly:自动帮我们优化导入的包
- 设置显示行号和方法间的分隔符
如上图红圈所示,可以勾选 Show line numbers:显示行数。我建议一般这个要勾选上。
Ø 如上图红圈所示,可以勾选 Show method separators: 显示方法分隔线。这种线有助于我们区分开方法,所以建议勾选上
- 忽略大小写提示
IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注所示,默认就是 First letter 区分大小写的。
Ø 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入StringBuffer 就可以进行代码提示和补充。
Ø 如果想不区分大小写的话,改为 None 选项即可
- 设置取消单行显示 tabs 的操作
如上图标注所示,在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便
- 设置默认 的 字体、字体大小、字体行间距
- 修改当前 主题的字体、字体大小、字体行间距
如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置
- 修改当前 主题的 控制台输出的字体及字体大小
- 修改代码 中 注释的字体颜色
Doc Comment – Text:修改文档注释的字体颜色
Ø Block comment:修改多行注释的字体颜色
Ø Line comment:修改当行注释的字体颜色
- 设置超过指定 import 个数,改为*
- 修改类头的文档注释信息
/**@author sunstart
@create ${YEAR}-${MONTH}-${DAY} ${TIME}*/
常用的预设的变量,这里直接贴出官网给的:
${PACKAGE_NAME} - the name of the target package where the new class or interface will be created.
${PROJECT_NAME} - the name of the current project.
${FILE_NAME} - the name of the PHP file that will be created.
${NAME} - the name of the new file which you specify in the New File dialog box during the file creation.
${USER} - the login name of the current user.
${DATE} - the current system date.
${TIME} - the current system time.
${YEAR} - the current year.
${MONTH} - the current month.
${DAY} - the current day of the month.
${HOUR} - the current hour.
${MINUTE} - the current minute.
${PRODUCT_NAME} - the name of the IDE in which the file will be created.
${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan Feb etc.
${MONTH_NAME_FULL} - full name of a month. Example: January February etc.
- 设置项目文件编码
说明:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。
- 设置当前源文件的编码
对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。其中:
①Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
②Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。
③含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原
- 设置自动编译
构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程
Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作。
- 设置为省电模式
如上图所示,IntelliJ IDEA 有一种叫做 省电模式 的状态,开启这种模式之后IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种 阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。
- 设置代码水平 或垂直显示
- 设置快捷为 Eclipse 的快捷键
- 通过 快捷键功能 修改快捷键设置
- 通过指定快捷键, 查看或修改 其功能
- 导入已有的设置
点击 0K 之后,重启 IDEA 即可
- 常用快捷键
1 执行(run) alt+r
2 提示补全 (Class Name Completion) :alt+/
3 单行 注释 ctrl + /
4 多行注释 ctrl + shift + /
5 向下复制一行 (Duplicate Lines) ctrl+alt+down
6 删除一行或选中行 (delete line) ctrl+d
7 向下移动行(move statement down) alt+down
8 向上移动行(move statement up) alt+up
9 向下开始新的一行(start new line) shift+enter
10 向上开始新的一行 (Start New Line before current) ctrl+shift+enter
11 如何查看源码 (class) ctrl + 选中指定的结构 或 ctrl + shift + t
12 万能解错/ 生成返回值变量 alt + enter
13 退回到前一个编辑的页面 (back) alt + left
14 进入到下一个编辑的页面( 针对于上条) (forward) alt + right
15 查看继承关系(type hierarchy) F4
16 格式化代码(reformat code) ctrl+shift+F
17 提示方法参数类型(Parameter Info) ctrl+alt+/
18 复制代码 ctrl + c
19 撤销 ctrl + z
20 反撤销 ctrl + y
21 剪切 ctrl + x
22 粘贴 ctrl + v
23 保存 ctrl + s
24 全选 ctrl + a
25 选中数行,整体往后移动 tab
26 选中数行,整体往前移动 shift + tab
27 查看类的结构:类似于 eclipse 的 的 outline ctrl+o
28 重构 : 修改变量名与方法名(rename) alt+shift+r
29 大写转小写/ 小写转大写(toggle case) ctrl+shift+y
30 生成构造 器/get/set/toString alt +shift + s
31 查看文档说明(quick documentation) F2
32 收起所有的方法(collapse all) alt + shift + c
33 打开所有方法(expand all) alt+shift+x
34 打开代码所在硬盘文件夹(show in explorer) ctrl+shift+x
35 生成 try-catch 等(surround with) alt+shift+z
36 局部变量抽取为成员变量(introduce field) alt+shift+f
37 查找/ 替换( 当前) ctrl+f
38 查找( 全局) ctrl+h
39 查找文件 double Shift
40 查看类的继承结构图(Show UML Diagram) ctrl + shift + u
41 查看方法的多层重写结构(method hierarchy) ctrl+alt+h
42 添加到 收藏(add to favorites) ctrl+alt+f
43 抽取方法(Extract Method) alt+shift+m
44 打开 最近 修改的文件(Recently Files) ctrl+E
45 关闭当前打开的代码栏(close) ctrl + w
46 关闭打开的所有代码栏(close all) ctrl + shift + w
47 快速搜索类中的错误(next highlighted error) ctrl + shift + q
48 选择要粘贴的内容(Show in Explorer) ctrl+shift+v
49 查找方法在哪里被调用(Call Hierarchy) ctrl+shift+h
5.关于模板
- Live Templates( 实时 代码模板) 功能介绍
它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();
- 已有 的常用模板
Postfix Completion 默认如下
Live Templates 默认 如 下
二者的区别:Live Templates 可以自定义,而 Postfix Completion 不可以。同时,有些操作二者都提供了模板,Postfix Templates 较 Live Templates 能快 0.01 秒
2.1 psvm : 可生成 main 方法
2.2 sout : System.out.println() 快捷输出类似的:
soutp=System.out.println("方法形参名 = " + 形参名);
soutv=System.out.println("变量名 = " + 变量);
soutm=System.out.println("当前类名.当前方法");
“abc”.sout => System.out.println("abc");
2.3 fori : 可生成 for 循环类似的:
iter:可生成增强 for 循环
itar:可生成普通 for 循环
2.4 list.for : 可生成集合 list 的 的 for 循环
List<String> list = new ArrayList<String>();
输入: list.for 即可输出
for(String s:list){ }
又如:list.fori 或 list.forr
2.5 ifn :可生成 if(xxx = null)类似的:inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null
2.6 prsf :可生成 private static final类似的:
psf:可生成 public static final
psfi:可生成 public static final int
psfs:可生成 public static final String
修改现有模板 修改现有模板:Live Templates
如果对于现有的模板,感觉不习惯、不适应的,可以修改:
修改:通过调用 psvm 调用 main 方法不习惯,可以改为跟 Eclipse 一样,使用 main 调取
- 自定义模板
IDEA 提供了很多现成的 Templates。但你也可以根据自己的需要创建新的Template。
先定义一个模板组:
选中自定义的模板组,点击”+”来定义模板
1.Abbreviation:模板的缩略名称
2. Descxxxxription:模板的描述
3. Template text:模板的代码片段
4. 应用范围。比如点击 Define。选择如下
可以如上的方式定义个测试方法,然后在 java 类文件中测试即可。
类似的可以再配置如下的几个 Template:
好啦。到目前为止,关于我精心整理的IDEA文档,已经快写了一半啦(共11个,到目前为止写了5个:1.背景介绍、2.windows下idea、3.简单设置以及HelloWorld、4.常用配置、5.关于模板),真是耗费精力啊(太难了....),这是上篇;
下篇的内容更是干货,适用范围极广:具体包括6大类:
1.创建 Java Web Project 或 Module
2.整合Tomcat
3.关联数据库
4.版本控制(Version Control)
5.配置 Maven
6.其他设置
加油吧,兄弟们,我们 下篇见!
喜欢前端、后端java开发的 可以到我的知乎主页(更多详细内容等你关注呦):https://www.zhihu.com/people/xing-chen-you-guang-pie-pie-pie,有详细视频、资料、教程,文档,值得拥有!!!希望可以一起努力,加油ヾ(◍°∇°◍)ノ゙!!!
B站有上传的更多项目视频,从Java基础到面向对象、Java高级API,以及SSM等框架的视频,地址:https://www.bilibili.com/video/BV15a411w7Jh