Як назавжди виключити папку з пошуку у піднесеному тексті 3?


77

чи є спосіб завжди ігнорувати папку ... у поданні проекту.

У мене кілька додатків в одному репозиторії, і в кожному додатку є 'node_modules'

mainapp
├── microapp
│   └── node_modules
├── microapp2
│   └── node_modules
├── index
├── config
└── assets

Я хочу виключити з пошуку node_modulesпапку, коли я шукаю всередині проекту у наведеній вище структурі.


2
Ви пробували використовувати folder_exclude_patterns?
DaV

не намагаються зараз
nolawi

Відповіді:


93

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

Приклад:

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

Якщо ви хочете виключити певний каталог або файл, не приховуючи їх на бічній панелі, ви можете проігнорувати вищевказане рішення та Add Exclude FilterвWhere розділі рядка пошуку. Але вам доведеться вказувати його щоразу, коли ви змінюєте каталог пошуку.

Примітка. Можливо, вам доведеться перезапустити Sublime Text, щоб побачити зміни, про що згадував @Soferio


28
Проблема такого підходу полягає в тому, що він не лише виключає ці папки з пошуку, але і з бічної панелі, що не завжди бажано. Я все ще шукаю надійне рішення, яке не нукерує бічну панель.
Ілля Москвін,

1
@IllyaMoskvin Я оновив відповідь, щоб додати бажане рішення, але воно не буде постійним. Можливо, це можливо через якісь сторонні плагіни.
SUB0DH

6
-*/node_modules/*раніше не працювало, але сьогодні ввечері це чарівним чином. "folder_exclude_patterns"приховує папку з бічної панелі, але не від пошуку: /
jacob

@IllyaMoskvin - Див stackoverflow.com/a/55748485/4454732 для того, як виключимо з Знайти зберігаючи при цьому всі папки в бічній панелі.
Девід Хемпі,

2
Нарешті, те, що справді спрацювало і виключило величезні небажані результати пошуку, було вставити, -*/node_modules/*як запропонував @jacob. Мій попередній пошук складав близько 20 000 файлів, і їх кількість зменшилася приблизно до 80.
Luis Febro

50

Якщо ви зайдете в меню «Налаштування», а потім виберете «Налаштування», воно відкриє файл 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/*"]
}

Зверніть увагу, що ці два різні, оскільки перший - шаблон папки, а другий - шаблон файлу.


2
Це схоже на правильну відповідь, але для мене він все ще шукає node_modules / та постачальника / здається, кількість шуканих файлів однакова. Будь-які ідеї?
trainoasis

Це спрацювало для мене, але ТІЛЬКИ після перезапуску sublime3, тому не здавайтеся ....!
Soferio

13

Я додав "node_modules/", "coverage/", "tmp/cache/"до binary_file_patternsдля мого середнього розміру Рубін на Rails проекту , щоб прискорити моє болісно повільні запити:

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

Раніше "Знайти все у файлах" займало близько 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- це НЕ чисте рішення для ОП, яке шукають. Той факт, що він приховує папки з бічної панелі, безсумнівно, змусить вас кинути виклик вашому розуму, коли одного разу ви підете шукати ці файли, а їх просто не існує.

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


1
Для мене це все ще здійснює пошук node_modules. Будь-які ідеї?
trainoasis

Чи можете ви сплатити цей рядок із вашої конфігурації?
Девід Хемпі,

1
Звичайно, це "binary_file_patterns": [" .jpg", " .jpeg", " .png", " .gif", " .ttf", " .tga", " .dds", " .ico", " . eot "," .pdf "," .swf "," .jar "," .zip "," node_modules / "," vendor / * "," .cache_loader / * "],
trainoasis

Хм ... здається, це точно відповідає тому, що я отримав на місцевому рівні. Чи можете ви підтвердити, що це пригнічує результати деяких інших виключень, таких як "vendor / *" або ".pdf"?
Девід Хемпі,

1
Цей метод працює лише в тому випадку, якщо поле "Де" на панелі "Знайти у файлах" не містить папки. Якщо це поле містить каталог (наприклад, якщо клацнути правою кнопкою миші на бічній панелі та вибрати "Знайти в папці"), binary_file_patternsце не буде працювати. Ось питання: github.com/sublimehq/sublime_text/issues/959
Ілля Москвін

2

Це правильні рішення, але ви повинні перезапустити Sublime3, щоб змінена конфігурація закріпилася. Не просто закривайте вікна, ВИХОДИТЬ із усієї програми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.