# idea使用教程

# 一、idea相关概念介绍

## 1.1 IDE概念介绍

集成开发环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编译器,编译器,调试器和图形用户界面等工具,集成了代码编写功能,分析功能,编译功能,调试功能等一体化的开发软件服务套。

## 1.2 JetBrains公司介绍

JetBrains是一家捷克的软件公司,该公司位于捷克的布拉格,并在俄罗斯的圣彼得堡及美国麻州波士顿都设有办公室、该公司为人所熟知的产品是java编程语言开发撰写的集成开发环境:IntelliJ IDEA。公司旗下还有其他产品、比如:

- WebStorm:用于开发 JavaScript、HTML5、CSS3 等前端技术;

- PyCharm:用于开发 python

- PhpStorm:用于开发 PHP

- RubyMine:用于开发 Ruby/Rails`

- AppCode:用于开发 Objective - C/Swift

- CLion:用于开发 C/C++

- DataGrip:用于开发数据库和 SQL

- Rider:用于开发.NET

- GoLand:用于开发 Go

## 1.3 IntelliJ IDEA介绍

IDEA全称IntelliJ IDEA,是用于java语言开发的集成环境IDE,也可用于其他语言,IntelliJ在业界被公认为最好用的java开发工具之一,**尤其在智能代码助手,代码自动提示、重构、J2EE支持、Ant、Junit、CVS整合、代码审查、创新的GUI设计等方面的功能可以说是超常的。**

# 二、idea下载与安装

首先我们先学习idea的下载与安装

## 2.1 idea下载

【第一步】从idea官网https://www.jetbrains.com/idea/下载软件

【第二步】点击download进行下载

【第三步】点击Other versions 选择网上评价比较好用不卡的版本

【第四步】下载指定版本idea

## 2.2 安装准备

硬件要求
* **最低配置**:内存 2GB,硬盘 1.5 GB
* **建议配置**:内存`8G`以上,CPU 最好i5以上

软件要求

* jdk 8

## 2.3 idea安装

【第一步】双击安装程序

【第二步】省略 ...... 下一步

【第三步】不勾选任何选框

【第四步】软件所在目录名字默认即可

## 2.4 第一次启动项目

【第一步】启动软件→不导入任何配置→ok

【第二步】试用 idea

【第三步】新建项目→New Project

新建java 项目

不勾选模板

设置项目名字与项目存放位置

关闭欢迎界面

项目目录介绍

【第四步】创建包

src:src是存放源码 .java 文件的目录,idea会把src当作源码的根路径来处理。

package:包,即在src目录中创建的文件夹;当 .java 文件特别多时,为了更好的阅读java代码,我们会把java代码放到不同包下;包路径就是包相对src的路径,需要在java代码第一行声明出来,jvm才能解析到。

【第五步】创建类

【第六步】运行

## 2.5 idea破解

【第一步】新建一个java项目【已完成】

【第二步】将破解jar程序拖入idea窗口中

【第三步】检查破解程序是否执行成功

【第四步】设置每次启动idea都重置试用期为第一天

到此idea就能无限使用了

## 2.6 Untrusted Server's Certificate 弹窗问题

打开idea总会弹出如下窗口,使用idea会很不方便

解决办法如下:

【第一步】选择file->setting设置

【第二步】勾选 接收不信任的证书

## 2.7 idea卸载

控制面板→卸载→注意:删除以下目录

## 2.8 小结

1. idea的下载
2. idea的安装
3. 第一次创建项目
4. idea破解
5. 解决弹框问题

# 三、 Project 与 Module 操作

本章节我们主要讲解 idea 窗口 、 项目与模块的概念、 模块的添加与删除操作。

## 3.1 idea 窗口介绍

首先将idea的常用窗口全部设置出来

接下来我们来介绍idea的窗口,如下图所示,以下是几个导航按钮的说明

## 3.2 Project 与 Module 概念

在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA 中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:

实际上module还有更深层的含义,这个我们到后面学习maven工程的时候详细说明。

## 3.3 创建空项目

在idea中空项目和eclipse中workspace的用途类似,用以存放模块;创建空项目过程如下

## 3.4 添加模块

这两个选项一个是当前项目的设置 ,一个是当前项目结构

点击项目结构→添加模块

接下来设置模块

显示如下结果表示添加模块完成

编写代码运行测试 ...

## 3.5 删除模块

选中模块→Remove Module

## 3.6 恢复模块

点击项目结构→导入模块

选择要导入的模块

根据导入源码创建模块

然后下一步 ... 下一步 重写 模块

设置编译级别 jdk 8, 点击应用 ,点击ok

## 3.7 小节

1. 打开项目结构

2. 添加模块

3. 删除模块

4. 恢复模块

# 四、idea常用设置

## 4.1 当前项目设置

当先项目设置主要包括、主题设置、导包设置、忽略大小写提示、设置字体、文档注释设置、项目编码、自动编译、以及序列化版本设置

首先我们先进入当前项目设置界面,如下所示

当前项目的设置界面如下

### 4.1.1 设置主题

设置界面→外观与行为→主题

### 4.1.2 导包设置

编写代码时,导入包可以有两种方式

* 手动导包:alt+enter
* 自动导包

自动导包→editor→General→Auto Import

### 4.1.3 忽略大小写提示

写代码的时候可以通过以下设置完成忽略大小写提示

Editor → General → Code Completion → 取消勾选Match case

### 4.1.4 设置字体

通过如下设置完成字体设置、字体大小、行间距设置

Editor → Font

### 4.1.5 类文档注释

我们写代码的时候,经常在类的头部编写文档注释,注释内容如下:

~~~java
/**
* @Auther: 胖叔讲java
* @Date: ${DATE} - ${MONTH} - ${DAY} - ${TIME}
* @Decsription: ${PACKAGE_NAME}
* @version: 1.0
*/
~~~

我们可以将这些基本信息添加到设置中,在创建类的时候自动生成

Editor → File and Code Templates → Includes → File Header

### 4.1.6 编码格式

现在开发普遍都使用utf-8编码,具体设置如下:

Editor → File Encodings

### 4.1.7 设置自动编译

每次写完代码自动完成编译,配置如下

Build Execution Deployment → Compiler

### 4.1.8 序列化版本号

当类实现Serializable借口时,我们希望自动补充序列化id值,勾选如下信息自动补充

Editor → Inspections → 搜索序列化 → 勾选让类具有序列化id

### 4.1.9 省电模式

当设置省电模式以后,所有的提示信息,快捷键功能都会失效。如果idea功能失效了,请检查是否设置了省电模式。

### 4.1.10 小节

当前项目的常用设置如下:(必须牢记掌握)

1. 编码设置
2. 自动编译
3. 自动导包
4. 忽略大小写提示
5. 字体设置
6. 序列化版本号

## 4.2 全局设置

首先,我们打开系统设置,取消启动idea自动打开最近运行的项目

Appearance & Behavior → System Settings → 取消勾选 Reopen projects on startup

接下来,关闭项目,重启idea,进入如下界面,就不会自动打开项目了

最后进入全局设置

### 4.2.1 编码设置

打开全局设置→Editor → File Encodings

### 4.2.2 自动编译

全局设置→Build Execution Deployment → Compiler

### 4.2.3 自动导包

自动导包→editor→General→Auto Import

### 4.2.4 忽略大小写提示

Editor → General → Code Completion → 取消勾选Match case

### 4.2.5 字体设置

Editor → Font

### 4.2.6 序列化版本号设置

Editor → Inspections → 搜索序列化 → 勾选让类具有序列化id

### 4.2.7 小节

常用全局设置如下:(必须牢记掌握)

1. 编码设置

2. 自动编译

3. 自动导包

4. 忽略大小写提示

5. 字体设置

6. 序列化版本号

## 4.3 小节

常用设置如下

1. 编码设置
2. 自动编译
3. 自动导包
4. 忽略大小写提示
5. 字体设置
6. 序列化版本号

# 五、idea常用快捷键

idea有很多很多快捷键,全记忆下来并不现实,这里总结几个最常用的快捷键如下:

* main方法:psvm

* 输出语句:sout

* 搜索类:ctrl+n

* 替换:ctrl+r

* 生成代码:alt+insert(如构造方法、getter、setter、hashCode、equals、toString)

* 百能快捷键:alt+Enter(导包,生成变量等)

* 单行注释或多行注释:ctrl+/或ctrl+shifit+/

* 代码块包围:try-catch,if,while等ctrl+alt+t

* 代码一层一层调用快捷键:
* 点击源码:ctrl+鼠标悬浮在代码上+点击即可
* 回退操作:ctrl+alt+向左箭头
* 前进操作:ctrl+alt+向右箭头

* 查看类结构:ctrl+h

# 六、idea代码模板

配置一些常用代码的字母缩写,例如输入psvm生成main方法,这样的模板设置就是代码模板。

代码模板分类

1. Live Templates:可以做用户的个性化定制

2. Postfix Completion:只能用,不能改

## 6.1 修改代码模板

修改现有模板操作如下

Editor → Live Templates → Java → 选择快捷键 → 修改文本

## 6.2 创建代码模板

【第一步】创建模板组myTemplate

Live Templates → + → Template Group → 输入模板名 回车

【第二步】在myTemplate组中创建模板

Live Templates → 选中模板组myTemplate → + → Live Template → Abbreviation快捷键 → Template Text 模板内容 → 关联语言 → apply → ok

# 七、idea的断点调试

建议学习完流程控制在学习debug

## 7.1 Debug的优化设

设置debug的连接方式、默认收socket。Shared memory是windows的特有的一个属性,一般在windows系统下建议使用此设置,内存占用少,具体操作如下:

## 7.2 常用断点调试快捷键

常用断点快捷键如下:

## 7.3 断点调试之条件判断

当我们测试for循环的时候,如果执行10000次循环,我们就要点1万次下一步,不现实,我们可以右键断点输入条件表达式,在指定的条件下执行断点。

【第一步】在for循环中设置断点

【第二步】鼠标右键点击断点,输入条件表达式

## 7.4 断点调试之查看表达式

当断点执行到某一步的时候,我们可以通过右键点击Evaluate Expression 执行查看表达式,在搜索框输入自己想查看的变量值,如下所示:

右键→ evaluate Expression → 输入变量

# 八 、总结

1. idea 安装
2. idea 全局配置
3. idea 快捷键
4. idea debug

最新文章

  1. Shell中字符串分割的三种方法
  2. Apache DdlUtils入门
  3. JavaNote01_变量 基本数据类型
  4. Quartz.net 的简单使用,创建定时任务
  5. [tools]神器notepad++
  6. Linux常用指令---ps(查看进程)
  7. codeigniter load_class
  8. MyBatis之传入参数
  9. iOS开发学习笔记:基础篇
  10. Socket 广播
  11. support-v4不能查看源码
  12. Android用户界面 UI组件--AdapterView及其子类(二) AdapterViewAnimator及其子类
  13. c++ ifstream ofstream 文件流
  14. python虚拟环境的使用
  15. 简述spring的工作原理
  16. python3 udp版简单的聊天器
  17. jvm程序执行慢诊断手册
  18. 使用double无法得到数学上的精确结果的原因及为何不能用double来初始化BigDecimal
  19. Amount of Degrees(数位dp)
  20. Windows下phpStudy中的Apache无法启动的排查方法

热门文章

  1. 干货 | 手把手教你搭建一套OpenStack云平台
  2. 实战 target 选择器,解放生产力!
  3. uniapp中利用uni.$emit()和uni.$on()进行页面和tabbar页面传值(页面通讯)
  4. zabbix的web界面访问失败问题排查
  5. git rename branch
  6. 自动化测试报告(allure/html)
  7. df-查看磁盘目录空间大小
  8. 从零开始实现lmax-Disruptor队列(一)RingBuffer与单生产者、单消费者工作原理解析
  9. ElasticSearch7.3学习(三十)----ES7.X SQL新特性解析及使用Java api实现sql功能
  10. python基础学习8