day03_1_idea教程
# 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教程的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境
一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...
随机推荐
- Metalama简介5.配合VisualStudio自定义重构或快速操作功能
使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题 Metalama简介1. 不止是一个.NET跨平台的编译时AOP框架 Metalama简介2.利用Aspect在编译时进行消除重 ...
- Linux下使用ssh测试端口是否开启
当服务器上不允许使用telnet时,可以使用ssh测试远程服务器端口是否开启 具体命令如下 -v 显示连接debug信息 -p port 指定端口 ssh -v -p 80 root@192.168. ...
- 【Java分享客栈】未来迈向高级工程师绕不过的技能:JMeter压测
前言 因为工作需要,久违的从自己的有道云笔记中去寻找压测相关的内容,翻开之后发现还不错,温故一遍后顺便整理出来分享给大家. 题外话,工作8年多,有道云笔记不知不觉都6G多了,扫一眼下来尽是云烟过往,竟 ...
- git指令使用
仓库为空,本地创建git项目之后提交到仓库中1.创建项目文件夹(本地git仓库)2.在项目文件夹中右键:选择Git Bash3.初始化项目:git init -- 会出现一个.git的隐藏文件夹4.将 ...
- MVC - Request对象的主要方法
MVC - Request对象的主要方法 setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name ...
- VmWare安装Centos8注意事项
VmWare安装Centos8注意事项 1.需选择稍后安装操作系统 2.选择操作系统版本 3.修改虚拟机配置 4.配置完成点击开启虚拟机(注意要将鼠标放在屏幕中央,点击一下后才能使用上下键进行选择) ...
- 在jupyter中配置c++内核
安装 xeus-cling conda install xeus-cling -c conda-forg xeus-cling 是一个用于编译解释于C++的Jupyter内核目前,支持Mac与Linu ...
- 领导:谁再用redis过期监听实现关闭订单,立马滚蛋!
日前拜读阿牛老师的大作 领导:谁再用定时任务实现关闭订单,立马滚蛋! 发现其方案有若干瑕疵,特此抛砖引玉讨论一二. 在电商.支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时 ...
- SAP 实例 12 List Box with Value List from PBO Module
REPORT demo_dynpro_dropdown_listbox. DATA: name TYPE vrm_id, list TYPE vrm_values, value LIKE LINE O ...
- Linux基础命令、引号和括号的作用
查看硬件信息 查看 cpu lscpu命令可以查看cpu信息 cat /proc/cpuinfo也可看查看到 查看内存大小 free命令 cat /proc/meminfo 查看硬盘和分区 lsblk ...