文章目录

  • 第九章 IntelliJ IDEA 使用
    • 9.1 介绍
      • 9.1.1 介绍
      • 9.1.2 下载与安装
      • 9.1.3 卸载
      • 9.1.4 详细的教程
    • 9.2 创建普通 JavaSE 项目
      • 9.2.1 创建普通项目
      • 9.2.2 切换项目
      • 9.2.3 删除项目、模块
      • 9.2.4 窗口结构
      • 9.2.5 可能会遇见的错误
      • 9.2.6 创建 Java 源文件
    • 9.3 常用的设置
      • 9.3.1 Appearance & Behavior
      • 9.3.2 Editor
      • 9.3.3 Build,Execution,Deployment
      • 9.3.4 其它
    • 9.4 常用快捷键
      • 9.4.1 文本编辑
      • 9.4.2 查找浏览
      • 9.4.3 修改快捷键
      • 9.4.4 常见问题
    • 9.5 自定义模板
      • 9.5.1 常用模板缩写
      • 9.5.2 后缀模板
      • 9.5.3 实时模板
    • 9.6 断点调试
      • 9.6.1 运行类
      • 9.6.2 debug 设置
      • 9.6.3 debug 调试快捷键
      • 9.6.4 debug 实际操作
    • 9.7 其它
    • 9.x 总结回顾
    • 9.y 实战演练
  • 参考答案
    • 第九章答案

第九章 IntelliJ IDEA 使用

内容导视:

  • 介绍
  • 创建普通 JavaSE 项目
  • 常用的设置
  • 常用快捷键
  • 自定义模板
  • 断点调试
  • 其它

9.1 介绍

内容导视:

  • 介绍
  • 下载与安装
  • 卸载
  • 详细的教程

9.1.1 介绍

IDE 即集成开发环境,可以把编写代码、组织项目、编译、运行、调试放在一个环境下,极大提高开发效率。

有快捷键一键生成代码与注释;写代码会有自动提示补全方法名;会自动检查代码中有误的地方并给出提示选择方案修改错误;查看类与类的关系、此类的所有方法和字段等。

目前最流行用于 Java 开发的 IDE 是 IntelliJ IDEA,因为确实好用,整合主流框架十分轻松,极大提升开发代码的效率。

介绍

IDEA 是 JetBrain 公司的其中一款产品,官网:https://www.jetbrains.com

其它产品如 WebStorm 用于开发 JavaScript、HTML5、CSS3 等前端技术。

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

IDEA 也支持主流的技术与框架,擅长企业应用、移动应用和 WEB 工具的开发。

相比 Eclipse 的优势

  • 强大的整合能力,比如 Git、Maven、Spring 等
  • 提示功能的快速、便捷
  • 提示功能的范围广
  • 好用的快捷键与代码模板
  • 精准搜索

9.1.2 下载与安装

下载地址:https://www.jetbrains.com/idea/download/#section=windows

有 Ultimate 旗舰版和 Community 社区版,社区版是免费的,旗舰版支持的功能更多,如协同远程开发、数据库工具、前端语言、JavaEE 等,两个版本的详细对比:JetBrains Products Comparison,需要付费,可以先试用一个月,选择其一点击 Download 下载,.exe 与 .zip 随意(exe 直接双击,zip 需要解压缩)

您不需要安装 Java 来运行 IntelliJ IDEA,因为 JetBrains 运行时与 IDE 捆绑在一起(基于 JRE 11)。但是,如果要开发 Java 应用程序,还需要一个独立的 JDK。

安装方法:IDEA 的安装 - 阿龙er、知了(zhile.io)、【汇总】Jetbrains 全家桶

请勿无限制重置,有能力请支持正版!本文中资源全部收集整理于网络并无偿提供,仅可用于个人学习交流;请勿转载、售卖或商用;侵权删!

汉化:https://blog.csdn.net/qq_35067322/article/details/105429832

目录结构

  • bin:启动文件、虚拟机配置信息等
  • help:帮助文档
  • jbr:自带的 jre
  • lib:依赖的类库
  • license:插件的许可信息
  • plugins:插件

bin 目录下的 idea64.exe.vmoptions 文件是虚拟机的配置信息

-Xmx750m// 最大内存,将数值调大可以提高程序性能
-Xms128m// 初始内存
-XX:ReservedCodeCacheSize=512m// 保留代码的缓存大小
-XX:+UseG1GC// 垃圾优先收集器

请勿添加注释

C:\Users\用户名\AppData\Local\JetBrains\IntelliJIdea2021.2 存放(system)系统临时、缓存、本地历史文件等

C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2021.2 存放(config)插件、文件模板、快捷键等文件

9.1.3 卸载

控制面板/卸载程序,或 Windows 设置/应用

点击要卸载的应用;且手动删除内容如下:软件的安装目录、system 与 config、代码存放目录。

一个 project 项目就是一个工作窗口,一个项目可以有多个 module 模块,每个模块里面都有 src 目录存放着 *.java 源文件;除了创建空项目,每个项目都自带一个模块。

9.1.4 详细的教程

官方详细使用文档:https://www.jetbrains.com/help/idea/installation-guide.html#standalone

IntelliJ IDEA使用教程:https://lixuekai.blog.csdn.net/article/details/77449117,作者:请叫我大师兄

9.2 创建普通 JavaSE 项目

内容导视:

  • 创建普通项目
  • 切换项目
  • 删除项目、模块
  • 窗口结构
  • 可能会遇见的错误
  • 创建 Java 源文件

9.2.1 创建普通项目

创建一个新项目:Projects/New Project/java

如果没有配置 JAVA_HOME 环境变量,就不会显示 SDK,需要 Add JDK… 指定 JDK 的安装目录;

Project name 是项目名,Project location 是此项目的路径,Finish 即可。

创建空项目

还可以创建一个空项目,模块由自己手动创建。

会弹出一个 Project Structure 窗口,点击 New Module 创建模块。

或者 Alt + F 快捷键选择 New 可以创建 Module,或项目右键 New Module,或 Ctrl + Shift + Alt + S 打开 Project Structure/Modules 按下 + 号,点击 New Module。

9.2.2 切换项目

在多个项目之间切换是 Open Recent,关闭项目 Close Project;

9.2.3 删除项目、模块

可以单击想要操作的项目即可进入或者点击 Open Selected。

Show in Explorer 可以打开文件资源管理器的项目所在目录;Remove from Recent Projects 是删除此项目,但硬盘上还在;删除此项目后把文件资源管理器对应的项目选中按下 Shift + Del 快捷键永久删除。

而删除模块有两个步骤,右键模块 Remove Module,可以看到模块右下角的蓝色方块消失,意味着它变成了普通目录,再次右键 Delete(Del 是普通删除,Alt + Del 是安全删除)即可删除。

9.2.4 窗口结构

分为菜单栏、工作列表、编辑区域、快捷栏。

在编辑区域编写源代码,按下 Ctrl + Shift + F10 即可运行 main 方法。

9.2.5 可能会遇见的错误

Java 版本问题

打开项目结构,或快捷键 Ctrl + Alt + Shift + S

这个地方没设置会出错无法运行代码。

Project name:当前项目的名字

Project SDK:控制项目使用的 JDK 版本

Project language level:项目语言级别

当使用的新特性所在版本超过设定的 JDK 版本,就会报错。

例:在 JDK7 版本,新增了一个特性:自动类型推断机制(钻石表达式),使用泛型 new 对象时后面的 <> 中可以省略数据类型,会通过前面 <> 的内容自动推断类型。

一旦设置 level 为小于 7,如 level 6 就会报错:

Project language level 是编译时检查源码是否符合指定版本的语法。如果 level 设置为 6,则代码使用的 JDK7 和 JDK8 版本的新特性会被认为是语法错误。

一般 level 等级与 JDK 版本一致即可,但如果自己开发使用的 JDK 版本大于部署时服务器的 JDK 版本,可以把 level 往下调至服务器的 JDK 版本,且不使用高版本的新特性。

JDK8 新增了 Lambda 表达式、函数式接口等新特性;特性只能往下兼容,如 JDK8 版本可以使用 JDK7、JDK6 … 的特性,而不能使用 JDK9 的特性。

Project compiler output:用于指定项目中的 java 源文件编译后生成的这些 *.class 文件存放的根目录

修改成如下即可,记得修改后点击 Apply 或 OK,否则不生效。如 01-module 模块的 class 文件会在 out/production/01-module 下。

9.2.6 创建 Java 源文件

module 下有个蓝色的 src 文件夹,用于存放源文件,src 右键/new/Java Class

或按下 Alt + Ins scrlk 快捷键,此键在 Backspace 退格键的上面。

通过上下左右箭头定位到 Java Class 然后回车或点击 Java Class,输入源文件名后回车。(不用写后缀 .java

导入其它模块的类

在类中使用其它模块的类时,在错误处(将光标定位到红色波浪处)按下 Alt + Enter,选择 Add dependency on module ‘模块名’ 后回车。

实际在模块下的 iml 文件中添加了 <orderEntry type="module" module-name="模块名" /> 标签。

9.3 常用的设置

内容导视:

  • Appearance & Behavior
  • Editor
  • Build,Execution,Deployment
  • 其它

首先打开设置 File/Settings(快捷键:Ctrl + Alt + S)

从上至下依次为:外观与行为、快捷键、编辑、插件、版本控制、构建执行部署、语言和框架、工具、高级设置

依次介绍:

9.3.1 Appearance & Behavior

设置主题

Appearance/Theme

设置菜单栏字体大小

Appearance/Size

如果觉得菜单项或设置中的字体太小,Size 可以往上调,一般设置为 12。

重新启动项目时,如何打开一个项目

  • New window:新创建一个窗口
  • Current window:使用当前窗口
  • Ask:总是询问

9.3.2 Editor

内容如下:

  • 设置使用鼠标滚轮调节字体大小
  • 自动导包
  • 行号与分隔符
  • 显示方法参数信息
  • 忽略大小写提示
  • 取消单行显示文件标签
  • 设置悬浮提示
  • 设置编辑区域字体
  • 单独设置控制台字体
  • 设置文档注释的字体颜色
  • 添加文件头部信息
  • 设置项目文件字符编码

设置使用鼠标滚轮调节字体大小

General/Mouse Control,勾上 Change font size with Ctrl + Mouse Wheel,回到编辑页面按住 Ctrl 同时滚动鼠标滚轮即可调整字体大小。

Move code fragments with drag-and-drop:可以拖拽选中的代码片段到别的位置

自动导包

General/Auto Import

  • Add unambiguous imports on the fly:编写代码时,写的简单类名是唯一的,自动添加 import 导入该类
  • Optimize imports on the fly:当 import 导入的类没用上时,自动删去该 import

Insert imports on paste(在粘贴时导入),Always:总是,Never:从不,Ask:询问

如想使用 Date 类,但有多个简单类名为 Date,需要 Alt + Enter 键 import class 选择一个。

输入 DateFormat,类名唯一,会自动在首行添加 import 此类的完整类名;删去 DateFormat 会自动删除首行的 import 导入语句。

行号与分隔符

General/Appearance,勾选 Show method separators,显示方法之间的分隔符;勾选 Show line numbers 显示行号。

关闭文档弹窗

General/Code Completion 取消勾选 Show the documentation popup in…

显示方法参数信息

General/Code Completion 勾选 Show the paramerter info…

Show parameter name hints…:提示方法参数名称和类型

Show the paramerter info…:弹出方法参数名和类型

Show full method signatures:弹出完整的方法签名

忽略大小写提示

General/Code Completion

老版将 Case sensitive completion 改为 None;

新版取消勾选 Match case(区分大小写)

First letter only:仅首字母区分大小写,如 String 等同于 STRing

All letters:所有都区分大小写,String 不等同于 string

取消单行显示文件标签

如果设置单行显示,当编辑区即代码书写区域,编辑了或者浏览很多文件,可以看到 Number.java、Object.java …这样展示不下的文件就会被隐藏。

General/Editor Tabs 取消勾选 Show tabs in one row(在同一行显示,可能会造成文件名显示不完全)

Hide tabs if there is no space:如果空间不足就隐藏标签

设置悬浮提示

当指针停在方法或某处时,会自动显示对应的文档注释信息。

Code Editing 勾选 Show quick documentation on hover

翻到最下面,Editor Tooltips/Tooltip delay:500,延迟 500 毫秒后再提示。

设置编辑区域字体

Font/Size

font 可以选择喜欢的字体,size 是字体大小,line height 是每行间距。

设置编辑区域主题

Color Scheme/Scheme

Scheme 与整体主题风格一致即可,下面就不太搭。

除了 Font/size 可以设置字体外,通过 Color Scheme/Color Scheme Font,勾选 Use color scheme font instead of the,也可以设置。

单独设置控制台字体

Color Scheme/Console Font 勾选 Usb console font instead of the

设置文档注释的字体颜色

Color Scheme/Language Defaults,Comments/Doc comment/Text

**同一个包下超过指定个数的 import 会自动转为 ***

Code Style/java/Imports

Class count to use import with ‘*’:5,导入同一个包的类累计 5 次时,自动转为 *

Names count to use static import with ‘*’:3,导入同一个包下静态的类累次 3 次时,自动转为 *

例:导入 5 个 java.util 包下的类会转为 import java.util.*;

添加文件头部信息

File and Code Templates/Includes/File Header 写入信息,每当创建文件时,自动在头部加入这段文字,在 Description: 中有各个变量的含义,如 ${DATE} 是当前系统日期。

我习惯在 java 源文件头部添加文档注释;作者处可以使用 ${USER} 替代。

设置项目文件字符编码

File Encodings/Global Encoding 等为 UTF-8(统一编码才不会乱码,UTF-8 是全球通用的)

勾选 Transparent native-to-ascii conversion:将 properties 文件输入的所有字符转换成 ASCII 序列码保存

UTF-8 BOM 又叫 UTF-8 签名。(BOM:byte order mark)

UTF-8 的 BOM 是为了支援 UTF-16、UTF-32;BOM 签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别。BOM 虽然在编辑器中不显示,但是会产生输出,就像多了一个空行。

有很多软件不能识别 BOM,也会被当作编码的一部分造成乱码,所以最好选择 with NO BOM。

取消方法形参名提示

想要取消显示 second:、minute:、hour:

Inlay Hints,将 java 取消勾选,确定保存。

或者右键 Disable Hints

若想重新显示提示,Inlay Hinst/java,Parameter hints,勾上 Show parameter hints for

9.3.3 Build,Execution,Deployment

自动编译

Build project automatically:项目自动编译

Compile independent modules in parallel:多个模块并行编译

9.3.4 其它

内容导视:

  • 省电模式
  • 文件的显示位置
  • 保存及导入原有配置

省电模式

File/Power Save Mode会关闭代码检查与提示等功能

如果没有了提示功能,可以看看是否误点了

文件的显示位置

Split Right:将文件在右边分屏

Split and Move Right:将文件移到右边分屏

Split Down:将文件在下边分屏

Split and Move Down:将文件移到下边分屏

设置单个文件的字符编码

编辑区右下角修改文件编码

Reload:暂时改成 xxx 编码显示,但文件还是原来的编码

Convert:真正的转换

保存及导入原有配置

File/Manage IDE Settings,Export Settings 导出设置;以后 Import Settings 导入,恢复原本设置。

9.4 常用快捷键

内容导视:

  • 文本编辑
  • 查找浏览
  • 修改快捷键
  • 常见问题

的确很便捷对吧。up、down、left、right 分别对应上下左右箭头。

9.4.1 文本编辑

选择要粘贴的内容 Ctrl + Shift + V
粘贴带包名的类名 先 Ctrl + Shift + Alt + C 复制类名,再 Ctrl + Shift + Alt + V 粘贴
撤销 Ctrl + Z
反撤销 Ctrl + Shift + Z
逐渐选中区域 Ctrl + W
删除一行(Delete Line) Ctrl + Y
向下复制一行(Duplicate Line Or Selection) Ctrl + D
在域的范围内上下移动行 Shift + Ctrl +上下箭头
上下移动行 Shift + Alt +上下箭头
整体移动 Tab
向上开始新的一行(Start New Line Before Current) Ctrl + Alt + Enter
向下开始新的一行(Start New Line) Shift + Enter
自动在语句末尾加上分号 Ctrl + Shift + Enter
单行注释 Ctrl + /
多行注释 Ctrl + Shift + /,再按还原
格式化代码 Ctrl + Alt + L
大小写转换 Ctrl + Shift + U
重命名 Shift + F6
提示补全(Basic) Ctrl + 空格
收起代码块或方法 Ctrl + . 或 Ctrl + - 或右键/Folding
打开代码块或方法 Ctrl + . 或 Ctrl + +
收起全部代码块 Ctrl + Shift + -
打开全部代码块 Ctrl + Shift + +
提示方法形参类型(Parameter Info) Ctrl + P(先将光标定位到方法的括号里)
查看文档(Quick Documentation),将光标定位方法名或类名上 Ctrl + Q 、 Alt +鼠标中键
快速定位至错误处 F2 、 Shift + F2
解决错误 Alt + Enter
快速生成构造和其他方法如 getset 、 toString 等方法 Alt + Ins Scrlk
局部变量抽取为成员变量 Ctrl + Alt + F
生成 try-catch 等常用代码块 Ctrl + Alt + T
抽取成方法 Ctrl + Alt + M
自动分配变量名 Ctrl + Alt + V
清除多余的 import Ctrl + Alt + O
重写方法 Ctrl + O
实现接口方法 Ctrl + i

选择单词填入(Cyclic Expand Word): Alt +(Shift)+ /,Shift 是反方向

当你什么都不写,按下此快捷键从当前行的上方选择并填入单词;当你已经输入开头,如 s,就会寻找本类 s 开头的单词自动填人。(可以多按几次找到想要的单词)

多行操作:Shift + Alt + Ins Scrlk,再按住 Shift 和上下箭头,或者按住鼠标左键不放拖动鼠标,会增加光标个数。(期间左键单击光标变为 1)

另一种方法,按住 Alt 和鼠标左键不放,鼠标往下滑。

快速生成方法

Select None 是无参构造,如果想同时选中多个字段,可以通过 Shift + 上下键或 Ctrl + A 或 Ctrl + 鼠标点击选择生成的有参构造为哪些字段赋值。

9.4.2 查找浏览

关闭当前编辑页面 Ctrl + F4、右键编辑区的文件标签点击 Close、Shift + 单击标签
单独为编辑页面生成窗口 Shift + F4
关闭/隐藏页面 (Shift)+ Esc、Ctrl + Shift + F4
编辑窗口全屏显示 Ctrl + Shift + F12
左右移动标签查看对应文件 Alt +左右箭头
光标不动,上下翻页 按住 Ctrl 不松,按下 Up/Down
光标至当前显示的内容首尾 Ctrl + Pgup/Pgdn
光标至文件首尾 Ctrl + Home/End
光标在方法之间移动 Alt + 上下箭头(up/down)
光标返回上一次编辑的位置 Ctrl + Alt + 左右箭头(left+right)
查看光标最近到过的位置(Recent Locations) Ctrl + Shift + E
跳转至某行某列 Ctrl + G
打开对应菜单栏 Alt + 划横线的字母
打开对应快捷栏 Alt + 数字
打开当前文件所在文件夹(Show In Explorer) 按住 Ctrl 点击文件标签 或 Ctrl + Alt + F12
打开最近修改的文件 Ctrl + E 、Ctrl + Tab(Ctrl 不要松,按下 Tab 键或按下画横线的字母和数字)

Alt + 1 、 Alt + Home 进入工作列表,上下箭头选择文件,回车或按下 F4。

查找所有文件 双击 Shift
查找类文件 Ctrl + N
查找文件 Shift + Ctrl + N
查找(全局) Ctrl +(Shift)+ F
选中查找的结果之一 (Shift)+ F3、 Ctrl +(Shift)+ L
替换 Ctrl + R
标记某行 Ctrl + Shift + 数字(再按取消标记)
标记某行 Ctrl + F11,点击对应序号标记
跳转至标记的某行 Ctrl + 数字
添加书签 F11
查看收藏与书签 Alt + 2
跳转书签所在位置 Shift + F11
查找已有的模板缩写 Ctrl + J
查看源码 按住 Ctrl 再单击类名、Ctrl + B
查看父类方法(Go To Super Method) 将光标定位到子类方法名处,按下 Ctrl + U
查看一个类的结构 Ctrl + F12、Alt + 7
查看类的继承关系 Ctrl + H
查看有关所有实现或者覆写了当前方法的类的结构图(Method Hierarchy) Ctrl + Shift + H
查看类的继承结构图(Show UML Diagram) Ctrl + Alt +(Shift)+ U、右键 Diagrams
呈现当前方法的调用层级结构(Call Hierarchy) Ctrl + Alt + H

查看此文件在磁盘的位置:按住 Ctrl 键,点击此文件标签,或者右键 Open In/Explorer

添加到收藏(Add To Favorites):Shift + Alt + F、或者文件右击 Add To Favorites 选择已有的收藏夹,Add To New Favorites List 创建新的收藏夹。

替换:Ctrl + R,Replace 一个个替换,All 全部替换,include 排除(被排除的不会被替换)

9.4.3 修改快捷键

打开 Settings/keymap,有两个放大镜,左边输入功能名称;点击右边的放大镜按下快捷键,寻找快捷键对应的功能;

比如修改复制当前行操作的快捷键,搜索 Duplicate,右键 Add keyboard Shortcut,更换快捷键。不用输入字母,而是把你希望的组合键同时按下。

Add Keyboard Shortcut:键盘快捷键

Add Mouse Shortcut:鼠标快捷键,例 Ctrl + 左键单击

Add Abbreviation:添加操作的缩写

Remove:移除快捷键

Reset Shortcuts:重新设置快捷键

你怎么知道输入 Duplicate?在 IDEA 安装路径下有个 help 目录,里面有两个 pdf 文件,打开查看对组合键作用的描述;如 Ctrl + D,Duplicate current line or selected block:复制当前行及选中的文本,与上面的解释大同小异,配合显示的快捷键即可快速定位想要修改的组合键。

如 Ctrl + Alt + L 格式化代码,在第一列第 19 个,搜索 Reformat code

如果习惯使用 Eclipse 的快捷键,可以将 keymap 改为 Eclipse。

9.4.4 常见问题

按下快捷键时,如果没有反应,那么这组快捷键可能是被其他软件占用了,需要更改快捷键组合方式。

或者你觉得快捷键很别扭,易混淆;比如 Ctrl + D,在其他软件是 delete 删除的意思,而在 IDEA 却是 add 增加一行的意思。

Ctrl + 空格、Ctrl + . 等快捷键已被 Windows 系统占用;

打开 Windows 设置,时间和语言/语言/键盘/输入语言热键,可以看到 Ctrl + 空格已被占用,所以 IDEA 的自动补全失效了。

或者首选语言选择中文(简体、中国)选项,键盘/微软拼音/选项/按键,看看快捷键组合方式是否被占用了。

9.5 自定义模板

内容导视:

  • 常用模板缩写
  • 后缀模板
  • 实时模板

Templates,代码片段对应的字母缩写,输入缩写按下 Tab 键后可以出现预定义的固定模式的代码,提高了开发效率;如 sout 是 System.out.println(),Ctrl + J 快捷键可以查看所有模板缩写。

9.5.1 常用模板缩写

输入缩写后按下 Tab 键,如 main 方法的缩写:main、psvm。

输出语句 缩写
普通输出语句 sout
输出方法参数名及值 soutp
输出方法名 soutm
输出变量值 soutv 或 xxx.sout
输出变量名及值 xxx.soutv
for 语句 缩写
i 从 0 到 ?,i++ fori
增强 for 循环 iter、xxx.for
遍历数组 itar
迭代器遍历 itit
顺序遍历 xxx.fori
逆序遍历 xxx.forr
if 语句 缩写
if (xxx == null) ifn、xxx.null
if (xxx != null) inn、xxx.nn

9.5.2 后缀模板

打开 Settings,Editor/General/Postfix Completion,没法修改预定义的代码模板,倒是可以修改缩写(先选择要修改的地方,然后点击 + 右边的铅笔)。

Enable postfix completion:启动后缀模板

Expand templates with Tab:输入xxx.缩写后按下 Tab 键后生成模板,一般还未输入完时 IDEA 会自动弹出提示回车就行。

打个比方,定义了一个 int 类型的数组 arr,fori 是后缀模板缩写,输入 arr.fori 按下 Tab 键后出现预定义的代码。

自定义后缀模板

自定义后缀模板,按下 +,选择将模板应用在哪里,比如 java。

介绍含义:

key:缩写,这里我填写的是 syso

Minimum language level:此模板生效的最低 JDK 版本。例:假如 level 设置为 9,那么在 JDK8 中此模板不生效

Use static import if possible:如果可能的话使用静态导入

$EXPR$:引用目标表达式

点击 OK,在 java 源文件中,假设现在有变量,名为 i,输入 i.syso 按下 Tab 键后生成 System.out.println("i的值:" + i);

那么 $EXPR$ 就是 i。

Applicable expression types:应用至哪些类型,如果不选择,默认任意类型都可以使用此模板;

​ void:没有返回类型才能使用此模板

​ not primitive type:包装类型

​ array:数组类型

​ choose class in xxx:选择自己的模块中哪些类可以使用此模板

​ enter class name:选择哪些类可以使用此模板

$END$:生成模板后光标所在位置

例:设置只有数组类型的变量才能使用此模板,有 int 类型的数组 arr,输入 arr.cqhsort 后按下 Tab 键才会生效。

if ($EXPR$ instanceof int[]) {int temp = 0;for (int i = 0; i < $EXPR$.length - 1; i++) {int min = i;for (int j = i + 1; j < $EXPR$.length; j++) {if($EXPR$[j] < $EXPR$[min]) {min = j;}}if (min != i) {temp = $EXPR$[min];$EXPR$[min] = $EXPR$[i];$EXPR$[i] = temp;}}
}
System.out.println(Arrays.toString($EXPR$));$END$

9.5.3 实时模板

Edit/Live Templates

单词翻译

By default expand with Tab:默认情况按下 Tab 生成模板

Abbreviation:模板的缩写词

Description:模板的描述

Template text:预定义的模板文本

Applicable in Java: statement:将此模板应用至 java 中的语句声明

Expand with Tab:按下 Tab 键后生成模板

Reformat according to style:格式化预定义的模板

Use static import if possible:如果可能的话使用静态导入

模板应用范围

点击 Change 改变模板应用范围

Comment:注释

Consumer function:方法

Declaration:变量声明

Expression:表达式

Statement:语句声明

自定义模板

按下 + 号(Alt + Ins scrlk),创建组,任意取名如 cqh;

Live Template:定义模板

Template Group … :创建模板组

选中自己刚刚创建的组按下 + 号,点击 Live Template,可以模仿如下设置:

点击 Define 选择模板应用范围如 java;

点击 Edit variables,为变量 $VAR$ 设值为第一个变量名,默认值为 var,跳过定义(如果 skip if defined 不勾选,光标会停在 $VAR$ 处)

suggestFirstVariableName("Object"):获取第一个变量名

常见的 Expression(预定义函数)请看实时模板变量。

点击 OK 后,在 java 文件中输入 try 按下 Tab 后即可生成模板。

9.6 断点调试

  • 运行类
  • debug 设置
  • debug 调试快捷键
  • debug 实际操作

9.6.1 运行类

run 即调用某个类的 main 方法,快捷键:Shift + Ctrl + F10,也可以右键或点击绿色三角图标也可以运行此类;运行过后右上角会多出此类的运行配置信息,下拉框选中此类,Shift + F10 即可运行,Shift + F9 即可调试。

Edit Configurations 用来编辑每个类的运行配置

Alt + Shift + F9/F10,会列出已运行过的类,可以通过左右上下箭头选择 Run 后回车。

常用的 run 和 debug 快捷键

9.6.2 debug 设置

减少内存占用

打开 Settings/Build,Execution,Deployment/Debugger,设置 Debug 连接方式,默认是 Socket。

Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,内存占用相对较少。

步入源码

Debugger/Stepping

Do not step into the classes:不要进入此类

取消勾选 java.*、javax.*

显示完整实例信息

Debugger/Data Views/Java

取消勾选 Enable alternative view for Collections classes

9.6.3 debug 调试快捷键

1:step over(F8):进入下一行,如果当前行断点是方法,不进入方法内
2:step into(F7):进入下一行,如果当前行断点是方法,则进入方法体内
3:force step into(Alt + Shift +F7):同上,但有些进不去的方法可以使用此键强制进入(比如源码)
4:step out(Shift + F8):跳出方法
5:Drop Frame:回退到上一个调用的方法
6:Run to Cursor(Alt + F9):运行到光标位置,只能前进
7:Ctrl + F5:重新 debug
8:Resume Program(F9):恢复程序运行,但如果下面还有断点则停到下个断点处,没有断点直接跑完
9:stop(Ctrl + F2):结束进程
10:View Breakpoints(Ctrl + Shift + F8):查看所有断点,Condition:为断点设置执行的条件

11:Mute Breakpoints:忽略剩下的断点

12:Evaluate Expression …(Alt +F8):计算表达式,输入表达式查看结果。按下Alt + ↓ 或下拉框查看历史记录

9.6.4 debug 实际操作

debug 就是断点调试,在某一行设置一个断点,debug 时,程序运行到这一行就会卡住,可以一步步执行代码(按下 F7 或 F8),定位错误的地方。

设置断点

单击红点的位置处生成断点,再单击就是取消断点。点击绿色小虫图标开始 debug,代码自动在断点处停下。

设置条件

当断点处于循环内时,右击红点,在条件处输入布尔表达式,如 i == 6,那么只有 i == 6 为 true 时,程序才会停下,不用 i = 1,2,3… 慢慢步进。

或者点击 Set Value(F2)修改值加快进程。

9.7 其它

内容如下:

  • 展开包名
  • 新增 JDK 与源码
  • 生成 JavaDoc
  • 清理缓存
  • 取消更新
  • 插件使用

展开包名

使用 Alt + Ins scrlk 创建 package 后,包名都重叠在一起。

点击 Project 右边的设置图标,取消 Compact Middle Packages 的对勾

查看文件历史修改记录

对比两个文件

右键 Compare with 选择比较的文件,或者按住 Ctrl 不放选中两个文件,再按下 Ctrl + D

Do not ignore:不要忽视,Ignore whitespaces:忽略空格

官方比较文件的详细说明

新增 JDK 与源码

Project Structure/SDKs,点击 +/Add JDK…

SDK 是软件开发工具包,辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK;JDK是SDK的子集。

SDKs/Sourcepath/+,导入源码,方便以后 Ctrl + B 查看。


生成 JavaDoc

Tools/Generate JavaDoc…

Generate JavaDoc Scope:生成 API 文档的范围Whole project:当前项目的所有模块Module '01-package':当前模块File:当前文件Custome scope: 自定义范围Include JDK and library sources in -sourcepath:包含 JDK 源码
Link to JDK documentation:链接 JDK 的 API 文档Output directory:生成的 API 文档的位置
显示 protected 以上级别的内容:private 私有和 package 包级别不显示Locale:语言类型,如 zh_CN
Other command line arguments:其它命令行参数:-encoding UTF-8 -charset UTF-8-charset 是告知浏览器此文件采用什么编码方式读取这个文件-encoding 是告知 java 源代码的字符编码Open generated documentation in browser:在浏览器打开生成的文档

点击 OK 后,生成了一大堆 html 文件,点击 index.html 即可。

清理缓存

我没有经历过,用的挺好,下面是尚硅谷资料的原话。

IntelliJ IDEA 首次加载项目的时候,都会创建索引,创建索引的时间跟项目的文件多少成正比。IntelliJ IDEA的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度。

在某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如:断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,很可能 IntelliJ IDEA 会报各种莫名其妙错误,甚至项目打不开,IntelliJIDEA 主题还原成默认状态。

即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出现了问题,这种情况还不少。遇到此类问题也不用过多担心。我们可以清理缓存和索引。

File/Invalidate Caches…

Invalidate Caches:清除缓存

Reload All from Disk:从磁盘重新加载所有内容

Clear file system cache and Local History:清除文件的系统缓存和本地历史修改记录(即清除C:/Users/用户名/AppData/Local/JetBrains/IntelliJIdea2021.2/LocalHistory,一般不建议勾选)

Clear VCS Log caches and indexes:清除 VCS(版本控制系统) 日志缓存和索引

Clear downloaded shared indexes:清除下载的共享索引

Ask before downloading new shared indexes:请在下载新的共享索引之前进行询问

Invalidate and Restart:清除并重启(老版会全部清除,记得备份 config)

cancel:取消

Just Restart:仅重启

取消更新

打开 Settings,Appearance & Behavior/System Settings/Updates

老版取消勾选 Automatically check updates for

下面根据自己的情况取消勾选

Check IDE updates for Stable Releases:检查 IDEA 稳定版的更新

Check for plugin updates:检查插件的更新

Show What’s New in the editor after an IDE update idea:更新后显示更新的内容

插件使用

Settings/Plugins,在 Marketplace 中搜自己想要的插件,installed 是已安装的插件。(官方的插件库:https://plugins.jetbrains.com/)

也可以点击设置从磁盘上安装插件。

插件名 功能 网址
Key promoter 快捷键提示 https://plugins.jetbrains.com/plugin/4455?pr=idea
CamelCase 驼峰式命名和下划线命名交替变化 https://plugins.jetbrains.com/plugin/7160?pr=idea
Checkstyle-IDEA 代码样式检查 https://plugins.jetbrains.com/plugin/1065?pr=idea
FindBugs-IDEA 代码 Bug 检查 https://plugins.jetbrains.com/plugin/3847?pr=idea
Statistice 代码统计 https://plugins.jetbrains.com/plugin/4509?pr=idea
JRebel Plugine 热部署 https://plugins.jetbrains.com/plugin/?id=4441
CodeGlance 在编辑代码最右侧,显示一块代码小地图 https://plugins.jetbrains.com/plugin/7275?pr=idea
Eclipse Code Formatter 使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用 https://plugins.jetbrains.com/plugin/6546?pr=idea
GsonFormate 把 JSON 字符串直接实例化成类 https://plugins.jetbrains.com/plugin/7654?pr=idea
IDE Eval Reset 重置 IDEA 使用 https://zhile.io/2020/11/18/jetbrains-eval-reset-deprecated.html
Translation 中英文翻译 Ctrl + Shift + O,或选中单词 后 Ctrl + Shift + Y https://plugins.jetbrains.com/plugin/8579-translation
Xcode-Dark Theme 一种 IDEA 主题 https://plugins.jetbrains.com/plugin/13106-xcode-dark-theme
Alibaba Java Coding Guidelines 阿里巴巴代码检查 https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines

9.x 总结回顾

其实也没有什么好回顾的,我又不擅长做视频,内容也不太全面,大家百度就行。虽然使用 IDEA 体验更好,方便整合,但是如果是因为 Eclipse 太卡了,才考虑使用 IDEA,但 IDEA 占用内存只会更多,大概 40% 的内存。

9.y 实战演练

9.1 使用 debug 测试创建对象时的代码执行顺序。

参考答案

第九章答案

9.1 使用 debug 测试创建对象时的代码执行顺序。

创建子类对象时,会先显示初始化父类的实例变量,再执行父类的构造方法,接着显示初始化子类的实例变量,执行子类的构造方法。

// 父类
class A {int age = 22;String name;String flag;public A() {age = 33;name = "33";}
}
// 子类
class B extends A {{tag = "无聊";}String tag;public B() {System.out.println(tag);}
}
class test {public static void main(String[] args) {// new 对象new B();}
}

在 new 对象的地方打个断点,使用 debug 得知:

new 先创建了 B 类的对象,age、name、flag、tag 等实例变量附上默认值 0 或 null。随之调用 B 类的无参构造器,构造器省略了两句话 :

  1. 调用父类的无参构造器
  2. 显示初始化本类的实例变量和执行实例代码块(自上而下顺序执行)

忽略 Object 类的存在,最开始显示初始化的是 A 类的实例变量,接着执行可见部分的 A 类无参构造器给实例变量赋值。返回到 B 类的无参构造器,执行实例语句块给 tag 赋值,执行可见部分的 B 类的构造器输出 tag 的值。

符合看到的现象(先显示初始化父类实例变量,执行父类的构造方法;接着显示初始化子类的实例变量,执行子类的构造方法)。

IntelliJ IDEA 创建普通 JavaSE 项目相关推荐

  1. eclipse创建springboot项目_Spring Initializer+IntelliJ IDEA创建Spring Boot项目(图文)

    在本文中,将介绍如何使用Spring Initializer快速创建一个简单的Spring Boot项目.Spring Initializer是由Spring团队开发的一个优秀工具,通过使用它,你可以 ...

  2. 荐 Intellij IDEA创建Maven Web项目(带有webapp文件夹目录的项目)

    转载自:点击打开链接 在创建项目中,IDEA提供了很多项目模板,比如Spring MVC模板,可以直接创建一个基于Maven的Spring MVC的demo,各种配置都已经设定好了,直接编译部署就可以 ...

  3. intellij idea 创建动态web项目

    intellij idea这个开发工具功能强大,但是大部分人都习惯eclipse 开发,所以对这个工具还不是太了解. 今天就给大家分享一下自己使用intellij idea创建一个动态web项目的经验 ...

  4. IntelliJ IDEA创建spring boot项目的方法

    解决[IDEA新建项目时没有Spring Initializr选项]的问题 创建一个新项目(Create New Project) 选择 Spring Initializr.然而我发现我的IDEA上面 ...

  5. Intellij Idea 创建maven WebAPP项目

    结合上一篇环境搭建,下面通过idea创建一个webapp项目 Mac配置Tomcat 打开idea,点击create new project 选中Create from archetype 选中之后才 ...

  6. 使用Intellij Idea 创建一个Web项目!

    相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.baidu.com/s/1dEstJ5f Tomcat(ap ...

  7. IntelliJ IDEA 创建Java Web项目

    1. 创建Web项目 可以先阅读 IntelliJ IDEA 的安装和使用教程 注意:IntelliJ IDEA 中 Project 和 Module 的概念及区别 创建完成后点击Import Cha ...

  8. IntelliJ IDEA创建maven web项目

    步骤一:首先先创建一个project,在这里就是创建一个maven的工作空间 步骤二:1).左边选择maven  2). 勾选create from archetype 3).选择maven-arch ...

  9. Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目

    点击如图所示的地方,进行添加Tomcat配置页面 弹出页面后,按照如图顺序找到,点击+号 tomcat Service -> Local 注意,这里不要选错了哦,还有一个TomEE Servic ...

  10. idea 新建的java项目没发run_IntelliJ IDEA创建普通的Java 项目及创建 Java 文件并运行的教程...

    最近突然看到这篇几年前随手记录的文章,居然浏览量那么高.看来很多小伙伴也开始从 Eclipse 转到 IDEA,这里为了让大家更好的掌握 IDEA 的使用,我建议大家可以看看下面这个 IDEA 教程. ...

最新文章

  1. [Google Guava] 使用和避免null
  2. Matplotlib的画图的补充(Matplotlib的疑难杂症)
  3. 起名与选择器~(总结类、持续更新系列)
  4. java 反射 构造方法_Java反射之构造方法反射
  5. 关于JS中for循环时,作用域问题和this指针指向的总结
  6. HDU 2328 Corporate Identity
  7. python使用phantomJS循环for爬取多个页面时,解决内存持续变大而报错“ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连接”的问题
  8. 心情随笔之纸包子假新闻 [2007年7月25日]
  9. 基于树莓派的远程开锁器
  10. Unity2D中逐帧动画的制作
  11. 计算机系统与维护专科毕业论文,计算机系统维护毕业设计论文
  12. 信息收集之——FOFA网站常用搜索语法
  13. IOS音乐播放器代码
  14. android七牛短视频sdk源码,使用七牛开发短视频
  15. 征信的用途以及提升途径
  16. 学生选课系统功能需求
  17. 迪赛智慧数——柱状图(多色柱状图):十大高薪行业
  18. 《CCNA学习指南:Cisco网络设备互连(ICND2)(第4版)》——1.1节理解VLAN 和VLAN Trunk 及排除相关故障...
  19. 免费获得Java 7并发食谱
  20. Pandas数据分析工具快速进阶三(value_counts与apply结合使用简单的统计函数)

热门文章

  1. 学习记录:python选择结构7.15
  2. 《影响力》 让人顺从的六大原理 [美] Robert B. Cialdini
  3. 2022 CCCC 团体程序设计天梯赛知识点以及题解
  4. 从0开发豆果美食小程序——listItem组件列表
  5. Linux下使用为知笔记的坑和解决办法
  6. 方程组变换+初等变换+矩阵等价+克莱姆法则
  7. 错误specificity:nan
  8. android电量伪装原理,安卓电量伪装神器
  9. 大数据揭秘| 《少年的你》大火之后,流量明星对电影意味着什么?
  10. 2015 ACOUG 年终总结感恩会圆满落幕