如何从Visual Studio文件search中排除designer.cs

在Visual Studio 2005/8中进行search时,有没有办法排除特定types的.cs文件?

例如:在重构的情况下,我可能会search识别我的代码中的string文字,以便我可以将它们重构为常量或一些这样的。 然而,* designer.cs文件充满string文字,我不在乎处理,但他们出现在我的search和污染结果集。

我通常search* .cs …

我如何忽略* .designer.cs?

我看到这是相当晚,但看在这个网页上的投票数和活动,我张贴我的答案; 也许别人觉得它有用。 以下是在VS2010及更高版本中如何做到这一点的方法:

  1. 打开软件包pipe理器控制台(工具> NuGet软件包pipe理器>软件包pipe理器控制台)。 让PowerShell自行初始化。
  2. 在PowerShell提示符处input以下命令:

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

  3. 这将列出您指定的单词或模式的所有出现,包括文件名,行号和发现它的文本行。

补充笔记

  1. 如果要指定多个排除模式,请使用@("*.designer.cs", "*.designer.vb", "reference.cs")replace"*.designer.cs"或其他要跳过的文件。
  2. 另一个好处就是search模式也支持正则expression式。
  3. 此解决scheme的一个缺点是,它不会让您双击结果中的一行以在Visual Studio中打开该文件。 您可以通过命令pipe道解决这个限制:

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

这将打开在Visual Studio中findstring或模式的所有文件。 然后,您可以在单个文件中使用查找窗口来查找确切的实例。

此解决scheme的另一个优点是它也可以在Express版本中运行,因为Package Manager包含在2012和2013 Express版本中; 不知道2010年。

 *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 

嗨,只需复制并粘贴上面的“看看这些文件types:”

-Steven Chong

对于Visual Studio 2010,请尝试Ultra Find扩展。 您可以明确排除扩展名。

使用Ultra Find搜索cs扩展名但不包括designer.cs和generated.cs文件的文件。

请注意,search速度取决于您是在search文件系统还是项目/解决scheme。

Microsoft Connect票证“ 查找选项以排除devise器生成的代码 ”表示按文件扩展名过滤search不会出现在VS 2010中。

我刚才遇到了这个问题,我正在寻找对这个问题的答案。

VS感到沮丧,回到了UltraEdit的可靠副本上,并在“查找文件”工具中指定了这些选项:

 File names/extensions to ignore in search: *.pdb;*.dll;*.exe;*designer.vb;*.xsd;*.xml;*.xss;*.resx; 

商业选项是$ 29 Entrian Source Search加载项,可以指定排除模式

它真的打了个答案,但这是我试图“从项目排除”后才发现这些文件也被搜查。

所有我不想包括的文件,幸运的是,在一个名为“存档”的根目录下的文件夹,所以…我剪切和粘贴到我的桌面上的文件。

也许这就是为什么Ultra Find Extension消失了……开发人员可以将所有不需要的文件分组到Web根目录下的一个文件夹中,并在search时将其删除。