在Visual Studio 2010中,有没有一种简单的方法来查找资源文件中的重复文本?

4
在审查我正在处理的一个项目时,我发现多个资源(.resx)文件中出现了相同的文本字符串。
我希望审查所有这样的重复内容,因为我认为在大多数情况下没有必要进行复制(即,在相同的环境中使用该文本并将其移动到或使用从可以访问所有需要使用该文本的地方的资源文件)。
是否有一种简便的方法来识别此类重复内容,无论是直接在Visual Studio中还是使用像 ReSharper 这样的插件?
编辑:我可能应该给出一个已经发现和解决的问题的例子,以使问题变得更加清晰。我在同一项目中找到了三个文本字符串“Continue”的实例。每个实例都有不同的名称(例如,name="Continue",name="Contnue" [拼写错误] 和 name="AdvanceToNextPage")。两个实例出现在同一个 .resx 文件中,另一个出现在不同的 .resx 文件中,既然它们都在同一个项目中,那么这些文本可以(并且可以说应该)从主 Properties/Resources.resx 文件的条目中提取。

您可以使用 Ctrl+Shift+F 查找字符串的所有出现情况,但是您必须手动删除(或编辑)它(不借助资源设计器的帮助)。您也可以指定要在搜索中考虑的文件类型。 - Lukasz M
谢谢你的留言,Lucas。虽然你的评论是准确的,但它并没有完全满足“易于”的要求。;-) 首先,我还不知道所有重复字符串的完整集合。 - Richard J Foster
嘿,如果你知道要查找的字符串的一部分,你可以使用带有正则表达式的搜索框(如我之前的评论中所述)。需要更详细的解释才能让它变得简单易懂,所以我会将其发布为答案 :)。 - Lukasz M
抱歉,我认为我误解了您的意思,因为您可能是想找到重复项,但根本不知道某些重复的字符串。这样说对吗?在这种情况下,我认为一个简单的辅助应用程序可以解析resx文件并给出答案:)。 - Lukasz M
这就是重点,卢卡斯。我甚至不知道字符串(或图标或其他资源)的一部分,因为我还不知道它在其他地方是否被复制。我猜我需要自己创建一个东西(这不难),以迭代解决方案中的所有资源文件(或者至少是项目),并构建一个查找。 - Richard J Foster
2个回答

0

您可以使用Resx Resource Manager并选择“全部”文件。然后,您可以将它们导出到Excel中,并让Excel查找重复项。


0

谢谢Vinitha。不幸的是,这并没有完全回答我的问题,因为所讨论的XSLT仅查看单个资源文件,正如我在问题中所述,我正在寻找一种检查多个资源文件中重复的方法。该页面引用的VS Add-in值得研究,但不幸的是链接已经失效了。 :-( - Richard J Foster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接