我在CDT中有一个自定义构建器,它将很多文件添加到项目目录中。我希望从Project Explorer中过滤掉这些文件,但无法弄清楚如何(文件掩码是* .ooj)。
是否可以通过文件掩码将自定义过滤器添加到自定义视图中?或者也许在Project Explorer中有另一种方法可以隐藏文件?
答案 0 :(得分:96)
以下是Eclipse Indigo / Luna / Neon(截至2018-05-22)的方法:
答案 1 :(得分:3)
您可以为此定义过滤器。在Package Explorer中打开视图菜单,然后选择“Filters ...”在这里,您可以定义一个模式来隐藏文件。
答案 2 :(得分:3)
如何将全局用户定义的资源过滤器添加到Eclipse Project Explorer视图:
在项目级别修改和切换过滤器需要大量的点击,如果您的工作区中有许多项目,则可能会很繁琐。如果您需要一次又一次地对所有项目应用或切换相同的过滤器设置,您可能更喜欢所有项目和所有工作区的更快速的全局解决方案。
修改plugin.xml
中的文件plugin.properties
和plugins/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个小时。也许我可以用这个明确的表达方式节省您的时间。
plugin.xml
打开的
plugin.xml
个文件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>
SpecifyAnIdForYourFileType
用您的特定文件后缀(例如"your specific file"
或*.pdf
等)更改desktop.ini
。plugin.xml
并退出plugin.properties
打开
粘贴此代码filters.SpecifyAnIdForYourFileType.name=your specific file files
filters.SpecifyAnIdForYourFileType.description=Hides files that match your specific file
plugin.properties
并退出Project Explorer
左侧View Menu
图标Filters and Customization...
Filters
菜单中勾选新的过滤器。这就是我要再次感谢emmzett。
致谢。