J'ai besoin de faire une recherche dans les fichiers. Je veux ignorer ou exclure les fichiers générés, comme les artefacts JAX-WS ou les classes dans les dossiers cibles. Comment puis-je dire à IDEA d'exclure ces fichiers de la recherche ?
Réponses
Trop de publicités?Créer un Portée personnalisée définir l'ensemble des fichiers à inclure/exclure de votre recherche.
-
CTRL + SHIFT + F pour le Trouvez dans le chemin dialogue. (Les utilisateurs de Mac appuient sur command + shift + F )
-
Sous Portée sélectionnez Personnalisé .
-
Choisissez une portée dans la liste déroulante ou créez une portée personnalisée en cliquant sur le bouton ... à droite de la liste déroulante.
-
Dans la boîte de dialogue qui apparaît, cliquez sur l'icône + et sélectionnez Local
-
Dans le volet de droite, vous pouvez inclure et exclure des fichiers individuels et inclure ou exclure récursivement tous les fichiers d'un dossier.
Maintenant, lorsque vous utilisez Trouver dans le chemin Dans le cas d'une recherche de fichiers, utilisez votre champ d'application personnalisé pour limiter les fichiers à rechercher.
Je soupçonne, d'après la référence à Rechercher dans les fichiers dans votre question que ces instructions peuvent ne pas s'appliquer à votre version mais il est utile de savoir que cette fonctionnalité existe et qu'il y a toujours la version d'évaluation de 30 jours.
Je sais que j'arrive tard dans la soirée et que la réponse de Rob est bonne. J'aimerais cependant ajouter l'alternative suivante : si vous avez choisi la solution Custom
(comme dans la réponse de Rob), puis laissez la sélection à Project Files
Cette option permet à IntelliJ d'effectuer des recherches un peu plus sélectives que par défaut. Je ne sais pas quelles sont les différences exactes, mais ce qui est particulièrement intéressant, c'est que si vous marquez un répertoire en tant que Excluded
soit en utilisant le Modules
dans l'onglet Project Structure
ou en cliquant avec le bouton droit de la souris sur un répertoire et en sélectionnant Mark Directory As
-> Excluded
.
Si les fichiers que vous souhaitez exclure se trouvent dans un seul ou un nombre relativement restreint de répertoires, de sorte que vous pouvez facilement configurer manuellement ces règles d'exclusion, il s'agit d'un moyen vraiment agréable d'obtenir le même résultat sans avoir à configurer une portée personnalisée.
J'ai testé ceci dans IntelliJ Ultimate 14.1.4. Je n'ai aucune idée de la façon dont il se comporte dans les autres versions, mais je pense que la plupart de la v14 au moins se comportera de la même façon.
Vous pouvez également mettre le filtre du fichier de recherche commençant par !
signe à exclure. Exemple pour rechercher du code ne se trouvant pas dans les fichiers Java de Test : !*Test.java
Si vous avez quelques types de fichiers que vous pouvez séparer avec ,
signe. Exemple de recherche dans les fichiers Kotlin et Groovy uniquement : *.kt,*.groovy
Cela pourrait également être utile.
Sauter le motif des fichiers générés
J'utilise le motif suivant pour exclure les fichiers générés
!file:*intermediates*/&&!file:*generated*/&&!lib:*..*
[Comment ajouter un nouveau motif de suivi et de saut de motifs de tests]
J'utilise ce filtre pour créer une portée personnalisée afin d'exclure le dossier cible dans les applications play framework :
(src:*..*||test:*..*)&&!file:target//*
Il s'agit également de la référence linguistique pour le langage de définition de l'étendue : https://www.jetbrains.com/help/idea/scope-language-syntax-reference.html