Добрый всем день!
Пользуюсь фаром более 15 лет, на новой работе очень не хватает такой фишки:
Периодически ищу опредёленный файл по маске в папке с огромным количеством подпапок и файлов в них (исходники очень большой и сложной информационной системы, все файлы разложены по систематике, например в папке серверных скриптов - таблицы отдельно, триггера отдельно, сиквенсы отдельно, функции, пакеты, индексы и т.д). Названия папок жестко заданы и создаются автоматически создаются системой контроля версий. Папки первого уровня указывают подсистему (их более 50). В итоге в структуре папок сейчас более 3 тыс. папок и 100 тыс файлов.
При поиске (по Alt-F7) мне очень нужно включить дополнительный фильтр на включение/исключение папки из поиска.
Например мне нужно найти определённые файлы в пакетах Oracle. С новой опцией я смогу задать маску папок, которые включаются в поиск (например в новом поле задаю *PKG*, и FAR будет искать только в подпапках, попадающих под этот фильтр).
Преимущества, которое даёт нововведение - очень убыстряется поиск в специфичных как у меня случаях.
PS. Я смотрел плагины, в частности S&R, который уже не поддерживается, там такого функционала тоже нет
Поиск файлов - дополнительная опция (включение/исключение из поиска папок по маске)
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Поиск файлов - дополнительная опция (включение/исключение из поиска папок по маске)
В диалоге поиска файлов есть опция [ ] Use filter и кнопка Filter. Можно добавить один или несколько фильтров перед началом поиска. Каждый отдельный фильтр может настраиваться в меню фильтров как на включение (нажать +), так и на исключение (нажать -). Если вы с фильтрами Far раньше дела не имели, то имеет смысл ознакомиться со справкой по ним.
Поиск файлов - дополнительная опция (включение/исключение из поиска папок по маске)
Сейчас попробовал, как Вы советовали - не сработало
Вот настройки:
Выкладываю в виде текстовых скринов
1. Диалог по Alt-F7
Code: Select all
╔═════════════════════════════ Поиск файла ══════════════════════════════╗
║ Одна или несколько масок файлов: ║
║ Swift* ↓║
╟────────────────────────────────────────────────────────────┏orum.farmanager.com80────────╢
║ Содержащих текст: ║
║ ↓║
║ Используя кодовую страницу: ║
║ Автоматическое определение ↓║
╟───────────────────────────────────┬────────────────────────────────────╢
║ [ ] Учитывать регистр │ [x] Искать в архивах ║
║ [ ] Только целые слова │ [x] Искать папки ║
║ [ ] Искать 16-ричный код │ [x] Искать в символических ссылках ║
║ [ ] Не содержащих │ [ ] Искать в альтернативных потоках║
╟───────────────────────────────────┴────────────────────────────────────╢
║ Выберите область поиска: ║
║ С текущей папки ↓ [x] Использовать фильтр ║
╟────────────────────────────────────────────────────────────────────────╢
║ { Искать } [ Диск ] [ Фильтр ] [ Дополнительно ] [ Отмена ] ║
╚════════════════════════════════════════════════════════════════════════╝
Code: Select all
╔════════════════════════════ Меню фильтров ═════════════════════════════╗
║+ Папки *BPL* │ ..............D+.............. ... │ *BPL* ║
╟────────────────────────┼────────────────────────────────────┼──────────╢
║ 0. Папки │ ..............D+.............. ... │ ║
║ 1. Файлы панели │ ..............D-.............. ... │ *. ║
║ 2. Файлы панели │ ..............D-.............. ... │ *.bat ║
║ 3. Файлы панели │ ..............D-.............. ... │ *.debug ║
║ 4. Файлы панели │ ..............D-.............. ... │ *.inc ║
║ 5. Файлы панели │ ..............D-.............. ... │ *.info ║
║ 6. Файлы панели │ ..............D-.............. ... │ *.ini ║
║ 7. Файлы панели │ ..............D-.............. ... │ *.par ║
║ 8. Файлы панели │ ..............D-.............. ... │ *.release║
║ 9. Файлы панели │ ..............D-.............. ... │ *.tmpl ║
║ A. Файлы панели │ ..............D-.............. ... │ *.xls ║
╚═══════ +,-,Пробел,I,X,BS,Shift+BS,Ins,Del,F4,F5,Ctrl+Up,Ctrl+Dn ═══════╝
Code: Select all
╔════════════════════════════════ Фильтр ════════════════════════════════╗
║ Имя фильтра: Папки *BPL* ↓║
╟────────────────────────────────────────────────────────────────────────╢
║ [x] Маска: *BPL* ↓║
╟──────────────────┬─────────────────────────────────────────────────────╢
║ [ ] Размер: │ [ ] Дата/Время: [ Текущая ] [ Сброс ] ║
║ >= │ записи ↓ <= . . : : , ║
║ <= │ [ ] Относительная >= . . : : , ║
╟──────────────────┴─────────────────────────────────────────────────────╢
║ [x] Атрибуты ║
║ [?] Только для чтения [?] Разрежённый ║
║ [?] Архивный [?] Временный ║
║ [?] Скрытый [?] Автономный ║
║ [?] Системный [?] Точка повторного анализа ║
║ [?] Сжатый [?] Виртуальный ║
║ [?] Зашифрованный [?] Поток целостности ║
║ [?] Неиндексируемый [?] Нет данных очистки ║
║ [x] Каталог ║
╟────────────────────────────────────────────────────────────────────────╢
║ [ ] Болee одной жёсткой ссылки ║
╟────────────────────────────────────────────────────────────────────────╢
║ { OK } [ Очистить ] [ Отмена ] ║
╚════════════════════════════════════════════════════════════════════════╝
Поиск файлов - дополнительная опция (включение/исключение из поиска папок по маске)
Дополнение
Использую FAR ver. 3.0 build 4774 x86
Сейчас попробовал с теми же параметрами поискать в корне папки, где развёрнуто около 10 локальных копий систем (нужно столько для работы )
Видно что при поиске смотрит на папки содержащую нужную маску, но поиск зависает на одной подпапке *BPL*, такое ощущение, что внутри этой директории поиск происходит без использования маски фильтра
Т.е. возможно есть баг, когда поиск по фильтру маски находит нужную папку, а поиск внутри неё происходит уже полным перебором, а логичпorum.farmanager.comо бы повторно применять фильтр маски.
Использую FAR ver. 3.0 build 4774 x86
Сейчас попробовал с теми же параметрами поискать в корне папки, где развёрнуто около 10 локальных копий систем (нужно столько для работы )
Видно что при поиске смотрит на папки содержащую нужную маску, но поиск зависает на одной подпапке *BPL*, такое ощущение, что внутри этой директории поиск происходит без использования маски фильтра
Т.е. возможно есть баг, когда поиск по фильтру маски находит нужную папку, а поиск внутри неё происходит уже полным перебором, а логичпorum.farmanager.comо бы повторно применять фильтр маски.
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Поиск файлов - дополнительная опция (включение/исключение из поиска папок по маске)
Попробовал смоделировать ваш случай, добавил 2 фильтра: один ищет все папки и файлы (помечен +), другой исключает только папки по маске (помечен -). Результат поиска был правильный (ничего внутри исключённых папок найдено не было).
Перебирал ли поиск эти файлы - не исследовал, времени сейчас нет. Проверил - не перебирал (то-есть лишних действий поиск не делал).
Поиск файлов - дополнительная опция (включение/исключение из поиска папок по маске)
Я аналогично сделал, только оба фильтра отметил как +, т.е. включил имя папки по маске
Запустил поиск по корневой папке, у меня там 10 локальных копий(выше я писал)
Поиск продолжался более 3-х часов, и не закончился - я его вырубил. Где-то косяк с алгоритмикой (на ум приходит алгоритм маляра Шлемиэля - выглядит аналогично, натравливаешь на одну папк%forum.farmanager.comт достаточно быстро, натравливаешь на 10 папок - время поиска увеличивается экспоненциально)
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Поиск файлов - дополнительная опция (включение/исключение из поиска папок по маске)
Если вы в этом уверены, добро пожаловать на багтрекер. Там репортятся косяки, действительные и кажущиеся.