我的Android进阶之旅------>解决Android Studio全局搜索搜不到结果的问题

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】网站,地址如下所示:
https://stackoverflow.com/questions/22973939/ignore-r-java-fies-in-find-results

按照上面的方法,使用下面几步,即可实现自定义搜索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://stackoverflow.com/questions/22973939/ignore-r-java-fies-in-find-results



作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng

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

时间: 2024-08-03 17:25:22

我的Android进阶之旅------>解决Android Studio全局搜索搜不到结果的问题的相关文章

我的Android进阶之旅------>解决Android Studio编译后安装apk报错:The APK file does not exist on disk

1.错误描述 今天用Android Studio编译应用后安装APK的时候,报错了,错误如下所示: The APK file build\outputs\apk\OYP_2.3.4_I2Base_6476_official_debug.apk does not exist on disk. Error while Installing APK 如下图所示 2.解决方法 1.尝试了Build -> Clean Project再编译,还是无效 2.尝试重启Android Studio无效 然后我去打

【我的Android进阶之旅】解决Android Studio启动时报错:Java 1.8 or later is required.

错误描述 在公司电脑上运行Android Studio 2.2已经有一段时间了,但是自己的笔记本上还是用的Android Studio 1.5,今天晚上下了一个Android Studio 2.2压缩包,解压后启动Android Studio 2.2就报错了,错误如下所示: Unsupported Java Version : Cannot start under Java 1.7.0_04-b22 : Java 1.8 or later is required. 分析错误 查看当前电脑的Jav

【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符

1.问题描述 最近在负责公司基础业务和移动基础设施的开发工作,正在负责Lint代码静态检查工作.因此编写了自定义的Lint规则,在调试过程中,编译的时候出现了如下所示的错误: 部分输出日志如下所示: :XTCLintrRules:compileJava D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.j

我的Android进阶之旅------>解决Jackson等第三方转换Json的开发包在开启混淆后转换的实体类数据都是null的bug

1.错误描述 今天测试人员提了一个bug,说使用我们的app出现了闪退的bug,后来通过debug断点调试,发现我们的app转换服务器发送过来的json数据后,都是为null.而之前已经提测快一个月的功能,一直都是稳定的,为什么现在会报java.lang.NullPointerException. 2.错误原因 原来我提测了一个月的APP版本一直没有打开混淆开关,而出问题的这个APP版本在即将要发布出去的时候打开了混淆开关.这样的话,我那些要通过转换json数据为bean实体类,因为没有在pro

我的Android进阶之旅------>关于android:layout_weight属性的详细解析

关于androidlayout_weight属性的详细解析 效果一 效果二 图3的布局代码 图4的布局代码 效果三 图7代码 图8代码 效果四 效果五 版权声明:本文为[欧阳鹏]原创文章,欢迎转载,转载请注明出处! [http://blog.csdn.net/ouyang_peng/article/details/50757149] 关于android:layout_weight属性的详细解析 效果一 图1 上面的效果图中三个文本框的宽度比为 1:2:3 图2 代码如下所示: <?xml ver

【我的Android进阶之旅】解决bug:You need to use a Theme.AppCompat theme (or descendant) with this activity.

前言 今天用Android Studio 生成Activity的时候,默认继承AppCompatActivity ,而在AndroidManifest.xml我对该Activity设置了一个主题,然后运行的时候报了错误: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xtc.watch/com.xtc.watch.view.defaultprompt.activity.DefaultPromptAct

我的Android进阶之旅------&amp;gt;解决错误:You need to use a Theme.AppCompat theme (or descendant) with this activity.

#1.错误描述 今天,想实现Activity不显示标题栏的效果,在项目的AndroidManifest.xml文件,对相应的Activity添加属性 android:theme="@android:style/Theme.NoTitleBar" 具体代码如下: <activity android:name=".module.view.activity.KuwoMusicPlayActivity" android:theme="@android:sty

我的Android进阶之旅------&amp;gt;解决:Execution failed for task &#039;:app:transformResourcesWithMergeJavaResForDebug&#039;.

错误描述 今天在Android Studio项目中加入了jackson的开发包,编译运行时候,引发了如下的错误: Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Du

【我的Android进阶之旅】解决错误:No enum constant com.android.build.gradle.OptionalCompilationStep.FULL_APK

今天在分支编译代码并允许之后,接着同步主干代码之后,再继续点击[Run]按钮允许程序的时候报错了,错误描述日志如下所示: 一.错误描述 Error:(1, 1) A problem occurred evaluating project ':watch'. > Failed to apply plugin [id 'com.android.application'] > No enum constant com.android.build.gradle.OptionalCompilationS