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

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

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

  1. 我的Android进阶之旅------>解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0

    问题描述 今天使用Android Studio 2.0打开我之前的项目时,编译报了如下错误: Error:Cause: com/android/build/gradle/internal/model/ ...

  2. 我的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_64 ...

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

    1.错误描述 今天测试人员提了一个bug,说使用我们的app出现了闪退的bug,后来通过debug断点调试,发现我们的app转换服务器发送过来的json数据后,都是为null.而之前已经提测快一个月的 ...

  4. 我的Android进阶之旅------>关于android:layout_weight属性的一个面试题

    最近碰到一个面试题,按照下图,由Button和EditText组成的界面下厨布局代码,解决这题目需要使用android:layout_weight的知识. 首先分析上图所示的界面可以看成一下3个部分. ...

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

    关于androidlayout_weight属性的详细解析 效果一 效果二 图3的布局代码 图4的布局代码 效果三 图7代码 图8代码 效果四 效果五 版权声明:本文为[欧阳鹏]原创文章,欢迎转载,转 ...

  6. 我的Android进阶之旅------>Android字符串资源中的单引號问题error: Apostrophe not preceded by 的解决的方法

    刚刚在string字符串资源文件里,写了一个单引號.报错了,错误代码例如以下 error: Apostrophe not preceded by \ (in OuyangPeng's blog ) 资 ...

  7. 我的Android进阶之旅------> Android在TextView中显示图片方法

    面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包括图像的文本信息).并简要说明实现方法. 答案:Android SDK支持例如以下显示富文本信息的方式. 1.使用T ...

  8. 我的Android进阶之旅------> Android为TextView组件中显示的文本加入背景色

    通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article ...

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

    #1.错误描述 今天,想实现Activity不显示标题栏的效果,在项目的AndroidManifest.xml文件,对相应的Activity添加属性 android:theme="@andr ...

随机推荐

  1. Java的ThreadContext类加载器的实现

    疑惑 以前在看源码的时候,总是会遇到框架里的代码使用Thread.currentThread.getContextClassLoader()获取当前线程的Context类加载器,通过这个Context ...

  2. request.setCharacterEncoding()对通过method="GET"输入的参数无效

    通过GET提交参数有2种 1.浏览器地址栏输入URL?parameter1=value1&parameter2=value2 2.<form method="get" ...

  3. TI_DSP_corePac_带宽管理 - 1.2(仲裁寄存器)

    下图为仲裁寄存器,重要的是理解SDMAARB寄存器.在该寄存器中仅仅须要设计MAXWAIT值,PRI(优先级)设置要在外设(如FFTC,AIF2等)提供的仲裁寄存器中设置,由于是外设在訪问slave, ...

  4. VM下redhat9.0不能上网

    近期本人在学习linux时,安装Red Hat Linux9后,可是上不了网,弄得查资料还得切换到虚拟机上去,特耗时间.还好没有疯掉! 首先,测试下你的linux看是否是这类问题,输入ping www ...

  5. TCP超时重传、滑动窗口、拥塞控制、快重传和快恢复

    TCP超时重传 原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止. 影响超时重传机制协议效率的一个关键参数是重传超时时 ...

  6. python zlib压缩存储到mysql列

    数据太大压缩存储,可以使用zlib中的压缩函数,代码如下: import ujson import MySQLdb import zlib import base64 kwargs = { 'host ...

  7. MySQL Migration Toolkit启动报jre错误

    正常启动的话,会报出“an error occurred during the initialization of the runtime system.Please make sure you ha ...

  8. kvm和qemu的关系

    KVM (Kernel Virtual Machine) is a Linux kernel module that allows a user space program to utilize th ...

  9. Java将视频转为缩略图--ffmpeg

    Java生成视频缩略图 对于上传视频生成缩略图使用的是ffmpeg进行生成的. 自己在网上找了如何进行编译ffmpeg的方法 但是感觉太复杂了 就到csdn上找到了编译好的ffmpeg文件 体会到ff ...

  10. 应用程序无法正常启动 0x0000005

    FeiQ应用程序无法正常启动了,错误代码0x0000005 右键FeiQ.exe,[属性],以Windows7兼容模式运行~