VS Code - Поиск текста во всех файлах в каталоге


356

Есть ли способ поиска текста во всех файлах в каталоге, используя VS Code?

То есть, если я наберу «найти это» в своем поиске, он будет искать по всем файлам в текущем каталоге и возвращает файлы, которые совпадают. В основном, как если бы я сделал grep. Мой коллега сказал мне, что у Sublime есть нечто подобное.

Ответы:


391

Вы можете выполнить Редактирование , Найти в файлах (или Ctrl+ Shift+ F- привязка клавиш по умолчанию, Cmd+ Shift+ Fв MacOS) для поиска в текущей открытой папке.

В диалоговом окне есть многоточие, в котором вы можете включить / исключить файлы, а также параметры в окне поиска для сопоставления регистра / слова и использования Regex.


3
Когда у вас есть совпадение, вы нажимаете Ctrl (Mac: 'Cmd') по ключевому слову в результатах поиска, чтобы открыть этот файл для параллельного редактирования, переходя к этому месту в файле.
Битсанд

58
Проблема в том, что когда у вас открыт каталог в Visual Studio Code с десятками подкаталогов, вам часто нужно искать в одном каталоге. Найти в файлах совсем не значит делать это. (Конечно, это полезный ответ на совершенно другой вопрос.) Ответ @JesperWilfing (щелкните правой кнопкой мыши на папке, найдите в папке) лучше.
Джеймс Мур,

1
Есть ли что-то похожее на Notepad ++, где вы можете просто указать каталог для поиска, не открывая его?
Do-do-new

6
Это не отвечает на вопрос. Как вы ищете только в данной папке?
Zaqx

6
Основываясь на другом ответе, если вы щелкните правой кнопкой мыши папку и выберите «Найти в папке ... (Shift + Alt + F)», вы увидите формат, необходимый для поиска в определенном каталоге. Похоже, вы начинаете с корня рабочего пространства. например, мое рабочее пространство WebInterface, и моя папка включает в себя./WebInterface/cli/src/[folder]
Тайлер StandishMan

266

В VS Code ...

  1. Перейти в проводник ( Ctrl+ Shift+ E)
  2. Щелкните правой кнопкой мыши по вашей любимой папке
  3. Выберите «Найти в папке»

Поисковый запрос будет предварительно заполнен путем «файлы для включения».


26
Это должен быть принятый ответ. Мне удалось отключить это в первый раз с несколькими дочерними папками в родительской папке, с более чем десятком файлов, которые нуждались в замене строки. Большое спасибо!
Klewis

2
«Найти в папке» не работает с автоматически игнорируемыми папками, node_modulesкоторые иногда нужны разработчикам JavaScript. «Код VS исключает некоторые папки по умолчанию, чтобы уменьшить количество результатов поиска, которые вас не интересуют. Откройте настройки для изменения этих правил в разделах files.exclude и search.exclude». от code.visualstudio.com/docs/editor/...
Şerban Ghiţă

Также довольно сложно, если корень репо не является фактическим корнем проекта, в этом случае VSCode всегда по умолчанию ищет весь репо, но нет никакого способа ограничить его текущим проектом (папка открыта в VSCode)
Svend

принятый ответ не работал для меня (не уверен, что я делаю что-то не так). Это сработало - спасибо.
java-addict301

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

23

Нажмите Ctrl+ Shift+F введите описание изображения здесь

нажмите на 3 точки под окном поиска.

введите свой запрос в поле поиска

введите ./FOLDERNAME в файлах для включения и нажмитеEnter

Альтернативный способ это, щелкните правой кнопкой мыши на папке и выберите Найти в папке


Я всегда искал эту функцию в VSCode, и она все время была у меня под носом.
Нокарьер

Большое спасибо, я искал, как найти в определенной папке. До сих пор я использовал возвышенное для поиска в определенной папке.
Шаши Верма

16

Ctrl+ P(Win, Linux), Cmd+ P(Mac) - Быстрое открытие, Перейти к файлу


6
Это соответствует только именам файлов, а не тексту внутри файлов.
LearnOPhile

11

Это действие не привязано к ключу по умолчанию, для привязки сделайте это:

  1. Файл> Настройки> Сочетания клавиш ( Ctrl+K, Ctrl+S)
  2. Поиск "найти папку"
  3. Нажмите значок + слева от результата поиска "filesExplorer.findInFolder"
  4. Введите желаемую комбинацию клавиш

10

Я думаю, что это официальное руководство должно работать для вашего случая.

VS Code позволяет быстро выполнять поиск по всем файлам в открытой в данный момент папке. Нажмите Ctrl + Shift + F и введите поисковый запрос. Результаты поиска сгруппированы в файлы, содержащие условие поиска, с указанием попаданий в каждом файле и его местоположения. Разверните файл, чтобы увидеть предварительный просмотр всех попаданий в этом файле. Затем нажмите один раз на один из хитов, чтобы просмотреть его в редакторе.


8

Простой ответ - нажать на увеличительное стекло на левой боковой панели.


6

Чтобы добавить к вышесказанному, если вы хотите искать в выбранной папке, щелкните правой кнопкой мыши на папке и нажмите «Найти в папке» или связывание ключей по умолчанию:

Alt+ Shift+F

Как уже упоминалось, чтобы найти все папки в вашем проекте, нажмите «Правка»> «Найти в файлах» или:

Ctrl+ Shift+F


4

Если у вас открыт каталог в VSCode, и вы хотите найти подкаталог, то либо:

  • ctrl- shift- Fзатем в files to includeполе введите путь с ведущей ./,

или

  • ctrl- shift- Eчтобы открыть проводник, щелкните правой кнопкой мыши каталог, который вы хотите найти, и выберите Find in Folder...опцию.

3
  1. Введите Поиск по ключевому слову в поиске (CTRL + SHIFT + F)

  2. Исключите ненужные папки / файлы, используя опцию исключения (!)

    пример:! Папка / Файл *

  3. Нажмите Enter

Результаты поиска дают желаемый результат


1

И, кстати, вы, товарищи гуглеры, для выбора нескольких папок в поисковой выдаче вы разделяете каталоги запятой. Работает как для исключения и включения

Пример: ./src/public/,src/components/


1

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

./src/**/*.html

так что, возможно, оставьте следующее в качестве значения по умолчанию для большинства ваших типичных поисков, чтобы напомнить, что есть такая вещь

./src/**/

Например, я был за атрибутом для выравнивания / закрепления левого и правого содержимого, я не мог вспомнить, кроме «start», поэтому я сделал следующий поиск, который показывает мне «item-start»

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

Это исправило мой макет введите описание изображения здесь

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

Вот где «шаблон-сарт» идет в шаблоне. введите описание изображения здесь



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