博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的Android进阶之旅------>解决Android Studio全局搜索搜不到结果的问题
阅读量:6228 次
发布时间:2019-06-21

本文共 2109 字,大约阅读时间需要 7 分钟。

1、问题描述

今天使用Android Studio时,想通过使用快捷键Ctrl+Shift+F来进行全局搜索指定字符串,如下图所示:想搜索字符串”码农偷懒了”,

这里写图片描述
打开string.xml文件,里面明明有字符串”码农偷懒了”,但是就是搜索不到结果,如下图所示
这里写图片描述

错误提示如下所示:

No occurrences of '码农偷懒了' found in Project with mask '*.xml *.java' Find Options... (Ctrl+Shift+F)

2、问题解决

根据错误提示,重新使用快捷键Ctrl+Shift+F打开搜索面板,并进入【File name filter】选项,去掉【File mask(s)】菜单项的勾选。如下图所示:

这里写图片描述
去掉勾选后,如下图所示:
这里写图片描述
然后点击【Find】按钮,就出现了搜索结果,如下图所示:
这里写图片描述

这样通过搜索字符串找到了字符串定义的地方,然后就可以找到该字符串在其他的地方引用了。

使用快捷键Ctrl+Shift+F,搜索关键字”code_undisposed”,如下图所示:
这里写图片描述
搜索结果如下所示:
这里写图片描述

当然,此时也可以使用Alt+F7快捷键进行搜索,将鼠标放在

码农偷懒了
这一行,然后按Alt+F7快捷键,就可以搜索了,如下图所示:
这里写图片描述

上面的快捷键都是Android Studio默认的快捷键,如下所示:

这里写图片描述

有时候,一个很小的疏忽就会导致完全达不到你的要求,很艹蛋!下次注意不要随意勾选【File mask(s)】选项!


3、自定义搜索Scope

博客更新这么久了,今天有个读者 回复了我,回复内容如下:

1楼 灵魂颤抖吧 3小时前发表 [回复]

自定义过滤build下的intermediates和generated文件夹中的所有文件:
Options(Tab)- Scope - Custom(勾选) - 右侧三个点(点击)-
加号(点击)– local – 过滤内容:!file:intermediates/&&!file:generated/

这里写图片描述

让我通过该回复,又学会了一项新技能:【自定义搜索Scope】

通过 读者的提示,搜索关键字【!file:intermediates/&&!file:generated/】来到了【Stack Overflow】网站,地址如下所示:

按照上面的方法,使用下面几步,即可实现自定义搜索Scope.

  • 第一步:在Android Studio 中,使用快捷键【Ctrl+Shift+F】打开搜索框,如下所示:

这里写图片描述

  • 第二步:在【Scope】区域,选择【Custom】选项,然后点击右侧的【…】按钮,如下所示:

这里写图片描述

点击完后,弹出如下所示的弹框

这里写图片描述

  • 第三步:点击【+】按钮,在【Add scope】中选择【Local】
    这里写图片描述

然后填写名称为自定义的【ExcludeIntermediates】,如下所示:

这里写图片描述

点击【OK】按钮,然后弹出如下所示的框,

这里写图片描述

  • 第四步:在【Pattern】文本框中,我们要填写自定义的过滤规则,然后点击【OK】按钮保存。

例如,我们填写规则

!file:*intermediates*/&&!file:*generated*/

这里写图片描述

定义该规则后,imtermediates目录以及generated目录下的文件将不被搜索。

这里写图片描述

如下图所示,使用自定义的Scope之后,搜索build\intermediates\manifest\androidTest\debug\AndroidManifest.xml文件中的字符串“ Tests for com.xtc.watch” 搜索不到了

这里写图片描述

将Scope改为原来的【Whole project】即可搜索的到,如下所示:

这里写图片描述

这里写图片描述

4、更多自定义搜索Scope规则

学会了上面的基本规则之后,你想怎么定义Scope规则都可以,下面介绍一个其他人定义的规则,如下所示:

这里写图片描述

规则代码如下

!file:*intermediates*/&&!file:*generated*/&&file:*java&&!file:R.java&&!file:*_.java||file:*strings.xml||file:*dimes.xml||file:*styles.xml||file:*attrs.xml||file:*colors.xml||file:*layout/*xml&&!file:*build/*xml

该规则,

  • 忽略R.java文件
  • 忽略所有的通过 Android Annotations生成的java文件 (i.e. *_.java files)
  • 包含strings.xml, dimens.xml, styles.xml, attrs.xml, colors.xml files
  • 包含所有的layout/* path 目录下的xml文件

参考链接


这里写图片描述

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:

如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。

这里写图片描述

转载于:https://www.cnblogs.com/ouyangpeng/p/8537737.html

你可能感兴趣的文章
Firebug控制台详解[转]
查看>>
使用Flash Builder 4.6出现 新建配置 失败 java.lang.NullPointerException错误
查看>>
Frp基础配置模版
查看>>
JDK源码阅读--Object
查看>>
有关于认证和加密
查看>>
深入浅出Git教程(转载)
查看>>
[转载]MySQL5.6 PERFORMANCE_SCHEMA 说明
查看>>
max_allowed_packet引起同步报错处理
查看>>
006 复杂的数据类型&函数(方法)
查看>>
javascript:getElementsByName td name
查看>>
ASP.NET连接SQL、Access、Excel数据库(二)——连接实例
查看>>
FreeRTOS 特性简介
查看>>
Linux--前后端分离部署
查看>>
java阶段学习目标
查看>>
Azure IoT 技术研究系列2
查看>>
day24-3-2子类继承构造方法
查看>>
我们一起学习WCF 第五篇数据协定和消息协定
查看>>
Linux 与 Windows 文件互传(VMWare)
查看>>
Python学习笔记八 面向对象高级编程(一)
查看>>
Oracle内置函数
查看>>