¿Cómo excluir una extensión de archivo de la búsqueda IntelliJ IDEA?

126

¿Hay alguna manera de excluir una extensión de archivo particular de los resultados en el cuadro de diálogo " Buscar en la ruta " de IntelliJ IDEA (invocado por CTRL+ SHIFT+ F)? Quiero excluir todos los .cssarchivos.

Robert Kusznier
fuente

Respuestas:

184

En intellij 16 hay una sección "Filtro de nombre de archivo" para excluir el uso de una extensión !*.java. También puede proporcionar patrones más detallados, por ejemplo, utilizo el siguiente patrón para devolver solo archivos .java, excepto aquellos con un nombre que comienza o termina con test. Patrón:!*test.java,*.java,!Test*.java

ingrese la descripción de la imagen aquí

En versiones recientes de Intellij, la GUI se ha actualizado un poco, pero todavía se aplica lo mismo. Consulte la "Máscara de archivo" en la esquina superior derecha. Vea la imagen a continuación:

ingrese la descripción de la imagen aquí

Marqués Blount
fuente
1
¿No puedo mencionar! Mocks / *. Json en el filtro Máscaras de archivo?
CodeTweetie
1
@CodeTweetie, ¿qué estás haciendo con el '/'? No estoy seguro de por qué es necesario (pensé que '/' es solo un delimitador en la expresión regular). sin él, su filtro diría excluir cualquier archivo que comience con "simulacros" seguido de cualquier cosa que termine en ".json"
Marquis Blount
1
Este diálogo de "Filtro de nombre de archivo" no parece existir en versiones recientes (2018.1, etc.).
J Woodchuck
Tenga en cuenta que esta característica se agregó en IntelliJ 2016.1. Si está utilizando una licencia de reserva perpetua de IntelliJ 15 o anterior, esta función no estará disponible. Ver mi otro post
Kevin
47

Puede crear un alcance personalizado allí: en el cuadro de diálogo 'Buscar en ruta' puede marcar el botón de opción 'Personalizado' y abrir la ventana de ámbitos. Allí puede personalizar la ruta y el patrón de búsqueda.

ingrese la descripción de la imagen aquí

Ejemplos de patrones para Patterncampo:

  • !file:*.css - excluir archivos CSS
  • file[MyMod]:src/main/java/com/example/my_package//* - Incluir archivos del directorio en un proyecto.
  • src[MyMod]:com.example.my_package..* - incluye recursivamente todos los archivos en un paquete.
  • file:*.js||file:*.coffee - Incluya todos los archivos JavaScript y CoffeeScript.
  • file:*js&&!file:*.min.* - incluya todos los archivos JavaScript, excepto los que se generaron mediante minificación, que se indica mediante la extensión min.

O consulte la documentación oficial .

¡Buena suerte!

Igor Konoplyanko
fuente
2
Entonces, ¿cuál es el patrón para excluir todas las hojas de estilo CSS?
Robert Kusznier
3
Lo sentimos, está en la documentación de IntelliJ: jetbrains.com/idea/webhelp/scope-language-syntax-reference.html . Para excluir CSS es:! File: *. Css.
Robert Kusznier
¡Me has alegrado el día! Por último, puedo excluir molestos ensayo cases.js
Halyna
18

Esto excluiría todos los js, css y twig, por ejemplo:

!*.js, !*.css, !*.twig

Máscaras de archivo PhpStorm para Buscar en ruta

T30
fuente
3

Si eres como yo y no quieres usar la opción Máscara de archivo o crear un ámbito personalizado, etc., pero solo quieres poder agregarlo a la configuración del proyecto una vez y terminar, entonces aquí hay una solución para ti .

Quería que mi Buscar en ruta no buscara en lockarchivos (archivo de manifiesto generado automáticamente por los administradores de paquetes), esto es lo que tuve que hacer para eso:

Ir a archivo >> Estructura del proyecto (o simplemente presione Comando +;)

Seleccionar módulos en Configuración del proyecto

ingrese la descripción de la imagen aquí

Agregue un patrón o nombres de archivo al cuadro de texto Excluir archivos, en este caso: *.lock;package-lock.jsony presione Aplicar, y luego ok.

intellij-project-structure-screenshot

Nota La opción anterior está disponible en IntelliJ 2019 y versiones posteriores, no estoy seguro acerca de las versiones anteriores. Para obtener más información, https://www.jetbrains.com/help/phpstorm/excluding-files-from-project.html

Arun Karnati
fuente
¡El problema con esto es que también excluye archivos con esas extensiones del derecho de compilación, no solo de las búsquedas !?
Suan
@Suan, que yo sepa, solo excluirá el archivo de búsquedas, finalización de código, inspecciones, etc., prácticamente excluido de la indexación. Consulte
Arun Karnati
La descripción no es buena. Me llevó 5 minutos encontrar esta opción en Estructura del proyecto. Agregue otra captura de pantalla que muestre dónde exactamente encontrar esto.
Frederic Leitenberger
@FredericLeitenberger - ¡listo!
Arun Karnati
@ArunKarnati ¡Genial! ¡Gracias!
Frederic Leitenberger
2

Para 2019.2, el patrón no está establecido en el alcance sino en la ventana superior derecha "Máscara de archivo" en el Find in pathcuadro de diálogo. Debes marcarlo.

La sintaxis que probé son:

  • excluir archivos con extensión css:!*.css
  • excluir todo bajo outdir:!out/*

Los patrones están separados por comas.

Referencia: https://www.jetbrains.com/help/idea/finding-and-replacing-text-in-project.html

WesternGun
fuente