Visual Studio - 删除未使用的文件

时间:2011-04-14 15:52:23

标签: visual-studio visual-studio-2010

想知道是否有扩展程序或宏或某些内容可以查看您的解决方案并提供报告,说明哪些js / css / image文件未在代码中的任何位置引用?

我有一个大型项目,随着时间的推移,它积累了灰尘。除了手动搜索每个文件的用法之外,还有其他节省时间的方法吗?

5 个答案:

答案 0 :(得分:8)

有一个Visual Studio扩展程序可以搜索未引用的图像文件。它会查找项目中的所有图像文件,然后扫描所有aspx / cs / ashx / css / js文件以供参考。它尚未针对Visual Studio 2012进行更新。

http://visualstudiogallery.msdn.microsoft.com/fb7a9b9c-08e1-4bb4-91b4-8e512feb5a1b

答案 1 :(得分:3)

更新您将找不到可以系统地识别未使用资源的工具,因为可以动态加载JavaScript,CSS和图像文件。 This文章展示了如何动态加载JavaScript和CSS,在JavaScript中动态加载图像是一项简单的任务。很容易想象一个场景,其中图像名称是从外部数据源加载的,或者是从另一个字段值加上“.jpg”连接起来的。显然,任何试图扫描您的源以查找未引用文件的工具都会遗漏这些资源。

也就是说,您可以使用Visual Studio通过正则表达式功能进行搜索,或使用带有正则表达式搜索的高功率文本编辑器(如Notepad ++)搜索.js,.css和.jpg文件的硬编码引用特征。

例如,要使用Visual Studio搜索以ASCX ir ASPX页面中引用的.js结尾的所有文件,请转到编辑/查找和替换/在文件中查找,将搜索表达式设置为 .js&gt ; 开启 “使用正则表达式”,并将“查看这些文件类型”设置为“* .aspx; * .ascx”。  (“\”转义为“。”,而“>”表示单词的结尾,因此找到“foo.js”,但不是“foo.jsx”.Visual Studio有自己的正则表达式语法,记录在案here

此外,我在下面的原始响应中的工具可以很好地了解在加载网站时实际使用的JS / CSS / IMAGE资源。与Selenium等测试工具结合使用时,可以让您放心地删除资源。


您应该查看几种工具:

  

WARI扫描您的Web应用程序并检查JavaScript函数,CSS样式,HTML标记和图像之间的依赖关系。

     

目标是找到未使用的图像以及未使用和重复的JavaScript函数和CSS样式。

答案 2 :(得分:1)

解决方案功能

  • 是半手动的
  • 不是扩展程序
  • 看起来很长但并不复杂或困难
  • 仅适用于图片或所有文件
  • 克服了所有的ajax技巧
  • 应该适用于任何项目或Visual Studio版本

<强>步骤

  1. 在启用调试的情况下在Chrome中运行网站(在启动网站之前按 F12
  2. 完全行使网站。让它下载它将下载的所有内容。
  3. 转到网络标签。
  4. 在文件网格上,单击列表中显示的任何图像(与哪个图像无关)。这将使所有列标题,但名称消失。
  5. 点击名称列标题,以升序排序。
  6. 执行 CTRL + A CTRL + C 复制所有文件名。
  7. 将新的Google电子表格(在Google文档中)粘贴到单元格 A2 中。
  8. 如果由于任何原因它没有复制所有文件名,请重复步骤6和7。向下滚动。
  9. 在命令提示符中进入您的实际网站图像目录(或您有兴趣比较的任何目录)并发出dir /b。将其复制到剪贴板(标记功能)并粘贴到单元格 B2
  10. 在单元格 C2 中,粘贴此公式=not(isna(VLOOKUP(B2,$A$2:$A$TheBottomOfA,1,false)))。将 TheBottomOfA 更改为 A 列中最后一次使用的行。
  11. B 列中为所有值复制公式。
  12. 在单元格 C1 中,键入已使用。在单元格 B1 中,键入名称。在列B和C中的所有值上添加数据过滤器。使用鼠标在 C1 中设置过滤器,仅显示已使用 = FALSE。
  13. <强>结果

    您在 B 列中查看的内容是您未使用的文件列表。

    注意

    我建议将未使用的文件移动到脱机文件夹而不是删除它们。

    警告

    你仍然需要使用常识。 BRAIN=ON

答案 3 :(得分:0)

上面所选答案中的扩展仅适用于vs2012,而Code Maid适用于vs2010 - vs2014:

有一个名为Code Maid的免费扩展“是一个开源Visual Studio扩展,用于清理,挖掘和简化我们的C#,C ++,F#,VB,XAML,XML,ASP,HTML,CSS,LESS ,SCSS,JavaScript和TypeScript编码。“也是图像。

答案 4 :(得分:0)

如果您使用的是新版本的Visual Studio并且无法使用这些扩展程序,我所做的就是:

  1. 排除所有目标文件。
  2. 查找&#34; ,,,&#34; (这表示绝对资源引用)并包括找到的每个资源。请注意,您应该尝试与参考文献相关的任何唯一关键字。
  3. 重复步骤2,直到Visual Studio停止打开文件(如果未找到新的匹配项,则已打开的文档将成为焦点)。
  4. 尝试构建项目。如果您碰巧错过了资源,Visual Studio会通知您。在这种情况下,重复步骤2-4;没有必要,这几乎没有必要。
  5. 我只需要这样做一次,最多只花了十分钟。