Comment exclure une extension de fichier de la recherche IntelliJ IDEA?

126

Existe-t-il un moyen d'exclure une extension de fichier particulière des résultats dans la boîte de dialogue « Rechercher dans le chemin » d' IntelliJ IDEA (appelée par CTRL+ SHIFT+ F)? Je souhaite exclure tous les .cssfichiers.

Robert Kusznier
la source

Réponses:

184

Dans intellij 16, il existe une section "Filtre de nom de fichier" pour exclure l'utilisation d'une extension !*.java. Vous pouvez également donner des modèles plus détaillés, par exemple, j'utilise le modèle ci-dessous pour ne renvoyer que les fichiers .java, sauf ceux dont le nom commence ou se termine par test. Modèle:!*test.java,*.java,!Test*.java

entrez la description de l'image ici

Dans les versions récentes d'Intellij, l'interface graphique a été un peu mise à jour mais la même chose s'applique toujours voir le "Masque de fichier" dans le coin supérieur droit voir l'image ci-dessous:

entrez la description de l'image ici

Marquis Blount
la source
1
Puis-je ne pas mentionner! Mocks / *. Json dans le filtre File Masks?
CodeTweetie
1
@CodeTweetie que faites-vous avec le '/' je ne sais pas pourquoi il est nécessaire (je pensais que '/' est juste un délimiteur dans regex). sans cela, votre filtre dirait exclure tout fichier commençant par "mock" suivi de tout ce qui se termine par ".json"
Marquis Blount
1
Cette boîte de dialogue «Filtre de nom de fichier» ne semble pas exister dans les versions récentes (2018.1, etc.).
J Woodchuck
Notez que cette fonctionnalité a été ajoutée dans IntelliJ 2016.1. Si vous utilisez une licence de secours perpétuelle d'IntelliJ 15 ou version antérieure, cette fonctionnalité ne sera pas disponible. Voir mon autre article
Kevin
47

Vous pouvez créer une portée personnalisée ici: Dans la boîte de dialogue «Rechercher dans le chemin», vous pouvez cocher le bouton radio «Personnalisé» et ouvrir la fenêtre des portées. Là, vous pouvez personnaliser le chemin et le modèle de recherche.

entrez la description de l'image ici

Exemples de modèles pour le Patternchamp:

  • !file:*.css - exclure les fichiers CSS
  • file[MyMod]:src/main/java/com/example/my_package//* - inclure des fichiers du répertoire dans un projet.
  • src[MyMod]:com.example.my_package..* - inclure récursivement tous les fichiers dans un package.
  • file:*.js||file:*.coffee - inclure tous les fichiers JavaScript et CoffeeScript.
  • file:*js&&!file:*.min.* - inclure tous les fichiers JavaScript à l'exception de ceux qui ont été générés via la minification, qui est indiquée par l'extension min.

Ou consultez la documentation officielle .

Bonne chance!

Igor Konoplyanko
la source
2
Alors, quel est le modèle pour exclure toutes les feuilles de style CSS?
Robert Kusznier
3
Désolé, c'est dans la documentation d'IntelliJ: jetbrains.com/idea/webhelp/scope-language-syntax-reference.html . Pour exclure CSS, c'est:! File: *. Css.
Robert Kusznier
Tu as fait ma journée! Enfin, je peux exclure les cas de test ennuyeux.js
Halyna
18

Cela exclurait tous les js, css et twig par exemple:

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

Masques de fichiers PhpStorm pour rechercher dans le chemin

T30
la source
4

Si vous êtes comme moi et que vous ne souhaitez pas utiliser l'option Masque de fichier ou créer une portée personnalisée, etc., mais que vous souhaitez simplement pouvoir l'ajouter aux paramètres du projet une fois et en finir avec elle, alors voici une solution pour vous .

Je voulais que mon Find in Path ne recherche pas dans les lockfichiers (fichier manifeste généré automatiquement par les gestionnaires de packages), voici ce que je devais faire pour cela:

Aller au fichier >> Structure du projet (ou appuyez simplement sur Commande +;)

Sélectionnez Modules sous Paramètres du projet

entrez la description de l'image ici

Ajoutez un modèle ou des noms de fichier à la zone de texte Exclure les fichiers, dans ce cas: *.lock;package-lock.jsonet appuyez sur Appliquer, puis sur OK.

intellij-project-structure-screenshot

Remarque L'option ci-dessus est disponible dans IntelliJ 2019 et les versions ultérieures, pas sûr des anciennes versions. Pour plus d'informations, https://www.jetbrains.com/help/phpstorm/excluding-files-from-project.html

Arun Karnati
la source
Le problème avec ceci est qu'il exclut également les fichiers avec ces extensions du droit de compilation, pas seulement des recherches !?
Suan
@Suan pour autant que je sache, cela n'exclura que le fichier des recherches, de l'achèvement de code, des inspections, etc. à peu près exclus de l'indexation. Consultez cet article de JetBrains, jetbrains.com/help/phpstorm/excluding-files-from-project.html
Arun Karnati
La description n'est pas bonne. Il m'a fallu 5 minutes pour trouver cette option dans la structure du projet. Veuillez ajouter une autre capture d'écran montrant où trouver exactement cela.
Frederic Leitenberger
@FredericLeitenberger - c'est fait!
Arun Karnati
@ArunKarnati Super! Merci!
Frederic Leitenberger le
2

Pour 2019.2, le modèle n'est pas défini dans la portée mais dans la fenêtre supérieure droite "Masque de fichier" dans la Find in pathboîte de dialogue. Vous devez le cocher.

La syntaxe que j'ai testée est:

  • exclure les fichiers avec l'extension css:!*.css
  • exclure tout sous outdir:!out/*

Les motifs sont séparés par des virgules.

Référence: https://www.jetbrains.com/help/idea/finding-and-replacing-text-in-project.html

WesternGun
la source