¿Cómo puedo decirle a "Buscar en archivos" de IntelliJ que ignore los archivos generados?

103

Necesito hacer una búsqueda en archivos. Quiero ignorar o excluir archivos generados, como artefactos o clases JAX-WS en carpetas de destino. ¿Cómo puedo decirle a IDEA que excluya estos archivos del hallazgo?

Freiheit
fuente
3
¡Si! ¡Y siempre ponen los resultados generados en TOP! ¡Sheesh!
SMBiggs

Respuestas:

102

Cree un alcance personalizado que defina el conjunto de archivos para incluir / excluir de su búsqueda.

  1. CTRL+ SHIFT+ Fpara el cuadro de diálogo Buscar en ruta . (Los usuarios de Mac presionan command+ shift+ F)
  2. En Alcance, seleccione Personalizado .

    Encontrar en camino

  3. Elija un alcance de la lista desplegable o cree un alcance personalizado haciendo clic en el ...botón a la derecha del menú desplegable.

  4. En el cuadro de diálogo que aparece, haga clic en el +botón y seleccione Local
  5. En el panel derecho, puede incluir y excluir archivos individuales e incluir o excluir de forma recursiva todos los archivos debajo de una carpeta.

Ahora, cuando use Buscar en la ruta , use su alcance personalizado para restringir qué archivos se buscan.

Sospecho de la referencia a Buscar en archivos en su pregunta que estas instrucciones pueden no aplicarse a su versión, pero es útil saber que esta funcionalidad existe y siempre existe la versión de evaluación de 30 días.

Rob Kielty
fuente
2
Eso funciona. Gracias. Tenía la esperanza de que hubiera alguna configuración o casilla de verificación que había pasado por alto en el sentido de "ignorar archivos generados".
Freiheit
1
@Freiheit Es posible que también pueda hacer que su proyecto ignore los archivos generados, lo que los excluiría de las búsquedas y similares de forma predeterminada en todas partes (a menos que le guste ver o necesite sus archivos generados en IntelliJ, por supuesto).
ajp15243
3
@ ajp15243 Esto se puede hacer en la configuración -> alcance del proyecto
:)
1
Como referencia, estos pasos funcionan exactamente igual en IntelliJ Ultimate 13.
kurtzbot
1
Buena respuesta @RobKielty :) Me salvaste de horas de frustraciones diarias
Shanimal
51

Sé que llega tarde a la fiesta y la respuesta de Rob es decente. Sin embargo, solo me gustaría agregar la siguiente alternativa: si elige el Customalcance (como en la respuesta de Rob), luego deje la selección en Project Files, esto hará que IntelliJ busque un poco más selectivamente que de forma predeterminada. No sé cuáles son las diferencias exactas, pero de particular interés es que si marca un directorio como Excludedusando la Modulespestaña en la Project Structureconfiguración, o haciendo clic derecho en un directorio y seleccionando Mark Directory As-> Excluded.

Si los archivos que desea excluir están en un solo directorio o en relativamente pocos directorios, por lo que puede configurar fácilmente estas reglas de exclusión manualmente, esta es una forma realmente agradable de obtener el mismo resultado sin necesidad de configurar un alcance personalizado.

Probé esto en IntelliJ Ultimate 14.1.4. No tengo idea de cómo se comporta en otras versiones, pero sospecho que la mayor parte de v14 al menos se comportará igual.

Thor84no
fuente
Marqué un directorio excluido por error, cómo volver a incluirlo. La opción de contexto "Marcar directorio como" ya no está visible para ese directorio.
coding_idiot
2
@coding_idiot Mark Directory Astodavía es visible para mí cuando hago eso (la opción para elegir es entonces Cancel Exclusion). Si eso por alguna razón no funciona para usted, debería poder hacer lo mismo abriendo la Moduleconfiguración ( Project Settings-> Modules-> <your module>). En ese diálogo, todas las carpetas excluidas deben aparecer a la derecha con un al xlado para detener la exclusión.
Thor84no
14

También puede poner el filtro de archivo de búsqueda comenzando con el !signo para excluir. Ejemplo para buscar código que no está en archivos de prueba de Java: !*Test.java

Si tiene algunos tipos de archivos, puede separarlos con un ,signo. Ejemplo para buscar solo en archivos Kotlin y Groovy: *.kt,*.groovy

Esto también puede resultar útil.

alex.b
fuente
Eso es muy útil.
javadba
4

Utilizo el siguiente patrón para excluir archivos generados

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

Cómo agregar este patrón sigue

yoAlex5
fuente