Exclure des dossiers de la recherche Eclipse

263

Existe-t-il un moyen d'exclure certains dossiers (et tous leurs sous-dossiers) de la recherche dans Eclipse?

Dónal
la source
1
Googleurs: voir (la réponse d'Atzz :) stackoverflow.com/a/6111002/1599699 - c'est la réponse que vous cherchez, pas la réponse acceptée.
Andrew
@Andrew c'est maintenant la réponse acceptée
Dónal
JUSTICE POUR TOUTE L'HUMANITÉ!
Andrew

Réponses:

241

Voici ce qui fonctionne pour moi (j'utilise Helios - peut-être que cette méthode n'était pas disponible lorsque cette question a été posée à l'origine?)

  • Allez dans Projet -> Propriétés -> Filtres de ressources.
  • Cliquez sur Ajouter .
  • Choisissez le type de filtre : Tout exclure
  • Choisissez S'applique à : Dossiers ; cocher Tous les enfants (récursif) .
  • Dans les attributs, choisissez Nom , Correspondances , .svn(par exemple).

(En fait, j'utilise .*pour filtrer les fichiers .svn, .hg, etc. en une seule fois.)

Après avoir autorisé la boîte de dialogue des propriétés du projet, ces répertoires ne s'afficheront plus dans la recherche. En fait, Eclipse est assez aimable pour mettre à jour automatiquement les fenêtres de résultats de recherche existantes et supprimer toutes les correspondances qui sont désormais filtrées.

atzz
la source
27
Pour les dernières versions d'Eclipse à partir de 2011 (Helios et Indigo), cela devrait être la réponse acceptée et la manière la plus simple de le faire.
András Szepesházi
9
Comme cela ne peut être appliqué qu'à un projet à la fois, ce n'est vraiment pas un gain par rapport au marquage des dossiers dérivés ... et selon le nombre de fois que vous devez taper les filtres, cela pourrait prendre plus de temps.
egid
Lorsque vous utilisez cette méthode, assurez-vous également d'effacer votre historique de recherche (en utilisant le bouton de la lampe de poche avec une flèche vers le bas dans le panneau de recherche) après avoir ajouté le filtre de ressources. Sinon, vous n'économiserez pas de temps de recherche et vous obtiendrez des .git/.../filename.file doesn't existerreurs car le cache de recherche (je pense?) Considère toujours le dossier .git comme un endroit valide à rechercher.
coredumperror
18
Cela fonctionne mais masque les fichiers dans l'explorateur de packages. Nous souhaitons peut-être modifier les fichiers mais ne pas les voir dans les résultats de recherche.
Aram Kocharyan
Lorsque j'ai essayé, cela a fonctionné pour filtrer les résultats de la recherche, mais j'ai commencé à obtenir des erreurs "Erreurs lors de l'exécution du générateur 'AspectJ Builder' sur le projet 'Mercadosa-webapp'. La ressource existe déjà sur le disque: '/MyProject/target/MyProject-1.0/WEB -INF / freemarker / site / file.ftl ". La ressource existe déjà sur le disque:" /MyProject/target/MyProject-1.0/WEB-INF/freemarker/site/file.ftl "."
Marc
292

La manière rapide et sale:

Cliquez avec le bouton droit sur un dossier, accédez aux propriétés et marquez un dossier comme dérivé. Les entités dérivées sont exclues de la recherche par défaut. Le problème avec cette approche est qu'Eclipse "oublie" que le dossier est dérivé si vous le supprimez (depuis Eclipse ou en externe, suivi de l'actualisation de l'arborescence du projet). Comme souvent avec Eclipse, il s'agit d'un bug de longue date (10 ans dans ce cas) qui s'applique toujours à la version actuelle (4.6 Neon au moment de la rédaction).

La manière sûre:

Créez un jeu de travail comprenant uniquement les entités que vous souhaitez rechercher et recherchez uniquement dans ce jeu de travail. Voir la réponse de Dave Ray pour plus de détails sur cette procédure.

Instantsoup
la source
2
Comme Dave l'a noté dans sa réponse: définir des choses qui ne sont pas vraiment dérivées pour être dérivées pourrait causer des problèmes. Comme lorsque vous utilisez Maven pour créer une distribution.
Arjan
2
Dans Juno, le marquage d'un dossier comme dérivé ne l'exclut pas de la recherche. Je travaille sur Mac OS, donc cela peut être lié à cela car je vois un certain nombre de fonctionnalités qui ne fonctionnent pas correctement sur ce système d'exploitation
Marc
Fonctionne pour moi sur Juno SR2 sous MS-Windows XP. Et le dossier qui m'ennuyait était en fait dérivé (le dossier de construction, avec la liste des fichiers entraînant parfois des millions de hits).
starblue
@Instantsoup Pourquoi la recherche elle-même ne peut-elle pas exclure les dossiers? Je veux dire, il a le "!" caractère juste pour ça, non? Je ne comprends pas pourquoi cela ne fonctionne pas pour moi.
développeur Android
3
Créer «un ensemble de travail comprenant uniquement les entités que vous souhaitez rechercher» n'est pas un moyen très sûr de le faire. En fait, un filtre INCLUSIF est assez dangereux. Imaginez que vous créez un nouveau répertoire ou fichier qui est un frère à celui qui est exclu. Dans ce cas, vous devrez vous rappeler de l'inclure dans la recherche. Si vous oubliez, la recherche a de faux négatifs qui peuvent être dangereux et vous amènent à croire que la recherche Eclipse n'est pas fiable.
JW.
81

Je pourrais imaginer que le marquage des ressources dérivées pourrait causer des problèmes dans d'autres domaines. Au lieu de cela, créez un ensemble de travail avec les dossiers que vous souhaitez inclure dans la recherche:

  • Ouvrir la boîte de dialogue de recherche ( Ctrl+ H)
  • Changer la portée de la recherche en Working Set
  • Cliquez sur Choisir ...
  • Cliquez sur Nouveau pour créer un nouvel ensemble de travail avec ce que vous recherchez (ou Ajouter tout, puis supprimez ceux que vous souhaitez filtrer
Dave Ray
la source
5
Cela a aussi des problèmes. Voir mon commentaire sous la réponse d'Instantsoup ci-dessus. Avec ce filtre INCLUSIF, dans certains cas, lorsque vous ajoutez des fichiers ou des dossiers, vous devez vous rappeler de les inclure dans la recherche. Si vous oubliez, vous obtenez de faux négatifs dangereux. Ce qui n'est pas idéal.
JW.
Dans Eclipse Kepler, une boîte de dialogue "Sélectionner un type de jeu de travail" apparaît après avoir cliqué sur Nouveau. (Il convient de noter que pour trouver tous les types de fichiers, vous devez sélectionner "Ressource" à ce stade.)
Steve Chambers
1

La meilleure façon rapide et sale dans Eclipse Juno:

  1. Faites un clic droit sur le dossier .
  2. Allez dans Propriétés.
  3. Accédez à C / C ++ Build.
  4. Cochez "Exclure la ressource de la build".
  5. Cliquez sur le bouton OK.
  6. Faites un clic droit sur le projet .
  7. Allez à l'index.
  8. Cliquez sur Reconstruire.
  9. Se détendre!
DiFS
la source
1
  • Faites un clic droit sur votre projet
  • Sélectionner Properties
  • Sélectionnez Resource->Resource filters
  • Cliquez sur Add filter
  • Choisissez les paramètres suivants:
    • Tout exclure
    • Fichiers et dossiers
    • Tous les enfants (récursif)
  • Changer NamepourProject Relative Path
  • Remplissez le texte d'entrée avec (bin$|bin/.*|build/.*|build$)(remplacer binet buildpar les noms des dossiers que vous souhaitez exclure)
  • Cocher Regular expression

Appuyez sur OK puis sur Appliquer.

Avertissement

Cela s'appuie sur la réponse de @ atzz, ce qui m'a aidé à comprendre cela. Cependant, bien qu'il ait répondu à la question de savoir comment exclure certains fichiers, il n'a pas répondu à la question de savoir comment exclure certains dossiers.

Vic Seedoubleyew
la source
0

Exclusion d'un dossier ou d'un fichier de la recherche dans Eclipse

1 Right-click on the file/folder.
3 Click on the "Properties" option.
4 Select the "Resource" option.
5 Place a check next to the "Derived" attribute.

L'espoir, c'est l'aide.

super
la source