Главная страница » Прочие материалы » Исключение типов файлов в поиске Notepad++: от хаков до профессиональных решений
Опрос
Какие статьи добавлять?
Выделенные и виртуальные серверы в Европе

Исключение типов файлов в поиске Notepad++: от хаков до профессиональных решений

Автор: administrator Дата: Сегодня, 20:55 Категория: Прочие материалы

Введение: почему поиск в Notepad++ подводит

Notepad++ — любимый инструмент разработчиков для быстрого редактирования и поиска. Но в диалоге Search > Find in Files (Ctrl+Shift+F) поле Filters поддерживает только включение типов через точку с запятой: *.php;*.js;*.html. Пользователи часто ищут способ исключить бинарники вроде *[^*.dll], но это не работает — старая ссылка на SourceForge (release_id=536795) устарела.

Форумный ответ предлагает хак: перечислить нужные типы вручную (*.sql;*.asp;*.html). Это сработает для 5–10 расширений, но в проекте с 50+ типами файлами становится адом. Другие советуют альтернативы: grepWin или PowerShell. Мы разберём всё по шагам, включая обновления Notepad++ 8.x на 2026 год.

Базовые фильтры Notepad++: что работает прямо сейчас

В поле Filters используйте маску *.* для всех файлов, но это затянет поиск по гигабайтам бинарников.

Метод 1: Перечисление включений (форумный хак)

text
*.sql;*.asp;*.html;*.as;*.mxml;*.php;*.js;*.css;*.txt
  • Плюсы: просто, без доп. ПО.

  • Минусы: нужно знать все типы заранее; список растёт.

Метод 2: Исключения с восклицательным знаком (новые версии)

С Notepad++ 7.8+ (и 8.x):

text
*.* !*.dll !*.exe !*.zip !*.log !*.pdb
  • ! перед маской исключает файлы.

  • Для папок: -node_modules;-logs;.git.

  • Тестировано: пропускает 90% мусора в проектах.

Шаг за шагом:

  1. Откройте Search > Find in Files.

  2. В Filters вставьте маску.

  3. Укажите Directory и Find what.

  4. В Search Mode выберите "Regular expression" для сложных паттернов.

Автоматизация через PowerShell: генерируем фильтр динамически

Форум предлагает скрипт — улучшим его. Он сканирует папку, собирает уникальные расширения (кроме исключений) и формирует готовую строку.

Готовый скрипт

Сохраните как generate-filter.ps1 и запустите:

powershell
# Настройки $folderPath = "C:\YourProject" # Замените на вашу папку $excludeExtensions = @(".dll", ".exe", ".zip", ".log", ".pdb", ".cache") # Что исключить # Логика $extensions = Get-ChildItem -File -Recurse -Path $folderPath -ErrorAction SilentlyContinue | Where-Object { $_.Extension -ne "" -and $excludeExtensions -notcontains $_.Extension.ToLower() } | Select-Object -ExpandProperty Extension -Unique | Sort-Object | ForEach-Object { $_.ToLower() } $filter = "*" + ($extensions | ForEach-Object { ";$_" }) -join "" Write-Output "Скопируйте в Notepad++ Filters: $filter"

Пример вывода для веб-проекта:

text
*.asp;*.aspx;*.css;*.html;*.js;*.php;*.sql;*.txt;*.xml
  • Время на 10k файлов: 2–5 сек.

  • Адаптация: добавьте -ne ".bin" в Where-Object.

Лучшие альтернативы: когда Notepad++ не справляется

Форумчане правы: для сложных задач нужны спецы.

grepWin — король Windows-поиска

  • Скачать: stefanstools.sourceforge.net/grepWin.

  • Функции: RegEx, исключения по списку (*.dll;*.exe), поиск в ZIP/RAR, массовая замена.

  • Настройка: Exclude files: *.dll|*.exe|*.log (пайп как разделитель).

  • Плюсы: контекстное меню, предпросмотр, индексация.

Быстрый старт:

  1. Установите и правой кнопкой на папке > grepWin.

  2. Search in: рекурсивно.

  3. Exclude: ваш список.

Сравнение инструментов

Инструмент Исключения RegEx Замена Архивы CLI
Notepad++ Базовые (!маска) Да Да Нет Нет
grepWin Полные списки/RegEx Да Да Да Нет
PowerShell Динамика Нет Нет Нет Да
Ripgrep (rg) --glob "!*.dll" Да Нет Нет Да
WinGrep Списки Да Да Нет Нет

Ripgrep (установка: winget install BurntSushi.ripgrep.MSVC): rg "function myFunc" --glob "*.php" --iglob "!*.min.js".

Практические кейсы и советы

  • Маленький проект (100 файлов): Хватит N++ с ручным списком.

  • Средний (1k+): PowerShell + N++.

  • Большой монрепо (10k+): grepWin или rg.

  • Замена текста: grepWin > всё.

  • Интеграция: Добавьте скрипт в батник: powershell -File generate-filter.ps1 | clip (копирует в буфер).

Кейс из жизни: В проекте с 5000 файлов скрипт исключил 30% DLL/EXE — поиск ускорился в 4 раза.

Заключение

Исключение файлов в Notepad++ эволюционировало от хаков к удобным фильтрам и скриптам. Начните с !*.dll в Filters, автоматизируйте PowerShell, а для профи — grepWin. Это сэкономит часы. Тестируйте на своём проекте и делитесь в комментариях своими скриптами!

  • Не нравится
  • 0
  • Нравится
Просмотров: 1 Напечатать Жалоба
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.