* 简介:程序员每日都会花费数小时使用ide编写和调试代码,其中很多操作都是机械重复且频率非常高,本着"工欲善其事必先利其器"的精神,闷头写代码之外花点时间研究一下自己用的ide,其带来的效率提升非常可观。
本课程选择了intellij idea这一java集成工作开发环境,从如何高效定位、代码智能提示、重构、关联、版本控制等全方面展示这款idea发挥的功能,相信同学们在学习并掌握了这款idea的技巧之后,
开发效率至少提升两倍以上,你只需要专注于业务逻辑,把更多的重复劳动交给idea吧。
详细配置
1、运行内存大小配置
找到IDEA安装目录的bin目录例如:D:\ProgramFiles\JetBrains\IntelliJ_IDEA_2019.2.3\bin,找到idea64.exe.vmoptions文件,用文本编辑器打开:
-
大家根据电脑系统的位数,选择 32 位的 VM 配置文件或者 64 位的 VM 配置文件
-
32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
-
64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
-
64 位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目,建议进行修改,常修改的就是下面 3 个参数:
-Xms128m
如果16 G 内存的机器可尝试设置为 -Xms512m(设置初始的内存数,增加该值可以提高 Java 程序的启动速度。)
-Xmx750m
如果16 G 内存的机器可尝试设置为 -Xmx1500m(设置最大内存数,提高该值,可以减少内存 Garage 收集的频率,提高程序性能)
-XX:ReservedCodeCacheSize=240m
如果16G 内存的机器可尝试设置为-XX:ReservedCodeCacheSize=500m(保留代码占用的内存容量)
2、如何打开详细配置界面
(1)显示工具栏
(2)选择详细配置菜单和按钮
3、默认启动项目配置
如果去掉Reopen last project on startup前面的对勾,每次启动IDEA就会出现如下界面:
4、设置整体主题
(1)选择主题
(2)设置菜单和窗口字体和大小
3、设置编辑器
(1)编辑器主题
(2)字体大小与颜色
更详细的字体与颜色如下:
(3)显示行号与方法分隔符
4、自动提示功能
IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 system,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入System 就可以进行代码提示和补充。 如果想不区分大小写的话,就把这个对勾去掉。
5、自动导包配置
-
默认需要自己手动导包,Alt+Enter快捷键
-
自动导包设置
-
动态导入明确的包:Add unambiguous imports on the fly,该设置具有全局性;
-
优化动态导入的包:Optimize imports on the fly,该设置只对当前项目有效;
-
6、设置编码
(1)当前项目编码设置
方式一:File菜单-->Settings-->Editor-->File Encodings
方式二:工具类的详细配置按钮-->Editor-->File Encodings
说明: Transparent native-to-ascii conversion主要用于转换ascii,一般都要勾选。
(2)新建项目默认编码设置
方式一:File菜单-->Other Settings-->Settings for New Projects...-->Editor-->File Encodings
方式二:启动界面右下角有Config-->Settings-->Editor-->File Encodings
7、设置自动编译
方式一:File菜单-->Settings-->Build,Execution,Deployment-->Compiler
方式二:工具类的详细配置按钮-->Build,Execution,Deployment-->Compiler
注意:该项配置只针对当前项目有效。
8、取消自动更新
9、项目的JDK设置
方式一:File-->Project Structure...-->Platform Settings -->SDKs
方式二:工具栏-->Platform Settings -->SDKs
注:SDKs全称是Software Development Kit
快捷键
1、软件通用的快捷键
-
保存:Ctrl + S
-
剪切:Ctrl + X
-
粘贴:Ctrl + V
-
复制:Ctrl + C
-
全选:Ctlr + A
-
撤销:Ctrl + Z
2、IDEA常用快捷键
(1)提高代码编写速度
-
智能提示:Alt + 回车
-
自动代码
-
自动补全函数括号、分号、当前行缩进:Ctrl + Shift + 回车
-
提示代码模板:Ctrl + J
-
使用xx块环绕:Ctrl + Alt + T
-
自动生成构造器、get/set:Alt + Insert (有的键盘需要同时按Fn键)
-
由方法自动生成返回值变量:Ctrl + Alt + V
-
-
格式化代码:Ctrl + Alt + L
-
插入空行开始编辑
-
在当前光标下一行插入空行开始编辑:Shift + 回车
-
在当前光标上一行插入空行开始编辑:Ctrl+Alt+回车
-
-
移动代码
-
向上移动代码:Ctrl+Shift + ↑ (整个方法移动)或 Alt + Shift + ↑(逐行移动)
-
向下移动代码:Ctrl+Shift + ↓ (整个方法移动) 或 Alt + Shift + ↓(逐行移动)
-
-
复制行:Ctrl+D
-
删除行
-
Ctrl + Y
-
不选中删除光标所在行:Ctrl + X
-
-
重命名类、变量、方法等:选择要重名的元素,按Shift + F6
-
抽取代码重构方法:Ctrl + Alt + M
-
查看所调用方法的形参列表提醒:Ctrl + P
-
重写或实现方法
-
实现接口的方法:Ctrl + i
-
重写父类的方法:Ctrl + O
-
-
注释
-
单行注释:Ctrl + /
-
多行注释:Ctrl + Shift + /
-
-
转大小写:Ctrl +Shift + U
(2)移动光标定位
-
移动定位
-
跳转到上一个/下一个位置编辑位置:Ctrl + Alt + 左/右键
-
跳转到上一个/下一个方法位置: Alt + 上/下键
-
打开的类文件之间切换: Alt + 左/右键
-
定位某行:Ctrl + G
-
-
选择文本:Ctrl + W
-
按一下选择单词,再按选择语句,再按选择行,再按选择方法
-
(3)查找与查看源码
-
按住Ctrl键,单击某个类或方法就可以打开某个类或方法的源码
-
但是当某个变量是通过多态引用调用父类或父接口的方法时,想要打开方法的实现类:Ctrl +Alt +B
-
-
查看方法文档:选中方法名后按Ctrl + Q
-
查看某个类的结构信息
-
类的继承层次:Ctrl + H
-
类的UML关系图:Ctrl + Alt + U
-
当前文件结构:Ctrl + F12键
-
-
搜索
-
搜索类:Ctrl + N
-
全项目搜索文本:Ctrl + Shift + F
-
全项目替换文本:Ctrl +Shift + R
-
当前源文件查找文本:Ctrl + F
-
当前源文件替换问题:Ctrl + R
-
任何地方搜索:双击Shift
-
-
折叠与展开
-
折叠方法实现:Ctrl + Shift + -
-
展开方法实现:Ctrl +Shift + +
-
3、查看和自定义快捷键
(1)已知快捷键操作,未知快捷键
(2)已知快捷键,不知道对应的操作名
(3)自定义自己的快捷键
4、取消双击shift搜索
因为我们按shift切换中英文输入方式,经常被按到,总是弹出搜索框,太麻烦了。可以取消它。
双击shift 或 ctrl + shift + a,打开如下搜索窗口:
选择registry...,找到"ide.suppress.double.click.handler",把复选框打上勾就可以取消双击shift出现搜索框了。
八、代码模板
1、常用快捷模板
-
主方法
-
psvm:public static void main(String[] args){}
-
main:public static void main(String[] args){}
-
-
输出语句
-
sout:System.out.println();
-
soutp:System.out.println("xxx :" + 方法形参);
-
soutm:System.out.println("xx类.当前方法名");
-
soutv:System.out.println("变量名 = " + 变量);
-
变量.sout:System.out.println("变量名 = " + 变量);
-
-
非空判断
-
ifn:if(xx == null)
-
inn:if(xx != null)
-
变量.null:if(变量 == null)
-
变量.nn:if(变量 != null)
-
-
遍历
-
fori:for循环
-
itar:遍历数组
-
iter:foreach循环
-
-
静态常量声明
-
psf:public static final
-
prsf:private static final
-
-
常量声明:
-
psfi:public static final int
-
psfs:public static final String
-
-
List集合遍历
-
list集合.for:foreach循环
-
list集合.fori:用for循环遍历list集合,正向遍历
-
list集合.forr:用for循环遍历list集合,逆向遍历
-
2、预定义模板
(1)预定义Postfix Completion模板,不能修改
(2)预定义Live Templates模板,可以修改
3、自定义模板
(1)定义sop模板
①在Live Templates中增加模板
②先定义一个模板的组
③在模板组里新建模板
④定义模板
-
Abbreviation:模板的缩略名称
-
Description:模板的描述
-
Template text:模板的代码片段
-
应用范围。比如点击Define。选择如下:应用在java代码中。
(2)定义test测试方法模板
选中自定义的模板组,点击”+”(1.Live Template)来定义模板。
Debug调试
1、启动Debug
在所有调试中,调试一个Java程序是最简单的,主要有设置断点、启动调试、单步执行、结束调试几步。
1)设置断点:在源代码文件中,在想要设置断点的代码行的前面的标记行处,单击鼠标左键就可以设置断点,在相同位置再次单击即可取消断点。
2)启动调试:IDEA提供多种方式来启动程序(Launch)的调试,分别是通过菜单(Run –> Debug)、图标(“绿色臭虫”等等
2、单步调试工具介绍
或
:Step Over(F8):进入下一步,如果当前行断点是调用一个方法,则不进入当前方法体内
:Step Into(F7):进入下一步,如果当前行断点是调用一个自定义方法,则进入该方法体内
:Force Step Into(Alt +Shift + F7):进入下一步,如果当前行断点是调用一个核心类库方法,则进入该方法体内
:Step Out(Shift + F8):跳出当前方法体
:Run to Cursor(Alt + F9):直接跳到下一个断点处继续调试
:Resume Program(F9):恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上
:Stop(Ctrl + F2):结束调试
:View Breakpoints(Ctrl + Shift + F8):查看所有断点
:Mute Breakpoints:使得当前代码后面所有的断点失效, 一下执行到底
3、自定义调试数据视图
生成javadoc
导入模块
当想要在当前项目中导入一个已存在的模块时,可以进行如下操作:
(1)将要导入的模块
拷贝到项目目录中:
(2)在项目的modules.xml文件中加入如下配置即可
(3)注意:如果新导入的模块中有依赖相应的库,必须确保对应的库在项目中能找到,否则会报错
(4)注意:如果新导入的模块对其他模块有依赖,那么被依赖的模块也得导入
(1)单击工具栏打开项目设置。
(2)选择Artifacts(打包部署),选择添加jar。
(3)给导出的jar命名,确认导出的路径
(4)确认创建或选择已有的Manifest.MF文件。单词“manifest”的意思是“显示” 。 这个 manifest 文件定义了与扩展和包相关的数据。
说明: 打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息
(5) 选择Manifest.MF文件存储目录。
(6)如果需要可以填写jar的运行入口,main所在的类的全名称。(可选)
(7)选择jar要包含的.class文件的目录,即哪些模块的out目录
(8)编译生成jar
(9)查看生成的jar