2.3 代码相关技巧

2.3.1 打开最近的项目

打开最近的项目是常用的功能之一,一般人们开发时常在几个文件之中来回切换,打开最近使用的项目,如图2-33所示。

图2-33 打开最近使用的项目

2.3.2 本地代码历史

有时候记不清楚某部分代码是什么时间修改的,就需要查看一下代码记录。选中项目文件并右击,在弹出的快捷菜单中选择 Local History 选项,即可查看本地代码记录,如图2-34所示。

图2-34 查看本地代码记录

同时可以看到文件修改的时间节点,旧代码修改记录列表如图2-35所示。

图2-35 旧代码修改记录列表

代码版本修改历史对比如图2-36所示,左边是上一个提交版本,右边是当前版本,颜色加深的部分是发生代码变更的地方。

可以比较两个版本同一行或几行代码的差异。

图2-36 新旧版本代码对比

2.3.3 展示类成员变量

可以将类中的方法和声明引用的类展示出来,在项目顶部导航栏中单击“设置”按钮(类似齿轮那个),在弹出的下拉列表中选择Show Members选项,如图2-37所示。

这样就可以看到如图2-38所示的函数和声明的类,然后双击对应的函数名称就能跳转到代码对应类的那一行。

图2-37 类成员展示

图2-38 展示类中的函数

2.3.4 内存展示

JVM内存调优。打开File→Settings→Appearance&Behavior→Appearance页面,在页面下半部分可以看到一些 Windows 设置,在 Window Options 选项区域中选中Show memory indicator复选框,确认即可开启内存展示,如图2-39所示。

图2-39 开启内存展示

如图2-40所示,在页面右下角即可看到对应的内存使用情况。

图2-40 内存使用情况

打开指定区域,即可自定义编辑JVM参数,JVM相关配置参数如图2-41所示。

图2-41 JVM相关配置参数

重点参数解释如下。

(1)-Xms1024m:设置程序启动时占用内存大小为1024MB。

(2)-Xmx2048m:设定程序运行期间最大可占用的内存为2048MB,如果程序在运行过程中超过了这个值,会抛出OutOfMemory异常。

(3)-XX:ReservedCodeCacheSize=240m:代码缓存为240MB。

(4)-XX:+UseCompressedOops:选用32位的 OOP,通过压缩 OOP 可以节省内存。

(5)-Dfile.encoding=UTF-8:设定系统文件编码格式。

(6)-XX:+UseConcMarkSweepGC:CMS,基于标记清除算法实现的多线程老年代垃圾回收器。

这样就可以看到最大堆内存增加了。

2.3.5 查看项目结构

查看项目结构、函数列表和变量列表,如图2-42所示。

图2-42 查看项目结构、函数列表和变量列表

这里,最外层图标表示类,里面的 C 表示 Class,图标表示类中方法,图标表示变量。

2.3.6 多线程断点调试

在开发中经常会用到多线程,因此掌握多线程的调试方法也能帮助开发者快速地定位到异常信息,设置断点的方法如图2-43所示。

图2-43 设置断点

通过Debugger面板可以查看调用栈,如图2-44所示。

图2-44 查看调用栈

设置断点触发条件,如图2-45所示。

图2-45 断点触发条件

当循环到指定条件节点时,就会触发断点,如图2-46所示。

图2-46 触发断点

这里用光标选中断点的变量,单击加号,就可以查看断点的详情了。

2.3.7 同步显示类

有时候文件过多,想快速定位文件在项目中所在的位置,可以通过同步显示类实现,如图2-47所示。

图2-47 同步显示类

如果变量是字符串类型,直接在变量后加“.null”或“.notnull”,然后生成判断。