# 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

day03_1_idea教程的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  3. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  4. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  5. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  6. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  7. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  8. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  9. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

随机推荐

  1. 面试官给我挖坑:rm删除文件之后,空间就被释放了吗?

    在Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如人意. 产生一个指定大小的随机内容文件 我们先看一下当前各个挂载目录的空间大小: $ df -h /d ...

  2. 关于控制台报错“Cannot use import statement outside a module”问题的解决

    问题还原: 1.首先在main.js里 使用ES6语法import引入另外一个js模块. 2.此时将main.js在index.html中通过script标签引入,如下 3.右键通过vscode提供的 ...

  3. Spring配置及依赖注入

    入门 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-we ...

  4. Nginx代理websocket为什么要这样做?

    Nginx反向代理websocket 示例: http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } s ...

  5. 命令行参数 getopt模块

    getopt中的函数: getopt.getopt(sys.argv[1:], shortopts, longopts=[]) args指的是当前脚本接收的参数,它是一个列表,可以通过sys.argv ...

  6. 循环中的scanf处理了换行符怎么破

    这种情况一般在循环中要求输入一个字符时容易出现问题. 问题在于缓冲区,缓冲区中存留了换行符,所以... 运行下面代码: int main(void){ char a=0; while(1){ scan ...

  7. linux篇-linux面试题汇总

    Linux经典面试题,看看你会几题? 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统 ...

  8. 好客租房21-react组件的两种创建方式(函数组件)

    1使用函数创建组件 函数组件:使用js的函数或者箭头函数创建的组件 约定1:函数组件名称必须以 开头 约定2:函数组件必须有返回值 表示该组件的结构 如果返回值为null 表示不渲染任何内容 2.1使 ...

  9. unity---Lighting面板

    打开Lighting面板 将天空盒改为别墅 图片转化为Cube 设置一个材质球

  10. Spring Ioc源码分析系列--@Autowired注解的实现原理

    Spring Ioc源码分析系列--@Autowired注解的实现原理 前言 前面系列文章分析了一把Spring Ioc的源码,是不是云里雾里,感觉并没有跟实际开发搭上半毛钱关系?看了一遍下来,对我的 ...