从Eclipsesearch中排除文件夹

有没有办法在Eclipse中search某些文件夹(及其所有子文件夹)?

快速和肮脏的方式:

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

安全的方式:

创build一个工作集,只包括那些您想要search的实体,并只在该工作集中进行search。 有关此过程的详细信息,请参阅Dave Ray的答案 。

这是什么对我有用(我使用太阳神 – 也许这种方式不可用时,这个问题最初被问到?)

  • 转到项目 – >属性 – >资源filter。
  • 点击添加
  • selectfiltertypes排除所有
  • select适用于文件夹 ; 检查所有的孩子(recursion)
  • 在属性中,select名称匹配.svn (例如)。

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

好的项目属性对话框后,这些目录不会再出现在search中。 事实上,Eclipse是如此友善,自动更新现有的search结果窗口,并删除所有现在被过滤掉的匹配。

我可以想象得出的标记资源可能会导致其他领域的问题。 相反,使用要包含在search中的文件夹创build一个工作集:

  • 打开search对话框( Ctrl + H
  • 将search范围更改为工作集
  • 点击select…
  • 点击新build以创build一个新的工作集与你想要的search(或全部添加,然后删除那些你想过滤

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

  1. 右键点击文件夹
  2. 去属性。
  3. 转到C / C ++构build。
  4. 选中“从构build中排除资源”。
  5. 点击确定button。
  6. 右键点击该项目
  7. 去索引。
  8. 点击重build。
  9. 放松!