Як я можу сказати "Знайти у файлах" IntelliJ ігнорувати створені файли?


103

Мені потрібно зробити пошук у файлах. Я хочу ігнорувати або виключати згенеровані файли, наприклад, артефакти JAX-WS або класи в цільових папках. Як я можу сказати IDEA виключити ці файли зі знаходження?


3
Так! І вони завжди ставлять створені результати в ТОП! Sheesh!
SMBiggs

Відповіді:


102

Створіть власну область застосування, визначаючи набір файлів, які потрібно включити / виключити з пошуку.

  1. CTRL+ SHIFT+ Fдля діалогу " Знайти в шляху" . (Користувачі Mac натискають command+ shift+ F)
  2. У розділі Область вибору Спеціальні .

    Знайти в Шлях

  3. Виберіть область зі спадного списку або створіть власну область застосування, натиснувши ...кнопку праворуч від випадаючого меню.

  4. У діалоговому вікні, що з’явиться, натисніть +кнопку та виберіть Місцевий
  5. На правій панелі ви можете включати та виключати окремі файли та рекурсивно включати або виключати всі файли під папкою.

Тепер, коли ви використовуєте Find in Path , використовуйте власну область, щоб обмежити пошук файлів.

Я підозрюю, що у вашому питанні посилання на пошук у файлах знаходить, що ці вказівки можуть не застосовуватися до вашої версії, але корисно знати, що ця функціональність існує і завжди є 30-денна версія оцінки.


2
Це працює. Дякую. Я сподівався, що є якась установка або прапорець, який я не помітив у результаті "ігнорувати створені файли".
Фрайхейт

1
@Freiheit Можливо, ваш проект також може ігнорувати згенеровані файли, що виключає їх із пошуку та подібного за замовчуванням скрізь (якщо ви, звичайно, не любите бачити або потребувати створених файлів в IntelliJ, звичайно).
ajp15243

3
@ ajp15243 Це можна зробити в налаштуваннях -> рамки проекту
:)

1
Для довідки, ці кроки працюють точно так само в IntelliJ Ultimate 13.
kurtzbot

1
Приємна відповідь @RobKielty :) Ти врятував мене від години щоденних розчарувань
Shanimal

51

Я знаю, що це пізно до вечірки, і відповідь Роб - гідна. Я хотів би просто додати таку альтернативу: якщо ви вибрали Customобласть (як у відповіді Роба), а потім залиште вибір у Project Files, це зробить пошук IntelliJ трохи більш вибірково, ніж за замовчуванням. Я не знаю, в чому полягають точні відмінності, але особливий інтерес полягає в тому, що якщо ви позначаєте каталог як Excludedза допомогою Modulesвкладки в Project Structureналаштуваннях, або клацаючи правою кнопкою миші на каталозі та вибираючи Mark Directory As-> Excluded.

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

Я перевірив це в IntelliJ Ultimate 14.1.4. Я поняття не маю, як він поводиться в інших версіях, але я підозрюю, що більшість v14 принаймні буде поводитись так само.


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

2
@coding_idiot Mark Directory Asмені все ще видно, коли я це роблю (варіант вибрати тоді Cancel Exclusion). Якщо це з якихось причин не працює для вас, вам слід зробити те саме, відкривши Moduleналаштування ( Project Settings-> Modules-> <your module>). У цьому діалозі всі виключені папки повинні бути вказані праворуч, а xпоруч із ним зупинено виключення.
Thor84no


14

Ви також можете поставити фільтр пошукових файлів, починаючи зі !знаку для виключення. Приклад пошуку коду, який не знаходиться у тестових файлах Java: !*Test.java

Якщо у вас є кілька типів файлів, які ви можете розділити , знаку. Приклад для пошуку лише у файлах Котліна та Гроови: *.kt,*.groovy

Це також може бути корисним.


Це v корисно.
javadba

4

Наступний зразок використовую для виключення створених файлів

!file:*intermediates*/&&!file:*generated*/&&!lib:*..*

Як додати цю модель слідуйте

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