Выберите папки, которые будут игнорироваться при поиске в VS Code


364

Прямо сейчас, когда я использую ⌘+ Oдля поиска файлов, нечеткое сопоставление, по-видимому, работает со всеми файлами в текущем проекте. К сожалению, сюда входит ряд файлов из каталогов build и vendor. Так, например, если я хочу найти все файлы JavaScript и сделать ⌘+ Oи ввести .js, результаты файла и символа включают в себя около 1500 совпадений, и все они, кроме двух, являются полным шумом.

Есть ли способ указать определенные каталоги, которые будут игнорироваться для целей поиска?


1
Хм, подождите минуту, в 2019 году ⌘O означает «Открыть файл ...», и я сомневаюсь, что VS Code имеет большой контроль над любыми (ОС-ориентированными) средствами поиска, которые вы можете там увидеть. Это может быть в состоянии фильтровать файлы только определенные расширения?
— SamB

Ответы:


689

Эти предпочтения, похоже, изменились с момента ответа @ alex-dima.

Изменение настроек

В меню выберите: Файл -> Настройки -> Настройки -> Настройки пользователя / рабочего пространства. Фильтровать настройки по умолчанию для search.

Вы можете изменить search.excludeнастройку (скопировать из настроек по умолчанию в настройки пользователя или рабочего пространства). Это будет применяться только к поискам. Обратите внимание, что настройки из files.excludeбудут применены автоматически.

Если настройки не работают :

  1. Убедитесь, что вы не отключили исключение из поиска. В области поиска разверните поле ввода «файлы для исключения» и убедитесь, что выбран значок шестеренки.

  2. Вам также может потребоваться очистить историю редактора (см. Https://github.com/Microsoft/vscode/issues/6502 ).

Пример настроек

Например, я разрабатываю приложение EmberJS, которое сохраняет тысячи файлов в каталоге tmp .

Если вы выберете WORKSPACE SETTINGSсправа от поля поиска, исключение поиска будет применяться только к этому конкретному проекту. И соответствующая .vscodeпапка будет добавлена ​​в корневую папку, содержащую settings.json.

Это мой пример настроек:

{
    // ...
    "search.exclude": {
        "**/.git": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/tmp": true
    },
    // ...
}

Примечание . Включите ** в начале любого исключения из поиска, чтобы охватить критерий поиска для любых папок и подпапок.

Изображение поиска до обновления настроек :

Перед обновлением настроек результаты поиска беспорядок.

Изображение поиска до обновления настроек

Изображение поиска после обновления настроек:

После обновления настроек результаты поиска именно то, что я хочу.

Изображение поиска после обновления настроек.


16
это перестало работать для меня в последней версии ... есть идеи, почему?
— NSjonas

3
Есть ли способ применить это к функции «Быстрое открытие»? Ctrl + P на ПК и Cmd + P на Mac. Когда я ищу файлы с помощью этой функции, они все равно появляются.
— glandrum101

7
Обязательно очистите историю вашего редактора, чтобы это работало. github.com/Microsoft/vscode/issues/6502
— Джейди Соланки,

5
Мне пришлось запустить команду «очистить историю редактора» (см. Здесь: github.com/Microsoft/vscode/issues/6502#issuecomment-273697138 ) и перезапустить VS Code, чтобы это работало на меня.
— Исаак Грегсон

19
Обратите внимание, что при поиске файлов можно отключить исключение из поиска. В области поиска разверните поле ввода «файлы для исключения» и убедитесь, что выбран значок шестеренки. Это обеспечит соблюдение настроек исключения из поиска.
— Роберт Уодделл

167

Убедитесь, что установлен флажок «Использовать параметры исключения и игнорировать файлы» введите описание изображения здесь


5
Как исключить несколько папок?
— Wouter Vanherck

23
@WouterVanherck вы просто добавили бы запятую для разделения каждого файла или папки, которую вы хотите исключить. Пример:./src/public/,src/components/
— Sgnl

44

Обновление апреля 2018

Вы можете сделать это в разделе поиска vscode, предварительно зафиксировав восклицательный знак в каждой папке или файле, который вы хотите исключить.

введите описание изображения здесь


Точно! идеально
— Taffarel Xavier

25

Этот ответ устарел

Если это папки, которые вы хотите игнорировать в определенной рабочей области, вы можете перейти к:

AppMenu > Preferences > Workspace Settings

В противном случае, если вы хотите, чтобы эти папки игнорировались во всех ваших рабочих пространствах, перейдите по адресу:

AppMenu > Preferences > User Settings

и добавьте следующее в вашу конфигурацию:

//-------- Search configuration --------

// The folders to exclude when doing a full text search in the workspace.
"search.excludeFolders": [
    ".git",
    "node_modules",
    "bower_components",
    "path/to/other/folder/to/exclude"
],

Разница между рабочим пространством и пользовательскими настройками объясняется в документации по настройке


9
Если он устарел, пожалуйста, либо обновите его, либо удалите, чтобы избежать путаницы и возможных отрицательных голосов!
— user3413723

1
seroiusly, внесите изменения. Приведенный выше ответ работает в последней версии VS Code на macOS. так что отказывайтесь от вашего BS для голосов и внесите полезный вклад в фактический ответ.
— Heisian

18

Если я правильно понимаю, вы хотите исключить файлы из нечеткого поиска vscode. Если это так, то я предполагаю, что приведенные выше ответы относятся к более старым версиям vscode. Что сработало для меня, это добавить:

"files.exclude": {
    "**/directory-you-want-to-exclude": true,
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true
}

к моему settings.json. Этот файл можно открыть с помощью File> Preferences>Settings


15

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

Visual Studio Code Gear значок при поиске нажал


1
Вы не идиот, потому что это ответ, который исправил это для меня, я, должно быть, случайно нажал на этот значок в прошлом, поэтому не очевидно, что этот маленький значок управляет этим, и он едва заметен, когда он включен или отключен
— vesperknight

Вы, конечно, не идиот за то, что упустили этот замечательный кусок UX, но можете ли вы сказать мне, как ваш отличается от этого более раннего ответа , если он - ну, кроме этого ответа в темном режиме? ; ^ D
— Ерфин

3

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

В конце концов, решением было добавить **в настройки папок шаблоны исключений из поиска.

введите описание изображения здесь


2

После настройки параметров search.exclude и file.exclude, упомянутых в предыдущих ответах, выполните команду «Очистить историю редактора» (для этого используйте палитру команд - CTRL + SHIFT + P).

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

Обновление: Вы также можете запустить команду «Очистить историю команд». Я забыл об этом.


1

Забудьте выше для vscode, исключите шаблон поиска, попробуйте ниже шаблон, который работает для любой папки в vscode последней версии!

! ../../../ локали / *

например, я искал, как показано ниже vscode пример clude settings

файлы для включения: * .js

исключаемые файлы: ** / node_modules,! ../../../ locales / ,! ../../../ theme / ,! ../../ admin / client / *



0

Краткий ответ - разделить запятыми папки, которые вы хотите игнорировать в «исключаемых файлах».

  1. Начать поиск в рабочей области: CTRL + SHIFT + f
  2. Расширьте глобальный поиск с помощью трехточечной кнопки
  3. Введите поисковый запрос
  4. Как пример, в файлах для исключения в поле -input пишут babel,concatдля исключения папки «babel» и папки «concat» при поиске (убедитесь, что кнопка исключения включена).
  5. Нажмите ввод, чтобы получить результаты.


-1

Создайте файл с .gitignore и укажите имя папки или файла, которое вы хотите игнорировать.

игнорировать все, что находится в папке node_modules

echo node_modules/ > .gitignore 

3
вопрос не о
— мерзавце

-1

Я хотел найти термин «Stripe» во всех файлах, кроме тех, которые находятся внутри плагина (папка «plugin») или в файлах, оканчивающихся на «.bak», «.bak2» или «.log» (это внутри wp - структура папки содержимого установки WordPress).

Я просто хотел сделать этот поиск один раз и очень быстро, поэтому я не хотел изменять настройки поиска в моей среде. Вот как я это сделал (обратите внимание на двойные звездочки для папки):

  • Термин поиска: полоса
  • Включить файлы: {пусто}
  • Исключить файлы: * .bak *, * .log, ** / plugins / **

Вот как это выглядело

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.