阅读源码的利器 — Intellij IDEA中 Replace in Path 的使用技巧

作者:莫那·鲁道 链接:http://thinkinjava.cn

前言

讲讲宇宙排名第二的开发工具—–IDEA的使用技巧。

搜索/替换 技巧

阅读源码的利器

1、Match case: 如果勾选该按钮,搜索时将区分大小写字母。

2、Preserve case: 如果勾选该按钮,搜索时不区分大小写,但替换的时候,将会把你给定的字符串的首字母替换成小写。

比如,你输入 HelloWorld,将会被替换成 helloWorld。

3、regex: 可以使用正则表达式搜索,可参照 java.util.regex。

4、右上角蓝色漏斗有几个选项:

5、File mask: 可以过滤要查找的文件格式。可以使用通配符:

可以同时指定多个文件,使用逗号隔开。注意:!,即否定模式,隐式的使用了 * 号匹配。

6、Search field: 这是我们使用的最多的,即——搜索框,可手动输入,也可以点击下拉框寻找历史记录。也可以使用正则表达式。

7、Replace field:替换字段,可指定替换的文本,也可以使用正在表达式替换文本,如果要在表达式中使用 \,则需要在前面插入三个额外的反斜杠用于转义。

8、In Project: 在自己的项目范围中搜索。

9、Module:在模块中搜索, 可以指定模块,并可以在下拉框切换模块哦。

10、Directory:在指定目录内搜索。右侧那个小文件树 icon,好像并没什么用啊……

11、Scope: 在指定范围内搜索。下拉框中有各种范围。

12、Preview area: 当然,最强大的还是预览窗口了,可以使用方向键上下预览,并且可以在预览框中编辑,爽的不行。

13、最危险的是下面这个操作:

当你重构的时候,弄的不好,就全部替换了。。。。。那就尴尬了。 说说上面几个选项的具体作用:

关于 Review :

这个算是手动模式吧,你可以一个一个检查。Replace All 就是替换所有内容,比较危险,Replace Selected 就是替换选中的内容(使用 ctrl 或 shift 多选)。

总结

好了,关于 IDEA 的搜索功能就介绍到这里啦,其实,在阅读源码的过程中,真的要学会善用搜索,当然,不仅是搜索,还有各种功能,比如打断点,断点的跳转,类的继承,实现 UML,方法调用栈,线程调用栈,变量条件判断等等,很多,这些都是阅读源码时不可获取的重要功能,在 debug 的时候,能大大提高我们的效率。

最后,如有条件,请支持正版。谢谢

原文发布于微信公众号 - 精讲JAVA(toooooooozi)

原文发表时间:2018-11-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java后端技术栈

Java多线程编程-(1)-线程安全和锁Synchronized概念

(1)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程。

853
来自专栏Java学习网

Java线程使用技巧学习(一)

Java线程使用技巧学习(一) Java线程有哪些不太为人所知的技巧与用法?   萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因...

1896
来自专栏Golang语言社区

Go语言基于共享变量的并发

一个特定类型的方法和操作函数是并发安全的,那么所有它的访问方法和操作都是并发安全的。导出包级别的函数一般情况下都是并发安全的,package级的变量没法被限制在...

41611
来自专栏眯眯眼猫头鹰的小树杈

深入理解 依赖注入

相信所有面试java开发的童鞋一定都被问到过是否使用过Spring,是否了解其IOC容器,为什么不直接使用工厂模式,以及究竟IOC和DI区别在于哪里这种问题。今...

821
来自专栏coding for love

在线商城项目08-数据库创建和商品集合的创建

因为six_tao中没有任何内容。我们需要为其创建一个集合或者插入文档,数据库才会显示。例如:

774
来自专栏Golang语言社区

Go语言基于共享变量的并发

一个特定类型的方法和操作函数是并发安全的,那么所有它的访问方法和操作都是并发安全的。导出包级别的函数一般情况下都是并发安全的,package级的变量没法被限制在...

3864
来自专栏V站

关于php的成员变量和全局变量

而php中的全局变量是global定义下的全局变量,是真正的属于当前页面,或者当前文件都能使用的比如:

3746
来自专栏ascii0x03的安全笔记

Lua编写wireshark插件初探——解析Websocket上的MQTT协议

一、背景 最近在做物联网流量分析时发现, App在使用MQTT协议时往往通过SSL+WebSocket+MQTT这种方式与服务器通信,在使用SSL中间人截获数据...

72214
来自专栏Albert陈凯

2018-08-02 IntelliJ IDEA - Debug 调试多线程程序IntelliJ IDEA - Debug 调试多线程程序

https://blog.csdn.net/nextyu/article/details/79039566

1882
来自专栏信安之路

ring3层恶意代码实例汇总

之前一期我们学习了 IAT 的基本结构,相信大家对 C++ 有了一个基本的认识,这一期放点干货,我把 ring3 层恶意代码常用的编程技术给大家整理了一下,所有...

1400

扫码关注云+社区

领取腾讯云代金券