Eclipse:如何在Project Explorer中隐藏自定义文件

时间:2011-05-26 11:38:25

标签: eclipse eclipse-cdt

我在CDT中有一个自定义构建器,它将很多文件添加到项目目录中。我希望从Project Explorer中过滤掉这些文件,但无法弄清楚如何(文件掩码是* .ooj)。

是否可以通过文件掩码将自定义过滤器添加到自定义视图中?或者也许在Project Explorer中有另一种方法可以隐藏文件?

4 个答案:

答案 0 :(得分:96)

以下是Eclipse Indigo / Luna / Neon(截至2018-05-22)的方法:

  • 打开“项目属性”
    • 下拉菜单 - >项目 - >特性
    • 将出现名为“Properties”的新对话窗口
  • 创建“资源过滤器”
    • 选择资源 - >资源过滤器 - >添加过滤器...
    • 将出现名为“为项目添加资源过滤器”的新对话窗口
    • 在新对话框中选择以下内容
      • 过滤器类型:全部排除
      • 适用于:文件
      • 请务必点击“所有儿童(重复)”
      • 的复选框
      • 文件和文件夹属性
        • 选择:姓名
        • 选择:匹配
        • 填写:* .ooj
      • 点击确定
      • 对话框关闭
  • 应用新过滤器
    • 点击“应用”
    • 您应该会在“导航器”视图中看到更改
  • 关闭“项目属性”
    • 点击确定
  • 完成

答案 1 :(得分:3)

您可以为此定义过滤器。在Package Explorer中打开视图菜单,然后选择“Filters ...”在这里,您可以定义一个模式来隐藏文件。

答案 2 :(得分:3)

如何将全局用户定义的资源过滤器添加到Eclipse Project Explorer视图:

在项目级别修改和切换过滤器需要大量的点击,如果您的工作区中有许多项目,则可能会很繁琐。如果您需要一次又一次地对所有项目应用或切换相同的过滤器设置,您可能更喜欢所有项目和所有工作区的更快速的全局解决方案。

  • 修改plugin.xml中的文件plugin.propertiesplugins/org.eclipse.ui.navigator.resources_{version}.jar(提取,修改并重新添加修改后的文件)。

  • 例如,在plugin.xml中向元素/plugin/extension @point="org.eclipse.ui.navigator.navigatorContent"添加仅文件过滤器:

    <commonFilter id="org.eclipse.ui.navigator.resources.filters.{unique-id-a}" name="%filters.{unique-id-a}.name" description="%filters.{unique-id-a}.description" activeByDefault="true|false">
       <filterExpression>
          <and>
             <instanceof value="org.eclipse.core.resources.IFile"/>
             <test property="org.eclipse.core.resources.name" value="{file-wildcard-pattern-a}"/>
          </and>
       </filterExpression>
    </commonFilter>
    
  • 另一个例子是,将plugin.xml中的文件和目录过滤器添加到同一元素中:

    <commonFilter id="org.eclipse.ui.navigator.resources.filters.{unique-id-b}" name="%filters.{unique-id-b}.name" description="%filters.{unique-id-b}.description" activeByDefault="true|false">
       <filterExpression>
          <and>
             <adapt type="org.eclipse.core.resources.IResource">
                <test property="org.eclipse.core.resources.name" value="{file-wildcard-pattern-b}"/>
             </adapt>
          </and>
       </filterExpression>
    </commonFilter>
    
  • plugin.properties中为所有添加的过滤器提供过滤器名称和说明。无论过滤器类型如何,Project Explorer视图中的过滤器显示顺序都是通过此过滤器名称:

    filters.{unique-id-a}.name={file-wildcard-pattern-a} files
    filters.{unique-id-a}.description=Hides files that match "{file-wildcard-pattern-a}"
    
    filters.{unique-id-b}.name={file-wildcard-pattern-b} files and folders
    filters.{unique-id-b}.description=Hides files and folders that match "{file-wildcard-pattern-b}"
    
  • 重启Eclipse并重置其缓存:eclipse.exe -clean

答案 3 :(得分:1)

首先感谢@emmzett 我只想用emmzett的答案的详细方式进行解释,因为我对编辑插件文件一无所知,因此花了2个小时。也许我可以用这个明确的表达方式节省您的时间。

  1. 首先进入eclipse文件,然后 plugins-> org.eclipse.ui.navigator.resources_(您的日蚀版本).jar
  2. 右键单击.jar文件并使用winrar打开
  3. 使用编辑器(记事本,记事本++等)找到plugin.xml打开的 plugin.xml个文件
  4. 找到point="org.eclipse.ui.navigator.navigatorContent"并在下面粘贴代码
    <commonFilter id="org.eclipse.ui.navigator.resources.filters.SpecifyAnIdForYourFileType" 
                 name="%filters.SpecifyAnIdForYourFileType.name" 
                 description="%filters.SpecifyAnIdForYourFileType.description"
                 activeByDefault="true">
      <filterExpression>
          <and>
             <instanceof value="org.eclipse.core.resources.IFile"/>
             <test property="org.eclipse.core.resources.name" value="your specific file"/>
          </and>
       </filterExpression>
    </commonFilter>
  5. 用唯一的ID更改SpecifyAnIdForYourFileType 用您的特定文件后缀(例如"your specific file"*.pdf等)更改desktop.ini
  6. 保存plugin.xml并退出
  7. 使用与第3步相同的编辑器找到plugin.properties打开 粘贴此代码
    filters.SpecifyAnIdForYourFileType.name=your specific file files
    filters.SpecifyAnIdForYourFileType.description=Hides files that match your specific file
  8. 保存plugin.properties并退出
  9. 重新启动eclipse并清除缓存,而不是转到Project Explorer 左侧
  10. 点击右上角的View Menu图标
  11. 点击Filters and Customization...
  12. Filters菜单中勾选新的过滤器。

这就是我要再次感谢emmzett。

致谢。