上面一篇文章《java开发工具(1)你真的会用IDEA么?(上)》.我们说了Idea的Struture功能和Favorites功能。这一期,针对java开发人员,我想做javaWeb开发的人员基本都是用Spring框架把,所以今天我将向你介绍Idea的Spring,debug和TODO功能。
一、TODO
我想TODO功能,你一定知道,而且经常使用,它的常规使用方式就是在代码行中的注释后面写上“TODO”即可,如下:
// TODO 等商品中心rpc出来后进行对接
这时候上面的TODO会高亮显示。
下面我将TODO的使用界面分为3块向你介绍:
- TODO注释处
- TODO列表栏
- TODO底部展示按钮
1、TODO注释处
上面我们说了常规写TODO的方式,与TODO类似功能的还是fixme,同时与别人一起开发的时候,如果大家都使用TODO,我们一定想找到自己所注释的TODO,我们就分别针对这两种特殊情况看看要怎么处理。
- TODO与FIXME:fixme的用法与todo一样,就是在注释的地方把todo改成fixme。不过官方给出两种使用场景不同:
- todo:标记待处理的功能
- fixme:标识代码需要修正,甚至代码是错误的,需要修改
其实我们在使用的过程中很多时候不用区分那么清楚,能用todo说明要做的事情即可。
- 如果多人都是开发,怎么找到自己标记的TODO:此时你可以定义一个自己的todo,表明这个是自己专用的,后面搜索的时候可以通过过滤条件搜索你自己专用的,关于添加的方式,我们后面会进行介绍。
2、TODO底部展示按钮
上图的标记3处,当你标记了TODO后,需要展示自己所标记的所有TODO,对未完善的工作进行完善,此时就是上面介绍的,位于idea底部的TODO按钮。
3、TODO列表栏
上图的标记2处,里面有一个横栏和一个竖栏,关于横栏和竖栏的功能我进行一一介绍。
横栏
横栏展示图如下:
- project:还记得之前我们说过怎么查看自己设置的TODO么?你本地做的修改,才会显示在这个project处,别人标注的TODO在此处不显示
- currentFile:展示你当前打开的文件中的TODO
- ScopeBased:这里会显示 所有的TODO,你筛选指定目录下面的TODO
- DefaultChangelist:这里会展示你未提交的代码中的TODO
竖栏
竖栏展示图如下:
竖栏的功能点如下:
- 是否展示模块路径
- 展示包路径
- 展示包路径
- 点击这个后,点击对应的TODO代码会跳转到对应类中
- 过滤,创建自己的TODO,或者过滤自定义的TODO
- 不会打开相应的类文件,直接在右侧展示相应的类代码
二、debug
debug功能一定是你每天都在用的功能,常用功能就不说了,现在说一些在特殊场景下使用的功能:debug自定义面板,多线程debug
1、debug自定义面板
上图中的6个标记,我一一介绍。
- Suspend:断点级别,ALL表示对程序而言,Thread表示到线程级别。
- Condition:断点进入的条件
- Log to console:在流程走到断点时打印一些信息。示例如下
- “Breakpoint hit” message:
Breakpoint reached at org.springframework.boot.SpringApplication.run(SpringApplication.java:148)
- Stacktrace会打印堆栈信息。
- Evaluate and log:打印指定参数的值
- Remove once hit:断点走一次就放掉
- Disable until breakpoint is hit:只有进入了指定断电后才能进入此断点
- 后面还有3块,Class filters因为基本用不到,在这里就不进行说明了
2、多线程debug
很多时候,我们都是一个程序打一个断点就行了,在一些特殊的场景,如果需要多线程debug,要怎么使用呢?
下面我就写个多线程debug的示例,我的代码如下:
- 可以看到我写了一个多线程的代码,开了两个线程,现在启动程序进行debug
- 此时看到线程1已经有断点了,此时怎么看线程2的断点呢?此时需要切换线程,切换线程地址如下:
上面标红处切换线程,线程切换后,效果图如下:
三、Spring
在用Spring框架做开发的时候,有时候你需要查找某些bean有么有加载进去,某个bean与其他bean之间的依赖关系是怎么样的,这时候就需要用到这个Idea的Spring功能了。
Spring的位置,我在截图中标示如下:
- 上图中1标记处,展示所有的bean
- 标记2处,展示选择的bean的依赖关系,包括被哪些bean引用,以及引用了哪些bean,和引用的方式:@Resource,@Autowired,@import等
- 标记3处,有三个选择框,分别是Beans,MVC,Data,Beans的功能上面已经介绍,MVC可以展示服务都提供了哪些接口以及接口所在的类。
总结
这篇文章中,介绍了三个功能分别是TODO、debug、Spring
- TODO:标记现在没做,以后要做的事情
- debug:自定义debug条件和多线程debug
- Spring:展示Spring的bean之间的依赖关系和MVC请求路径。
重点
我的java开发工具专栏上线了,我会每周持续更新,告诉你java开发工具中,你可能不知道的细节,有兴趣的朋友可以关注我的专栏《java开发工具》,关注方式:点击博文左侧的分类专栏,点击java开发工具,进入页面点击关注即可,当我有文章更新,会第一时间通知你。
.