问题描述
|
我在CDT中有一个自定义生成器,它将大量文件添加到项目目录中。我希望从Project Explorer中过滤掉这些文件,但无法弄清楚(文件掩码为* .ooj)。
是否可以在“自定义视图”中按文件掩码添加自定义过滤器?也许还有其他方法可以在Project Explorer中隐藏文件?
解决方法
这是在Eclipse Indigo / Luna / Neon上的操作方法(截至2018-05-22):
打开“项目属性”
下拉菜单->项目->属性
将会出现一个名为“属性”的新对话框。
创建一个“资源过滤器”
选择资源->资源过滤器->添加过滤器...
将会出现一个名为“添加项目的资源过滤器”的新对话框。
在新对话框中,选择以下内容
过滤器类型:全部排除
适用于:文件
确保单击“所有子代(回生)”复选框
文件和文件夹属性
选择:名称
选择:匹配项
填写:*。ooj
点击确定
对话框关闭
应用新的过滤器
点击应用
您应该在“导航器”视图中看到一个更改
关闭“项目属性”
点击确定
完成
,您可以为此定义一个过滤器。在“程序包资源管理器”中打开视图菜单,然后选择\“ Filters ... \”在这里您可以定义隐藏文件的模式。
,如何将全局用户定义的资源过滤器添加到Eclipse Project Explorer视图:
在项目级别上修改和切换过滤器需要大量的单击,如果您的工作空间中有很多项目,可能会很乏味。如果您需要一次又一次在所有项目上应用或切换相同的过滤器设置,则可能希望为所有项目和所有工作区提供一种更快,更全面的解决方案。
修改
plugins/org.eclipse.ui.navigator.resources_{version}.jar
中的文件plugin.xml
和plugin.properties
(提取,修改并重新添加修改后的文件)。
例如,将元素“ 4”中的“仅文件”过滤器添加到元素“ 4”中:
<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>
再举一个例子,在“ 0”中将文件和目录过滤器添加到同一元素:
<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
,首先感谢@emmzett
只是想用emmzett答案的详细方式进行解释,因为我对编辑插件文件一无所知,因此我花了2个小时。也许我可以用这个明确的表达方式节省您的时间。
首先进入eclipse文件,然后
plugins-> org.eclipse.ui.navigator.resources_(您的日蚀版本).jar
右键单击.jar文件,然后使用winrar打开
找到用编辑器(记事本,记事本++等)打开的“ 0”
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>
用唯一的ID更改SpecifyAnIdForYourFileType
用特定的文件后缀(例如*.pdf
或desktop.ini
等)更改\"your specific file\"
。
保存plugin.xml
并退出
用与3.step相同的编辑器找到plugin.properties
打开
粘贴此代码filters.SpecifyAnIdForYourFileType.name=your specific file files
filters.SpecifyAnIdForYourFileType.description=Hides files that match your specific file
保存plugin.properties
并退出
重新启动Eclipse并清除缓存,而不是转到ѭ23
左边
点击右上角的View Menu
图标
点击the25ѭ
在Filters
菜单中勾选新的过滤器。
我要再次感谢emmzett。
问候。