前言

讲讲宇宙排名第二的开发工具—–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 的时候,能大大提高我们的效率。

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

扩展阅读

杂谈篇之我是怎么读源码的

从线程池理论浅析为什么要看源码

向Spring大佬低头——大量源码流出解析

IntelliJ IDEA使用技巧

Intellij IDEA神器那些让人爱不释手的小技巧

作者:莫那·鲁道

来源:http://thinkinjava.cn/

阅读源码的利器——Intellij-IDEA-Replace-in-Path-使用技巧的更多相关文章

  1. 转载~Linux 平台下阅读源码的工具

    Linux 平台下阅读源码的工具 前言 看源代码是一个程序员必须经历的事情,也是可以提升能力的一个捷径.个人认为: 要完全掌握一个软件的方法只有阅读源码在Windows下有sourceinsight这 ...

  2. Linux 平台下阅读源码的工具链

    原文:http://blog.jobbole.com/101322/ 前言 看源代码是一个程序员必须经历的事情,也是可以提升能力的一个捷径.个人认为: 要完全掌握一个软件的方法只有阅读源码. 在Win ...

  3. Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!

    今天介跟大家分享一下我平时阅读源码的几个小技巧,对于阅读java中间件如Spring.Dubbo等框架源码的同学有一定帮助. 本文基于Eclipse IDE,我们每天都使用的IDE其实提供了很多强大的 ...

  4. 【转】使用 vim + ctags + cscope + taglist 阅读源码

    原文网址:http://my.oschina.net/u/554995/blog/59927 最近,准备跟学长一起往 linux kernel 的门里瞧瞧里面的世界,虽然我们知道门就在那,但我们还得找 ...

  5. Spring源码解析——如何阅读源码(转)

    最近没什么实质性的工作,正好有点时间,就想学学别人的代码.也看过一点源码,算是有了点阅读的经验,于是下定决心看下spring这种大型的项目的源码,学学它的设计思想. 手码不易,转载请注明:xingoo ...

  6. Spring源码解析——如何阅读源码

    最近没什么实质性的工作,正好有点时间,就想学学别人的代码.也看过一点源码,算是有了点阅读的经验,于是下定决心看下spring这种大型的项目的源码,学学它的设计思想. 手码不易,转载请注明:xingoo ...

  7. 阅读源码(III)

    往期系列: <由阅读源码想到> <由阅读源码想到 | 下篇> Medium上有一篇文章Why You Don't Deserve That Dream Developer Jo ...

  8. 阅读源码(IV)

    往期系列: <由阅读源码想到> <由阅读源码想到 | 下篇> <阅读源码(III)> Eric S.Raymond的写于2014年的<How to learn ...

  9. How Tomcat works — 一、怎样阅读源码

    在编程的道路上,通过阅读优秀的代码来提升自己是很好的办法.一直想阅读一些开源项目,可是没有合适的机会开始.最近做项目的时候用到了shiro,需要做集群的session共享,经过查找发现tomcat的s ...

随机推荐

  1. SparkStreaming概述

    Spark Streaming 是Spark核心API的一个扩展,可以实现高吞吐量的.具备容错机制的实时流数据的处理. ◆ 支持从多种数据源获取数据,包括Kafka.Flume.Twitter.Zer ...

  2. 循序渐进VUE+Element 前端应用开发(19)--- 后端查询接口和Vue前端的整合

    循序渐进VUE+Element 前端应用开发的系列文章中,前面介绍了系统各个功能的处理实现,本篇随笔从一个主线上介绍前后端开发的整合,让我们从ABP框架后端的查询接口的处理,前端API接口调用的封装, ...

  3. Java面试题(多线程篇)

    多线程 35.并行和并发有什么区别? 1.并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔发生. 2.并行是在不同实体上的多个事件,并发是在同一实体上的多个事件. 3.在 ...

  4. Navicat12 for Mysql激活

    1      下载 注册机和Navicat网盘下载地址 链接:https://pan.baidu.com/s/1AFpQIlHCXVHc8OuBZ9PAlA  提取码:xvi2 2      安装 2 ...

  5. 2020,你需掌握go 单元测试进阶篇

    本文说明go语言自带的测试框架未提供或者未方便地提供的测试方案,主要是用于解决写单元测试中比较头痛的依赖问题.也就是伪造模式,经典的伪造模式有桩对象(stub),模拟对象(mock)和伪对象(fake ...

  6. mq本机上能用,其他机子上连上不mq

    有一次遇到了记录下.原因是suse11重启后会自动开防火墙. 关了防火墙. rcSuSEfirewall2 stopShutting down the Firewall done

  7. Codeforces1365

    AC代码 A. Matrix Game 对于给定矩阵,剩余可用的位置的数目是确定的,根据奇偶性判断就完事了. B. Trouble Sort 如果数组\(b\)有0有1,那么Yes.否则只有数组\(a ...

  8. 【IDEA】【SpringBoot】基于idea对springboot程序远程调试

    一.开启远程调试前提:本地代码与服务器代码一致(实测:不关键的代码稍微有点不一样好像也不会有多大问题). 二.开启远程调试步骤 1.开发工具配置 idea端打开Edit configurations, ...

  9. SpringBoot整合Quartz及log4j实例

    SpringBoot整合Quartz及log4j实例 因为之前项目中经常会做一些定时Job的东西,所以在此记录一下,目前项目中已经使用elastic-job,这个能相对比Quartz更加简单方便一些, ...

  10. Kubernetes K8S在IPVS代理模式下Service服务的ClusterIP类型访问失败处理

    Kubernetes K8S使用IPVS代理模式,当Service的类型为ClusterIP时,如何处理访问service却不能访问后端pod的情况. 背景现象 Kubernetes K8S使用IPV ...