![]() |
![]() |
|
|||||||||
![]() |
|||||||||||
|
|||||||||||
![]() |
|||||||||||
Команда "Фильтр категорий".Пункт главного меню "Команды -> Фильтр категорий" вызывает диалог, в котором можно посмотреть и дополнительно настроить фильтры, раскладывающие файлы и папки по категориям: На голубом фоне отображаются маски-шаблоны, которые действуют начиная с той папки, в которой находятся, и во всех подпапках (если там не встретится такой-же шаблон, переключающий в другую категорию). На белом фоне - конкретные файлы и папки проекта, как будто заданные полным именем (вместе с маршрутом). Соответственно, они действуют только для одного конкретного файла или папки. Закладка "Расширенный (с наследованием)" показывает тот же фильтр, только для каждой папки дополнительно видны все шаблоны, которые в ней действуют - в том числе унаследованные с родительских папок. Маска-шаблон "_*.htm" (все файлы .htm, начинающиеся с подчеркивания) помечен комментарием "медленный". Дело в том, что ZSync оптимизирует шаблоны типа "начинается на" и "заканчивается на", они обрабатываются достаточно быстро. Шаблоны более общего характера замедляют процесс вычисления категорий, и комментарий "медленная" указывает на это. Если маска-шаблон содержит ошибку (например, в ней встречается открывающая квадратная скобка, но нет закрывающей) то в комментарии будет написано "ошибка". Такой шаблон не участвует в работе фильтра.
Маски-шаблоныШаблон может быть просто именем обьекта, в этом случае шаблону будут соответствовать все обьекты с таким именем. Например, если в корне проекта задать шаблон 'Readme.txt', то он отфильтрует в свою категорию все файлы Readme.txt, которые встретятся в проекте. Кроме того, в шаблон можно включать специальные конструкции: '?' (символ "вопросительный знак") соответствует любому символу. Например, шаблон 'File?.txt' подходит к именам File1.txt, File2.txt, File3.txt и т.д., но File10.txt уже не подходит, потому что вопросительный знак соответствует только одному символу. Кроме того, этот же шаблон подходит к именам FileA.txt, FileB.txt, files.txt и т.д. '*' (символ "звездочка") соответствует любому количеству любых символов. Например, шаблон 'File1.*' подходит к именам File1.txt, File1.doc, File1.xls и т.д. набор - соответствует одному символу из числа указанных в наборе. Набор представляет собой квадратные скобки, внутри которых перечисляются символы и диапазоны; диапазон - это начальный символ, знак "минус" и конечный символ. Примеры наборов: '[123]' - соответствует символу 1, или символу 2, или символу 3. Например, шаблон 'File[123].txt' подходит к именам File1.txt, File2.txt и File3.txt; а к File4.txt уже не подходит. '[0-9]' - соответствует любой цифре. Например, шаблон 'File[0-9].txt' подходит к именам File1.txt, File2.txt и т.д., но не подходит к FileA.txt '[А-Яа-я]' - соответствует любой русской букве. Например, шаблон '*[А-Яа-я]*.txt отфильтрует все файлы типа txt, в названии которых встречаются русские буквы.
Дополнительные замечания.При сравнении шаблонов регистр символов не учитывается. Например, 'File?.txt' подходит к именам File1.txt, file1.txt, FILE1.txt и т.д. Однако в наборах это правило не действует, по крайней мере для русских букв, поэтому в последнем примере набора явно указаны два диапазона - для заглавных, и для маленьких букв: '[А-Яа-я]' Обработка фильтра происходит в следующем порядке: сначала проверяется, не является ли очередной обьект конкретным именем. Если нет, проверяются шаблоны вида 'имя', '*имя' и 'имя*'. Затем проверяются все остальные шаблоны по порядку. Как только соответствие найдено, дальнейшая обработка прекращается. |
|||||||||||
|