Visual Studio - 用资源替换硬编码字符串的工具

时间:2009-10-12 10:02:33

标签: c# asp.net resources string

我有一个充满硬编码字符串的大型ASP.NET项目,现在必须将其提取到资源中。这些字符串几乎可以在任何地方找到(在.cs文件,.aspx文件,.ascx文件等),文件数量巨大。我正在寻找的是一个工具(或任何方式),一次性找到所有这些硬编码字符串,并将它们放在资源文件中,而不是我手动通过每个文件。有这样的事吗?

注意:我知道在第一次需要时将字符串直接放在资源上会更好,但这是一个2岁的项目,没有人真正关心(典型的例子是“不是我的问题“哲学”。

非常感谢。

UPDATE :我尝试过CodeRush(由于显而易见的原因,我无法尝试使用RGreatEx),而且我在使用它时遇到了困难。主要问题是我正在寻找的字符串主要位于.aspx文件中,并且这些文件中的字符串没有“Refactor to resource”命令。

例如,我可以使用这样的元素:

<dxwgv:ASPxSummaryItem DisplayFormat="{0}" FieldName="TOTAL" ShowInColumn="Total" SummaryType="Sum" />

我需要更改的部分是 ShowInColumn =“Total”,并使其像 ShowInColumn =“&lt;%$ Resources:PortalResource,Total%&gt;”。这不是严格的字符串赋值,而是属性赋值,所以“重构!”命令CodeRush不会出现。

我的目标是一次性找到所有这些内容并在特定界面(例如本地化工具)中更改它们,而不是逐个查找它们并手动创建相应的资源。在每个文件中逐个重构将是一种改进,但仍然非常耗时......

7 个答案:

答案 0 :(得分:3)

您可以查看

中的资源重构工具

http://www.codeplex.com/ResourceRefactoring

这是一个逐个实例的工具,而不是批量替换工具。它是免费且独立的,因此您不需要Resharper或Coderush。

答案 1 :(得分:3)

在CodePlex上查看新的开源项目VisualLocalizer:VisualLocalizer page。如果你有一些想法,把它们作为问题发布 - 项目正在开发中,我们欢迎反馈。

答案 2 :(得分:1)

如果您查看DevExpress' CodeRush它具有您正在寻找的功能,您可能需要将其自动化以便一次性完成。

它还有更多!

善,

答案 3 :(得分:1)

试试RGreatEx。这是ReSharper的插件:

  

RGreatEx是Visual Studio中功能最强大的本地化程序和编码助手。安装后,它允许您本地化.NET应用程序并生成更安全的代码,从而节省开发人员通常花费95%的时间手动执行相同操作。通过节省时间的重构来实现自己,例如“移动到资源”和“重命名资源”。该插件将自动分析字符串和资源使用情况,并建议将字符串移动到资源。

答案 4 :(得分:1)

你有ReSharper吗?那么你或许应该等待5.0版本。它将包含RGreatEx(mentioned by Anton)功能。阅读有关此主题的thread from the R# forum

更新:该功能将在R#5.0中。请参阅the official announcement

答案 5 :(得分:1)

VisualStudio允许您使用RegEx进行搜索和替换。它不会是“一刀切”的解决方案,但它应该大大减少手动工作量。

只是一个想法。

答案 6 :(得分:1)

我刚刚发布了一个名为Jinnee.Package的新工具,用于字符串重构。您可以在Visual Studio库中找到它: http://visualstudiogallery.msdn.microsoft.com/7ec5a225-dea4-47ae-8ebc-450d2980937f?SRC=Home