是否有一种方法可以在Eclipse中搜索时排除某些文件夹(及其所有子文件夹)?


当前回答

在Eclipse Juno中最好的快速和肮脏的方法:

右键单击文件夹。 进入属性。 转到C/ c++ Build。 勾选“从构建中排除资源”。 点击OK按钮。 右键单击项目。 转到索引。 单击重建。 放松点!

其他回答

快速而肮脏的方式:

右键单击文件夹,转到属性,并将文件夹标记为派生的。默认情况下,派生实体被排除在搜索之外。这种方法的问题是,如果您删除文件夹(从Eclipse内部或外部删除,然后刷新项目树),Eclipse会“忘记”它是派生的。就像Eclipse一样,这是一个长期存在的错误(在这种情况下是10年),仍然适用于当前版本(在撰写本文时是4.6 Neon)。

安全的方法:

创建一个工作集,其中只包括要搜索的实体,并且只在该工作集中搜索。关于这个过程的细节,请参阅Dave Ray的回答。

我可以想象,标记派生资源可能会在其他领域引起问题。相反,用你想要包含在搜索中的文件夹创建一个工作集:

打开搜索对话框(Ctrl + H) 将搜索范围更改为工作集 单击“选择…” 单击New以创建一个新的工作集,其中包含您想要搜索的内容(或添加全部,然后删除您想要过滤的内容)

在Eclipse Juno中最好的快速和肮脏的方法:

右键单击文件夹。 进入属性。 转到C/ c++ Build。 勾选“从构建中排除资源”。 点击OK按钮。 右键单击项目。 转到索引。 单击重建。 放松点!

以下是对我有效的方法(我正在使用Helios -也许当这个问题最初被问到时,这种方法是不可用的?)

进入“项目->属性->资源过滤器”。 单击Add。 选择过滤类型:排除所有 选择适用于:文件夹;check所有子(递归)。 在“属性”中选择“名称”、“匹配”、“.svn”(例如)。

(实际上,我正在使用。*来一次性过滤掉.svn, .hg等。)

在ok项目属性对话框后,这些目录将不再出现在搜索中。事实上,Eclipse非常友好,它会自动更新现有的搜索结果窗口,并删除现在过滤掉的所有匹配项。

右键单击您的项目 选择属性 选择“Resource ->资源过滤器” 单击“添加过滤器” 选择以下设置: 排除所有 文件和文件夹 所有子(递归) 更改项目相对路径的名称 用(bin$|bin/.*|build/.*|build$)填充输入文本(用你想要排除的文件夹名称替换bin和build) 正则表达式

点击OK,然后应用。

免责声明

这建立在@atzz的答案上,它帮助我弄清楚了这个问题。然而,虽然它确实回答了如何排除某些文件的问题,但它没有回答如何排除某些文件夹的问题。