Cornel
Cornel

Reputation: 4709

Find all source hardcoded strings

I need to move all the hard coded strings in my source code in .resx files. Is there a tool that could help me find all the hardcoded strings within C# code?

Upvotes: 68

Views: 30989

Answers (6)

Patrick Koorevaar
Patrick Koorevaar

Reputation: 1343

Or do a search based upon a regular expression like discussed here:

https://vosseburchttechblog.azurewebsites.net/index.php/2014/12/16/find-all-string-literals-in-c-code-files-but-not-the-ones-in-comments/

(?=(^((?!///).)*$)).*((".+?")|('.+?')).*

Upvotes: 14

j_maly
j_maly

Reputation: 1121

This tool http://visuallocalizer.codeplex.com/ allows for batch-move strings to resources, together with other features. It is FOSS so maybe you can give it a try. (I am involved)

Upvotes: 3

Lex Li
Lex Li

Reputation: 63244

ReSharper 5 is obvious a choice, but many tips must be set so as to achieve your goals,

  1. Turn on solution wide analysis.
  2. Go to ReSharper|Options|Code Inspection|Inspection Severity|Potential Code Quality Issues|Element is localizable set to Show as error.
  3. Go back to Solution Explorer and click on the project (csproj).
  4. In Properties panel under ReSharper category, set Localizable to Yes, Localizable Inspector to Pessimistic.

Then you can find almost all you need in Errors in Solution panel.

Hope this helps.

Upvotes: 64

Stefan Steinegger
Stefan Steinegger

Reputation: 64628

Some are found by FxCop. Not sure what its limits are, I think it depends on parameter and property names (eg: a property called "Text" is considered to be localized).

Upvotes: 0

MadBoy
MadBoy

Reputation: 11104

Resharper 5.0 (Beta) allows you to move strings to resources (it has built in Localization feature). Give it a try. Beta works fine, i use it every day and have no problems. Best of all it's free until out of beta. I even recommend using night builds as they seem to be stable.

Software localization and globalization have always been tough and at times unwanted tasks for developers. ReSharper 5 greatly simplifies working with resources by providing a full stack of features for resx files and resource usages in C# and VB.NET code, as well as in ASP.NET and XAML markup.

Dedicated features include Move string to resource, Find usages of resource and other navigation actions. Combined with refactoring support, inspections and fixes, you get a convenient localization environment.

Upvotes: 1

David Hedlund
David Hedlund

Reputation: 129802

You could always do a search for the " sign in all the .cs files. That should get you to most of them, without too much noise.

Upvotes: 3

Related Questions