2011-04-14 380 views
16

想知道是否有扩展或宏或者看起来通过您的解决方案,并给出了哪些js/css /图像文件没有被引用在代码中的任何地方的报告?Visual Studio - 删除未使用的文件

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

回答

7

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

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

+0

酷!这虽然有点太晚;) – Mrchief 2013-02-28 15:00:24

+2

嗨,我是这个扩展的作者,只是更新到VS2013。它是开源的,你可以在这里找到它:https://github.com/jitbit/vs-unused-image-finder – Alex 2016-01-18 17:49:03

3

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

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

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

另外,下面我的原始响应中的工具可以很好地描述当您的站点加载时实际使用的JS/CSS/IMAGE资源。当与Selenium这样的测试工具配合使用时,这些应该可以让您放心地移除资源。


有几个工具,你应该看看:

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

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

+0

你错过了这一点。这些工具有不同的用途。我需要找出未使用的文件,这些文件在代码中没有引用。这些工具只能找出应用程序中引用/包含的文件中未使用的内容。 – Mrchief 2011-04-23 13:32:11

+0

看到我上面的更新。我不认为可以完全确定地找到未使用的JS/CSS/Image文件,因为它们可以通过现有的JavaScript动态加载。 – 2011-05-07 04:33:15

0

中仅高于所选答案的扩建工程在vs2012而代码女仆工作在VS2010 - vs2014:

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

1

方案特点

  • 是半 - 手动
  • 是不是一个扩展
  • 看起来长,但并不复杂或难以
  • 作品不仅仅是图像或所有文件
  • 克服所有的AJAX技巧
  • 应该与任何项目或版本的Visual St UDIO

步骤

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

结果

您正在寻找在列什么是你不使用的文件列表。

注意

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

警告

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

0

如果你正在使用Visual Studio的新版本,而不能使用的扩展,我所做的就是这样的:

  1. 排除所有的目标文件。
  2. 查找“,,,”(这表示绝对资源引用)并包括找到的每个资源。请注意,您应该尝试与您的参考文献相关的任何唯一关键字
  3. 重复步骤2,直到Visual Studio停止打开文件(如果没有找到新的匹配项,则已打开的文档将进入焦点)。
  4. 尝试建设项目。如果您碰巧错过资源,Visual Studio会通知您。在这种情况下,重复步骤2-4;这是不值得的,这是不值得的。

我只需要做一次,我最多花了十分钟。

相关问题