[英]Eclipse: how to hide custom files in Project Explorer
I have a custom builder in CDT, which adds alot of files into project directory.我在 CDT 中有一个自定义构建器,它将很多文件添加到项目目录中。 I want those files to be filtered out from Project Explorer, but cannot figure out how (the file mask is *.ooj).
我希望从 Project Explorer 中过滤掉这些文件,但无法弄清楚如何(文件掩码是 *.ooj)。
Is it possible to add a custom filter by file mask into Customize View?是否可以通过文件掩码将自定义过滤器添加到自定义视图中? Or maybe there is anther way to hide files in Project Explorer?
或者也许有另一种方法可以在 Project Explorer 中隐藏文件?
Here's how to do it on Eclipse Indigo/Luna/Neon (as of 2018-05-22):以下是在 Eclipse Indigo/Luna/Neon 上的操作方法(截至 2018 年 5 月 22 日):
How to add global user defined resource filters to the Eclipse Project Explorer view:如何将全局用户定义资源过滤器添加到 Eclipse 项目资源管理器视图:
Modifying and switching filters on a project level needs a lot of clicks and can be tedious if you have many projects in your workspace.在项目级别修改和切换过滤器需要大量点击,如果您的工作区中有许多项目,可能会很乏味。 If you need to apply or switch the same filter settings on all projects again and again you might prefer a quicker and global solution for all projects and all workspaces.
如果您需要一次又一次地在所有项目上应用或切换相同的过滤器设置,您可能希望为所有项目和所有工作区提供更快的全局解决方案。
Modify the files plugin.xml
and plugin.properties
in plugins/org.eclipse.ui.navigator.resources_{version}.jar
(extract, modify and re-add the modified files).修改
plugins/org.eclipse.ui.navigator.resources_{version}.jar
中的文件plugin.xml
和plugin.properties
和 plugin.properties (修改后的文件)。
For example, add a file only filter in plugin.xml
to the element /plugin/extension @point="org.eclipse.ui.navigator.navigatorContent"
:例如,将
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>
As another example, add a file and directory filter in plugin.xml
to the same element:作为另一个示例,在
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>
Provide filter names and descriptions for all added filters in plugin.properties
.在
plugin.properties
中为所有添加的过滤器提供过滤器名称和描述。 Filter display order in Project Explorer view is by this filter name regardless of filter type: 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}"
Restart Eclipse and reset its caches: eclipse.exe -clean
重启 Eclipse 并重置其缓存:
eclipse.exe -clean
You can define a filter for that.您可以为此定义一个过滤器。 Open the view menu in the Package Explorer and then choose "Filters..." Here you can define a pattern to hide files.
在 Package 资源管理器中打开视图菜单,然后选择“过滤器...”在这里您可以定义隐藏文件的模式。
Firstly thanks to @emmzett Just wanna explain in a verbose mode of emmzett's answer because I didn't know anything editing plugin files and I spent 2 hours on this.首先感谢@emmzett 只是想以详细的方式解释 emmzett 的回答,因为我对编辑插件文件一无所知,我花了 2 个小时在这上面。 Maybe I can save your time with this clarified expression.
也许我可以用这个明确的表达来节省你的时间。
plugin.xml
open with an editor(notepad,Notepad++ etc) the plugin.xml
fileplugin.xml
用编辑器(记事本、记事本++等)打开plugin.xml
文件point="org.eclipse.ui.navigator.navigatorContent"
and paste code belowpoint="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
with a unique name for id Change "your specific file"
with your specific file suffix like *.pdf
or desktop.ini
etc.SpecifyAnIdForYourFileType
使用您的特定文件后缀更改"your specific file"
,例如*.pdf
或desktop.ini
等。plugin.xml
and exitplugin.xml
并退出plugin.properties
open with an editor same as 3.step Paste this codeplugin.properties
粘贴此代码filters. SpecifyAnIdForYourFileType .name= your specific file files filters. SpecifyAnIdForYourFileType .description=Hides files that match your specific file
plugin.properties
and exitplugin.properties
并退出Project Explorer
at the left sideProject Explorer
View Menu
icon at the top right cornerView Menu
图标Filters and Customization...
Filters and Customization...
Filters
menu.Filters
”菜单中勾选您的新过滤器。 That's all I want to thanks again to emmzett.这就是我要再次感谢 emmzett 的全部内容。
Regards.问候。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.