Eclipse: как скрыть пользовательские файлы в Project Explorer - PullRequest
50 голосов
/ 26 мая 2011

У меня есть собственный конструктор в CDT, который добавляет много файлов в каталог проекта.Я хочу, чтобы эти файлы были отфильтрованы из Project Explorer, но не могу понять, как (маска файла * .ooj).

Можно ли добавить настраиваемый фильтр по маске файла в Customize View?Или, может быть, есть другой способ скрыть файлы в Project Explorer?

Ответы [ 4 ]

98 голосов
/ 26 мая 2011

Вот как это сделать в Eclipse Indigo / Luna / Neon (по состоянию на 2018-05-22):

  • Открыть раскрывающееся меню «Свойства проекта»
    • --> Проект -> Свойства
    • Появится новое диалоговое окно с именем «Свойства»
  • Создать «Фильтр ресурсов»
    • Выбрать ресурс --> Фильтры ресурсов -> Добавить фильтр ...
    • Появится новое диалоговое окно с именем «Добавить фильтр ресурсов для проекта»
    • В новом диалоговом окне выберите следующее
      • Тип фильтра: Исключить все
      • Применяется к: файлам
      • Убедитесь, что установлен флажок «Все дети (recusive)»
      • Файл и папкаАтрибуты
        • выберите: имя
        • выберите: совпадения
        • заполните: * .ooj
      • Нажмите OK
      • Диалог закрывается
  • Применить новый фильтр
    • Нажмите Применить
    • Вы должны увидеть изменения в вашем «Навигаторе» View
  • Закройте «Свойства проекта»
    • Нажмите OK
  • Готово
3 голосов
/ 10 августа 2015

Как добавить глобальные пользовательские фильтры ресурсов в представление 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 голосов
/ 26 мая 2011

Вы можете определить фильтр для этого.Откройте меню просмотра в проводнике пакетов и выберите «Фильтры ...». Здесь вы можете определить шаблон для скрытия файлов.

1 голос
/ 04 ноября 2018

Во-первых, благодаря @emmzett Просто хочу подробно объяснить ответ Эммзетта, потому что я ничего не знал, редактируя файлы плагинов, и потратил на это 2 часа. Может быть, я смогу сэкономить ваше время с этим уточненным выражением.

  1. Сначала зайдите в файл Eclipse, затем plugins-> org.eclipse.ui.navigator.resources_ (ваша версия Eclipse) .jar
  2. Щелкните правой кнопкой мыши по файлу .jar и откройте с помощью winrar
  3. Найдите plugin.xml открытым с помощью редактора (блокнот, Блокнот ++ и т. Д.) plugin.xml файл
  4. Найдите point="org.eclipse.ui.navigator.navigatorContent" и вставьте код ниже
    <commonFilter id="org.eclipse.ui.navigator.resources.filters.<i>SpecifyAnIdForYourFileType</i>" 
                 name="%filters.<i>SpecifyAnIdForYourFileType</i>.name" 
                 description="%filters.<i>SpecifyAnIdForYourFileType</i>.description"
                 activeByDefault="true">
      <filterExpression>
          <and>
             <instanceof value="org.eclipse.core.resources.IFile"/>
             <test property="org.eclipse.core.resources.name" value="<i>your specific file</i>"/>
          </and>
       </filterExpression>
    </commonFilter>
  5. Изменить SpecifyAnIdForYourFileType с уникальным именем для id Измените "your specific file" с вашим конкретным суффиксом файла, таким как *.pdf или desktop.ini и т. Д.
  6. Сохраните plugin.xml и выйдите
  7. Найдите plugin.properties, открытый с редактором, таким же, как 3.step Вставьте этот код
    <code>filters.<i>SpecifyAnIdForYourFileType</i>.name=<i>your specific file</i> files
    filters.<i>SpecifyAnIdForYourFileType</i>.description=Hides files that match <i>your specific file</i>
  8. Сохранить plugin.properties и выйти
  9. Перезапустите затмение и очистите кеш, затем перейдите к Project Explorer в левая сторона
  10. Нажмите значок View Menu в правом верхнем углу
  11. Нажмите Filters and Customization...
  12. Отметьте свой новый фильтр в меню Filters.

Это все, что я хочу еще раз поблагодарить Эммзетт.

С уважением.

...