In the quest for localization I need to find all the string literals littered amongst our source code. I was looking for a way to script this into a post-modification source
Visual Studio 2010 and earlier:
:q (quoted string)Find Results window will now contain a report of all files, with line numbers and the line itself with the quoted string.
For Visual Studio 2012 and later search for ((\".+?\")|('.+?')) (reference, hat-tip to @CincauHangus)
To find all Text="textonly" instances use the following Regular Expression when searching:
(Text=)(")([a-z])
This is help for finding Text="*" but excluding text that's already been converted to use resource files:
Text="<%$ Resources:LocalizedText, KeyNameFromResourceFile%>"
Also (>)([a-z]) can be used to find literals between tags like so:
<h1>HeaderText</h1>
It uses the compiled binary instead of source, but Sysinternals' Strings app might be useful.
There's a C# parser on CodePlex that you can probably use.
Use Regular ExpressionsFor specific text within the literal:
"+.*(MYSPECIFICTEXT)+.*"+For all literals
"+.*"+Then
hi this is regex for searching literals, that I use to find a text for translation. it also includes empty spaces and different quotes
regex: ([",,'])([\w,\s]*)([",,'])
searchstring: var test='This is a test';