LZ名約山炮

博客园 首页 新随笔 联系 订阅 管理

* 简介:程序员每日都会花费数小时使用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)注意:如果新导入的模块对其他模块有依赖,那么被依赖的模块也得导入

导出jar

(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

 

 

 

posted on 2019-07-18 13:15  LZ名約山炮  阅读(301)  评论(0编辑  收藏  举报