50 votes

Comment exclure le fichier designer.cs de la recherche de fichiers de Visual Studio ?

Existe-t-il un moyen d'exclure un type particulier de fichier .cs lors d'une recherche dans Visual Studio 2005/8 ?

Exemple : Dans un scénario de remaniement, je pourrais chercher à identifier les chaînes de caractères dans mon code afin de les remanier en constantes ou autres. Cependant, les fichiers *designer.cs sont remplis de chaînes littérales dont je ne me soucie pas, mais qui apparaissent dans ma recherche et polluent les résultats.

Je recherche habituellement les *.cs...

Comment puis-je ignorer *.designer.cs ?

0 votes

Auriez-vous la possibilité de publier votre solution sous forme de réponse ? La réponse acceptée renvoie maintenant à une page 404.

4 votes

Nous pouvons tous voter pour cette fonctionnalité dans Visual Studio ici : visualstudio.uservoice.com/forums/121579-visual-studio-2015/ Doooooo it !

31voto

Steven Chong Points 320
*a.cs;*b.cs;*c.cs;*d.cs;*e.cs;*f.cs;*g.cs;*h.cs;*i.cs;*j.cs;*k.cs;*l.cs;*m.cs;*n.cs;*o.cs;*p.cs;*q.cs;*s.cs;*t.cs;*u.cs;*v.cs;*w.cs;*x.cs;*y.cs;*z.cs;*_.cs;*..cs;*ar.cs;*br.cs;*cr.cs;*dr.cs;*fr.cs;*gr.cs;*hr.cs;*ir.cs;*jr.cs;*kr.cs;*lr.cs;*mr.cs;*nr.cs;*or.cs;*pr.cs;*qr.cs;*rr.cs;*sr.cs;*tr.cs;*ur.cs;*vr.cs;*wr.cs;*xr.cs;*yr.cs;*zr.cs;*_r.cs;*.r.cs;*aer.cs;*ber.cs;*cer.cs;*der.cs;*eer.cs;*fer.cs;*ger.cs;*her.cs;*ier.cs;*jer.cs;*ker.cs;*ler.cs;*mer.cs;*oer.cs;*per.cs;*qer.cs;*rer.cs;*ser.cs;*ter.cs;*uer.cs;*ver.cs;*wer.cs;*xer.cs;*yer.cs;*zer.cs;*_er.cs;*.er.cs;*aner.cs;*bner.cs;*cner.cs;*dner.cs;*ener.cs;*fner.cs;*hner.cs;*iner.cs;*jner.cs;*kner.cs;*lner.cs;*mner.cs;*nner.cs;*oner.cs;*pner.cs;*qner.cs;*rner.cs;*sner.cs;*tner.cs;*uner.cs;*vner.cs;*wner.cs;*xner.cs;*yner.cs;*zner.cs;*_ner.cs;*.ner.cs;*agner.cs;*bgner.cs;*cgner.cs;*dgner.cs;*egner.cs;*fgner.cs;*ggner.cs;*hgner.cs;*jgner.cs;*kgner.cs;*lgner.cs;*mgner.cs;*ngner.cs;*ogner.cs;*pgner.cs;*qgner.cs;*rgner.cs;*sgner.cs;*tgner.cs;*ugner.cs;*vgner.cs;*wgner.cs;*xgner.cs;*ygner.cs;*zgner.cs;*_gner.cs;*.gner.cs;*aigner.cs;*bigner.cs;*cigner.cs;*digner.cs;*eigner.cs;*figner.cs;*gigner.cs;*higner.cs;*iigner.cs;*jigner.cs;*kigner.cs;*ligner.cs;*migner.cs;*nigner.cs;*oigner.cs;*pigner.cs;*qigner.cs;*rigner.cs;*tigner.cs;*uigner.cs;*vigner.cs;*wigner.cs;*xigner.cs;*yigner.cs;*zigner.cs;*_igner.cs;*.igner.cs;*asigner.cs;*bsigner.cs;*csigner.cs;*dsigner.cs;*fsigner.cs;*gsigner.cs;*hsigner.cs;*isigner.cs;*jsigner.cs;*ksigner.cs;*lsigner.cs;*msigner.cs;*nsigner.cs;*osigner.cs;*psigner.cs;*qsigner.cs;*rsigner.cs;*ssigner.cs;*tsigner.cs;*usigner.cs;*vsigner.cs;*wsigner.cs;*xsigner.cs;*ysigner.cs;*zsigner.cs;*_signer.cs;*.signer.cs;*aesigner.cs;*besigner.cs;*cesigner.cs;*eesigner.cs;*fesigner.cs;*gesigner.cs;*hesigner.cs;*iesigner.cs;*jesigner.cs;*kesigner.cs;*lesigner.cs;*mesigner.cs;*nesigner.cs;*oesigner.cs;*pesigner.cs;*qesigner.cs;*resigner.cs;*sesigner.cs;*tesigner.cs;*uesigner.cs;*vesigner.cs;*wesigner.cs;*xesigner.cs;*yesigner.cs;*zesigner.cs;*_esigner.cs;*.esigner.cs;*adesigner.cs;*bdesigner.cs;*cdesigner.cs;*ddesigner.cs;*edesigner.cs;*fdesigner.cs;*gdesigner.cs;*hdesigner.cs;*idesigner.cs;*jdesigner.cs;*kdesigner.cs;*ldesigner.cs;*mdesigner.cs;*ndesigner.cs;*odesigner.cs;*pdesigner.cs;*qdesigner.cs;*rdesigner.cs;*sdesigner.cs;*tdesigner.cs;*udesigner.cs;*vdesigner.cs;*wdesigner.cs;*xdesigner.cs;*ydesigner.cs;*zdesigner.cs;*_designer.cs

Bonjour, il suffit de copier et coller le texte ci-dessus dans "Regarder ces types de fichiers :"

-Steven Chong

3 votes

Bien que cela fonctionne dans la mesure où *.designer.cs ne s'affiche pas dans les résultats de la recherche, la liste blanche n'est pas la même chose que la liste noire des critères. Par exemple, si je voulais ignorer *.designer.cs et Reference.cs cette liste blanche échoue.

1 votes

C'est une solution de contournement, Visual Studio sauvegardera votre liste. Je peux poster une autre liste blanche si vous voulez ignorer à la fois *.designer.cs et reference.cs, que j'ai personnellement trouvé utile et que je veux partager.

7 votes

C'est tellement laid que je l'aime bien :-D

14voto

dotNET Points 5290

Je vois qu'il est assez tard, mais vu le nombre de votes et l'activité sur cette page, je poste ma réponse ; peut-être que quelqu'un d'autre la trouvera utile. Voici comment vous pouvez faire cela dans VS2010 et plus :

  1. Ouvrez la console du gestionnaire de paquets (Outils > NuGet Package Manager > Console du gestionnaire de paquets). Laissez PowerShell s'initialiser.

  2. Entrez la commande suivante dans l'invite PowerShell :

    dir -Recurse | Select-String -pattern "Your Search Word Or Pattern" -exclude "*.designer.cs"

  3. Cette opération permet de répertorier toutes les occurrences du mot ou du modèle que vous avez spécifié, y compris le nom du fichier, le numéro de ligne et la ligne de texte où il a été trouvé.

Notes supplémentaires

  1. Si vous voulez spécifier plusieurs modèles d'exclusion, remplacez "*.designer.cs" avec @("*.designer.cs", "*.designer.vb", "reference.cs") ou tout autre fichier que vous voulez ignorer.
  2. Autre point positif : le modèle de recherche prend également en charge les expressions régulières.
  3. L'inconvénient de cette solution est qu'elle ne vous permet pas de double-cliquer sur une ligne du résultat pour ouvrir ce fichier dans Visual Studio. Vous pouvez contourner cette limitation grâce au command-piping :

    dir -Recurse | Select-String -pattern "Your String Or Pattern" -exclude "*.designer.vb" | sort | Select -ExpandProperty "Path" | get-unique | ForEach-Object { $DTE.ExecuteCommand("File.OpenFile", """$_""") }

Cela ouvrira tous les fichiers où la chaîne ou le motif a été trouvé dans Visual Studio. Vous pouvez alors utiliser Trouvez dans les fichiers individuels pour localiser les instances exactes.

Un autre avantage de cette solution est qu'elle fonctionne également dans les versions Express, puisque le gestionnaire de paquets est inclus dans les versions Express 2012 et 2013 ; je ne suis pas sûr pour 2010 cependant.

11voto

Daniel Ballinger Points 4883

Pour Visual Studio 2010, essayez le Ultra Find extension. Vous pouvez exclure explicitement des extensions.

Using Ultra Find to search files with cs extension but excluding designer.cs and generated.cs files.

Notez que la vitesse de recherche varie selon que vous recherchez le système de fichiers ou le projet/solution.

13 votes

Malheureusement il n'y a pas de recherche Regex dans Ultra Find, cela réduit une partie de l'Ultraness...

4 votes

C'est une honte que l'extension Ultra Find ait été supprimée Quelqu'un connaît-il quelque chose d'autre ?

1 votes

@wasatchwizard Je suis également à la recherche de quelque chose de similaire. Vous avez eu la chance de trouver quelque chose (spécifiquement VS2012) ?

6voto

Ben Gribaudo Points 2023

Le billet Microsoft Connect " Trouver une option pour exclure le code généré par le concepteur "indique que le filtrage de la recherche par extension de fichier ne sera pas présent dans VS 2010.

1 votes

Cette réponse est maintenant invalide, car le filtrage par type de fichier est possible dans VS2010.

0 votes

@hamlin11 Pouvez-vous fournir une référence à ce sujet ?

8 votes

Je ne suis pas sûr que cela soit utile - vous pouvez faire une recherche par type de fichier, mais comment pouvez-vous exclure certains noms de fichiers ?

4voto

Craig A Points 131

La fonction permettant d'exclure les fichiers correspondant à un modèle a été ajoutée à Visual Studio 16.5.x.

https://devblogs.microsoft.com/visualstudio/modernizing-find-in-files/

Tout chemin ou type de fichier préfixé par le caractère " !" sera exclu de la recherche. de la recherche. Par exemple, vous pouvez ajouter "!* \node_modules *" à la liste des types de fichiers pour exclure tous les fichiers d'un dossier node_modules.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X