2011-03-12 55 views
3

我正在維護一個WinForms應用程序,該應用程序不是使用任何有助於本地化項目中與表單無關的類或表單的代碼隱藏部分來編寫的開發模式。是否有一個Visual Studio加載項用於從代碼文件中的字符串填充資源文件?

因此,在幾乎每個代碼文件中都有一個帶有英文文本的MessageBox()代碼。我想找到一個工具,它將從代碼中「刮掉」這些字符串,將這些字符串插入資源文件中,並用一個註釋中的替換字符串替換對該資源的調用。

這樣的工具是否存在?

+2

我知道,Resharper支持這個,或者非常相似的東西 – Linkgoron 2011-03-12 23:28:22

回答

5

ReSharper 5 Internationalization特點

當ReSharper的發現一個本地化 字符串,它可以幫助你與它只有一對夫婦的 點擊移動到 資源文件。您可以選擇搜索 相同的字符串,並將它們重構爲 使用新的資源項目。

希望它有幫助。

+0

我安裝了Resharper 5,並且當光標位於字符串上時沒有列出此功能。 – 2011-03-14 19:47:24

+0

找到了這個功能,但並不是我一直在尋找的東西。即使如此,在掃描代碼文件一小時左右後,我將所有內容都放入了資源文件中,所以我想我應該將其稱爲適當的工具! – 2011-03-15 02:31:56

2

Resharper可以做到這一點。有一個叫做RGreatEx的Resharper插件,它對字符串有很多本地化重構。我猜你正在尋找一些免費的東西,而這些都是花錢的。 RGreatEx在兩年多的時間裏也沒有看到更新。

編輯:做了一些更多的搜索,並在CodePlex上找到this tool。它不支持將字符串拉到資源中,但它並排編輯多個資源文件以便於編寫字符串轉換。

+0

不;我願意花錢。雖然,我確實有Telerik競爭產品的證書。而且,我寧願在VS2005中保留這個特定的代碼庫,在那裏它的表現非常好,除非有一些關於轉到VS2008的良好參數,這都是維護模式。對於這個代碼庫,VS2010仍然是一個不同的動物... – 2011-03-12 23:36:21

+1

@Rob:你知道你可以使用VS2010和目標.NET 2.0嗎? – 2011-03-13 04:28:07

+0

@John我意識到這一點,但是有了這個代碼的虛擬機上還有其他的輔助工具,我只是不想全部移動。 – 2011-03-14 18:20:51

-4

你也可以用T4 templates做這種事情。我認爲它們是在2005年建成的Vis Studio。

+0

-1:我知道T4模板,我不明白它們是如何應用於此的。解釋一下,我將刪除downvote。 – 2011-03-13 04:27:17

+0

我不在乎downvote。留在那裏。 – 2011-03-13 05:13:13

+1

要點 - 你應該解釋T4模板如何解決這個問題。那麼,如果你想讓我離開,我會離開它。 – 2011-03-13 05:14:43

0

ReSharper當然是這個領域的最佳選擇,因爲它可以掃描代碼庫中的所有字符串,並讓您知道哪些可以放入資源中。

但是,如果你打算使用一個免費的工具,微軟確實有一個開放源碼的一個位置,

http://resourcerefactoring.codeplex.com/

你使用這個工具,因爲它並不像ReSharper的智能手動掃描所有文件。

相關問題