Visual Studio-删除未使用的文件

问题描述

| 想知道是否有扩展名或宏或通过您的解决方案可以看到的东西,并给出报告哪些js / css / image文件未在代码中的任何地方引用? 我有一个大项目,随着时间的推移,它已经积聚了灰尘。除了手动搜索每个文件的用途之外,还有其他省时的方法吗?     

解决方法

有一个Visual Studio Extension,可以搜索未引用的图像文件。它会找到项目中的所有图像文件,然后扫描所有aspx / cs / ashx / css / js文件以获取参考。尚未针对Visual Studio 2012更新。 http://visualstudiogallery.msdn.microsoft.com/fb7a9b9c-08e1-4bb4-91b4-8e512feb5a1b     ,更新您将找不到可以系统地识别未使用资源的工具,因为可以动态加载JavaScript,CSS和图像文件。本文介绍了如何动态加载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有其自己的正则表达式语法,在此处记录) 另外,下面我的原始回复中的工具可以很好地展示您的网站在加载时实际使用了哪些JS / CSS / IMAGE资源。当与Selenium等测试工具结合使用时,这些工具应使您可以放心地删除资源。 您应该查看几种工具: WARI-Web应用程序资源检查器似乎最合适。根据他们的网站:   WARI会扫描您的Web应用程序,并检查JavaScript函数,CSS样式,HTML标签和图像之间的依赖关系。      目的是查找未使用的图像以及未使用和重复的JavaScript函数和CSS样式。 JSCoverage是Javascript的代码覆盖率检查器。 对于CSS,http://unused-css.com/有一个在线工具,还有一个名为DustMeSelectors的Firefox扩展。     ,解决方案功能 半手动 不是扩展 看起来很长,但并不复杂或困难 仅适用于图像或所有文件 克服了所有的ajax技巧 应该可以与Visual Studio的任何项目或版本一起使用 脚步 在启用调试的情况下在Chrome中运行网站(在启动网站之前按F12键) 完全锻炼网站。使其下载将下载的所有内容。 转到网络选项卡。 在文件网格上,单击列表中出现的任何图像(无关紧要)。这将使所有列标题(但名称)消失。 单击“名称”列标题,以升序排序。 执行CTRL + A,CTRL + C复制所有文件名。 粘贴到新的Google电子表格(在Google文档中)到单元格A2中。 如果由于某种原因它没有复制所有文件名,请重复步骤6和7。向下滚动。 在命令提示符下进入实际的网站图像目录(或您要比较的任何目录),然后发出“ 0”。将其复制到剪贴板(标记功能)并粘贴到单元格B2中。 在单元格C2中,粘贴此公式
=not(isna(VLOOKUP(B2,$A$2:$A$TheBottomOfA,1,false)))
。将TheBottomOfA更改为A列中最后使用的行。 将公式复制为B列中所有值的公式。 在单元格C1中,键入Use。在单元格B1中,键入名称。在B和C列中的所有值上添加一个数据过滤器。在C1中用鼠标设置过滤器,以仅显示Is Used = FALSE。 结果 您在B列中查看的是未使用的文件列表。 注意 我建议将未使用的文件移到脱机文件夹中,而不要删除它们。 警告 您仍然需要使用常识。
BRAIN=ON
    ,上面所选答案中的扩展名仅在vs2012中有效,而Code Maid在vs2010-vs2014中有效: 有一个免费的扩展名为Code Maid,它是Visual Studio的开源扩展,用于清理,挖掘和简化我们的C#,C ++,F#,VB,XAML,XML,ASP,HTML,CSS,LESS,SCSS,JavaScript和TypeScript编码。\“也执行图像。     ,如果您使用的是Visual Studio的新版本,并且无法使用扩展名,那么我所做的就是: 排除所有目标文件。 查找\“,”,\“(这表示绝对资源引用)并包括找到的每个资源。注意,您应该尝试与参考相关的任何唯一关键字。 重复步骤2,直到Visual Studio停止打开文件为止(如果未找到新匹配项,则已打开的文档将成为焦点)。 尝试构建项目。如果您碰巧错过了资源,Visual Studio会通知您。在这种情况下,重复步骤2-4;一文不值,这几乎是没有必要的。 我只需要这样做一次,我最多只花了十分钟。