2009-10-20 146 views
43

在Visual Studio 2005/8中执行搜索时,有没有办法排除特定类型的.cs文件?如何从Visual Studio文件搜索中排除designer.cs

例如:在重构场景中,我可能会搜索识别我的代码中的字符串文字,以便我可以将它们重构为常量或其他类型。然而,* designer.cs文件充满了字符串文字,我不在乎处理,但它们出现在我的搜索中并污染了结果集。

我通常搜索*的.cs ...

我怎么不理*了.Designer.cs?

+0

任何机会,你可以发布您的解决方案作为一个答案。接受的答案现在链接到404 – Blowsie 2013-01-03 16:02:03

+2

我们都可以在这里为Visual Studio中的功能投票:https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/2907413-add-exclude-文件到查找选项 - 在Doooooo下! – Polshgiant 2016-05-16 00:35:10

回答

12

我看到它很晚了,但看着这个页面上的投票数量和活动,我发布了我的答案;也许别人觉得它有用。这里是你如何在VS2010及以上版本中做到这一点:

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

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

  3. 这将列出您指定的文字或图案的所有事件,包括文件名,行号和文本行它在哪里找到。

其他注意事项

  1. 如果要指定多个排除模式,与@("*.designer.cs", "*.designer.vb", "reference.cs")或任何你想跳过其他文件替换"*.designer.cs"
  2. 另一件好事就是搜索模式也支持正则表达式。
  3. 此解决方案的一个缺点是它不会让您双击结果中的一行以在Visual Studio中打开该文件。您可以通过命令管道此限制:

    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中找到的文件。然后,您可以使用在单个文件中查找窗口来查找确切的实例。

此解决方案的另一个优点是,它也适用于Express版本,因为Package Manager包含在2012和2013 Express版本中;不知道2010年。

+0

后一个命令会在Visual Studio 2015的VB解决方案中抛出一大堆窗口,说明“操作无法完成”。 – 2016-10-19 10:13:17

+0

找到了答案 - 用(“File.OpenFile”,“”“$ _”“”)替换(“File.OpenFile”,$ _)。这是将文件名用引号括起来,因为路径中包含空格。如果搜索整个解决方案,请考虑添加* .VB。我得到了很多无关的文件,直到我做到了。 – 2016-10-19 10:26:22

5

Microsoft连接票“Find option to exclude designer generated code”表示按文件扩展名过滤的搜索结果在VS 2010

+1

此答案现在无效,由VS2010 – 2011-06-20 00:51:36

+0

@ hamlin11可能按文件类型进行过滤您能否提供此参考? – 2011-10-21 08:22:22

+1

当然,我做了一个屏幕截图。使用“在文件中查找”http://i.imgur.com/UzI3l.png – 2011-10-21 15:08:37

1

将不存在,我只是碰到这种问题就来了,我寻找的答案,这非常的问题。

很沮丧与VS和倒在我的UltraEdit的值得信赖的副本,并指定在其“在文件中查找”工具选项:

File names/extensions to ignore in search: 

    *.pdb;*.dll;*.exe;*designer.vb;*.xsd;*.xml;*.xss;*.resx; 
+0

@sammeric:感谢小费,欢迎来到SO。有没有UltraEdit的免费版本?我喜欢Notepad ++,但它似乎没有搜索忽略功能。 (顺便说一句,在SO响应中不需要签名,所有的帖子都会自动与你的名字和头像签署。) – 2011-04-06 16:26:36

+0

不幸的是,没有免费版本的UltraEdit。我付了一份副本,因为我已经使用了它多年(最初是为了在VS添加该功能之前的列编辑模式)。它具有许多强大的功能,使其个人值得花费。我使用正则表达式搜索的脚本,并替换只是为了命名一个功能。 – samneric 2011-04-07 20:07:53

31
*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 

嗨,只需复制并粘贴以上“看看这些文件类型:”

-Steven冲

+3

尽管这可以在搜索结果中显示“* .designer.cs”,但白名单与将条件列入黑名单不同。例如,如果我想忽略'* .designer.cs'和'Reference.cs',这个白名单失败。 – 2012-06-07 16:10:16

+0

这是一种解决方法,Visual Studio将保存您的列表。我可以发布另一个白名单,如果你想忽略* .designer.cs和reference.cs,这是我个人认为有用并且想要分享的 – 2012-06-08 08:37:23

+7

这很丑,我喜欢它:-D – slawekwin 2013-03-08 10:25:24

9

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

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

注意,搜索速度取决于如果您正在搜索的文件系统或项目/解决方案。

+8

不幸的是,在Ultra Find中没有Regex搜索,它降低了Ultraness的一些... – Helo 2012-12-07 11:12:18

+2

Ultra Find扩展被删除是一种遗憾..任何人都知道其他什么? – wasatchwizard 2013-05-28 18:44:41

+0

@wasatchwizard我也在寻找类似的东西。你有什么好运(特别是VS2012)? – 2013-06-04 22:36:54

0

这真的吹了一个答案,但这里是我尝试“从项目排除”才发现,这些文件也被搜查后没有。

所有我不想包括的文件,幸运的是,在一个名为'Archived'的根目录下的文件夹,所以...我剪切并将文件粘贴到我的桌面。

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

相关问题