Как полностью исключить папку из поиска в возвышенном тексте 3?

есть способ всегда игнорировать папку... в представлении проекта.

У меня есть несколько приложений в одном репо и в каждом приложении есть "node_modules"

mainapp
---microapp
-----node_modules
---microapp2
-----node_modules
---index
---config
---assets

Я хочу исключить из поиска папку node_modules при поиске внутри проекта в указанной структуре.

Ответ 1

Перейдите в меню " Настройки" и в файл Preferences.sublime-settings для пользователя и добавьте новый узел в json с именем folder_exclude_patterns. В нем добавьте папки, которые вы не хотите отображать (в формате json array).

Пример:

{
    // ... other settings
    "folder_exclude_patterns": ["node_modules", "another_folder"],
}

Если вы хотите исключить определенный каталог или файл, не скрывая его с боковой панели, вы можете игнорировать вышеупомянутое решение и Add Exclude Filter исключения в разделе " Where " панели поиска. Но вам придется указывать его каждый раз, когда вы меняете каталог поиска.

Ответ 2

Если вы перейдете в меню "Настройки" и затем выберите "Настройки", он откроет JSON файл всех настроек и их значений по умолчанию. Этот файл также служит в качестве документации для значений параметров. Два из них здесь актуальны. Вот фрагмент из файла JSON;

// folder_exclude_patterns and file_exclude_patterns control which files
// are listed in folders on the side bar. These can also be set on a per-
// project basis.
"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS"],
"file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db", "*.sublime-workspace"],
// These files will still show up in the side bar, but won't be included in
// Goto Anything or Find in Files
"binary_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],

Здесь говорится, что folder_exclude_patterns скрывает его от боковой панели, а binary_file_patterns скрывает его от поиска. Поэтому, если вы хотите исключить его из обоих, вы можете открыть файл настроек пользователя (который переопределяет настройки по умолчанию) и добавить;

{
    "folder_exclude_patterns": ["node_modules"],
    "binary_file_patterns": ["*/node_modules/*"]
}

Обратите внимание, что они отличаются друг от друга, потому что первый - это шаблон папки, а последний - шаблон файла.

Ответ 3

Я добавил "node_modules/", "coverage/", "tmp/cache/" в binary_file_patterns для моего проекта Ruby on Rails среднего размера, чтобы ускорить мои мучительно медленные поиски:

"binary_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", 
                         "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip",  
                         "node_modules/", "coverage/", "tmp/cache/"],

Прежде, Find All In Files занимал около 7 секунд:

Searching 28526 files for "as records_with_errors"

После этого поиск всех файлов занимает менее 1 секунды:

Searching 1658 files for "as records_with_errors" 

Я добавил coverage не для производительности, а для предотвращения лишних результатов поиска.


Кстати, большинство решений, которые я нашел для этой проблемы, сосредоточены на folder_exclude_patterns и упускают из виду, что binary_file_patterns может указывать шаблоны папок, вероятно, из-за ее имени и настроек Sublime по умолчанию для него.

Использование folder_exclude_patterns НЕ является чистым решением для ОП. Тот факт, что он скрывает папки от боковой панели, безусловно, заставит вас бросить вызов здравомыслию, когда однажды вы начнете искать эти файлы, а их просто не будет.

Эта проблема, конечно, относится и к подавлению результатов поиска, которые следует тщательно взвесить, прежде чем блокировать слишком много папок. Включайте только папки/шаблоны, которые вы активно хотите скрыть... не включайте вещи, которые, по вашему мнению, вам не нужно искать, если они не вызывают у вас проблем.