Ignorar una carpeta en los resultados de búsqueda

164

Estoy buscando una cadena y obtengo coincidencias en una carpeta de origen y una carpeta de compilación (el archivo en el origen se copia para compilar durante la compilación).

No necesito el resultado de la carpeta de compilación.

Vim tiene wildignoreque ayuda a filtrar los resultados.

¿Hay algo similar en intelij?

Eric Francis
fuente

Respuestas:

246

Marque su carpeta de compilación como excluida:

File > Project Structure > Modules > Sources > Mark as Excluded (red icon)

También puede hacer clic derecho en su carpeta y seleccionar Mark Directory As > Excluded.

Las carpetas excluidas (mostradas como rootExcluded) son aquellas que IntelliJ IDEA "ignora parcialmente". Se proporciona asistencia de codificación muy limitada para archivos en carpetas excluidas. Las clases contenidas en las carpetas excluidas no aparecen en las listas de sugerencias de finalización de código, las referencias a tales clases se muestran en el editor como no resueltas. Al buscar, IntelliJ IDEA no busca en las carpetas excluidas, etc.

Fuente

Nota: Vea la respuesta de Nader Hadji Ghanbari para otro enfoque usando Scopes.

Darek Kay
fuente
1
No tengo File> Project Settings en intellij 14. He excluido algunas carpetas y no están incluidas en la búsqueda.
Eric Francis
25
Si ignora una carpeta, no aparecerá en sus resultados de búsqueda. También puede hacer clic derecho en su carpeta y seleccionar Mark Directory As > Excluded.
Darek Kay
12
Incluir una carpeta del proyecto solo es aceptable si esa carpeta realmente debe ignorarse. A veces no desea excluir la carpeta, pero simplemente desea excluirla de la búsqueda.
Nader Ghanbari
22
Acabo de probar esto en IntelliJ 15.0.6 y las carpetas excluidas todavía aparecen en los resultados de búsqueda.
Steven Byks
55
Esto no parece estar funcionando en Intellij 2019. Las carpetas excluidas aún aparecen en los resultados de búsqueda.
jrahhali
87

Respuesta corta

Al definir un Alcance al buscar, puede incluir / excluir archivos / carpetas arbitrarias de ese alcance.

Respuesta detallada

Una forma de cumplir con su requisito (excluyendo archivos y carpetas de una búsqueda) es definir un alcance personalizado. Esto es especialmente útil porque a veces solo desea excluir una carpeta de su búsqueda y no de todo el proyecto.

Sigue estos pasos:

  1. Edit-> Find-> Find in patho presione Ctrl+ Shift+ F.

  2. Elija Customen la Scopesección y luego elija<unknown scope>

Ámbitos de búsqueda

  1. Ahora haga clic en el +botón para agregar un nuevo localalcance personalizado

Agregar un nuevo ámbito personalizado

  1. Dé un nombre al ámbito y guárdelo.

Guardar el ámbito personalizado local

  1. Ahora puede incluir y excluir directorios de este ámbito. Primero puede agregar todo eligiendo include recursivelyy luego excluir uno por uno eligiendo excludeo exclude recursively.

ingrese la descripción de la imagen aquí

Tenga en cuenta que incluso puede incluir o excluir bibliotecas de las que depende su proyecto.

  1. Al buscar, puede elegir el alcance efectivo en la Scopesección del Find in Pathcuadro de diálogo.

Más información

Puede consultar los documentos de JetBrains en Scopes para obtener más información. Los ámbitos se pueden usar no solo cuando se busca, sino también en muchos otros casos de uso en IntelliJ IDEA.

Patrones

Puede usar Patrones para definir un alcance que los haga aún más potentes y a prueba de futuro.

El uso de patrones es otra forma de excluir archivos y carpetas. Por ejemplo file:src/main/java//*&&!file:src/main/java/my//*, excluirá todos los archivos en la mycarpeta.

ingrese la descripción de la imagen aquí

Nader Ghanbari
fuente
2
Parece que la Idea 15 tiene que hacer clic en "..." junto a Personalizar en lugar de elegir <unknown scope>.
mikebridge
¿Cómo puedo excluir archivos de la búsqueda en todas partes?
ycomp
Waaay demasiado trabajo! La respuesta de allkenang a continuación resuelve el problema en dos clics. Eso es más rápido que leer la versión corta de esta respuesta.
Superole
3
@Superole es cierto, lo mismo que la respuesta aceptada, pero literalmente excluye la carpeta del proyecto (ya no será una fuente o carpeta de prueba) y eso no es lo que siempre quieres. Excluir una carpeta totalmente de un proyecto o simplemente excluirla solo para una búsqueda específica son dos cosas diferentes (es por eso que algunas personas encuentran útil esta respuesta). Por cierto, en una nota al margen, si usa Maven para proyectos Java o SBT para Scala (o similares para otros langs), probablemente nunca quiera excluir una carpeta porque todo ya está bien hecho para usted automáticamente.
Nader Ghanbari
¡Gracias por enseñarme acerca de los ámbitos, @NaderGhanbari! No me di cuenta de que IntelliJ tenía esta funcionalidad.
Jan Molak
23

En Intellij 15, para excluir una carpeta solo haga esto:

en la ventana Proyecto, seleccione la carpeta, luego haga clic derecho y elija "Marcar directorio como"> "Excluido"

allkenang
fuente
Ahh ¡Gracias! ¡Esto fue un millón de veces más fácil que la respuesta aceptada ! Intenté crear un alcance primero, pero esa fue una pesadilla de desplazamiento, clic, expansión, alternancia, inclusión y exclusión.
Superole
En un proyecto Maven, esta configuración no persiste después de cambiar las ramas con una aplicación separada.
Pr0methean
8
No parece estar funcionando en IntelliJ 2018: está marcado como excluido pero aún se muestra en los resultados: /
Chris Nevill
12

Haga clic derecho en el directorio -> Marcar directorio como -> Excluido.

Pishtewan Agha
fuente
0

Si está buscando usos, abra la "Configuración de búsqueda de usos ...", por defecto Ctrl+ Alt+ Shift+ F7, para reducir el alcance de "Todos los archivos" a "Archivos de proyecto".

Zsolt Z.
fuente