Buscando Literales de Cadena
-
03-07-2019 - |
Pregunta
En la búsqueda de la localización, necesito encontrar todos los literales de cadena entre nuestro código fuente. Estaba buscando una forma de incluir esto en una comprobación del repositorio de origen posterior a la modificación. (IE, después de que alguien comprueba algo en la configuración de un cuadro para verificar esta estadística) Probablemente usaré NAnt y CruiseControl o algo para manejar la gestión del CVS (Bueno, StarTeam en mi caso :() Pero, ¿sabe de algún script ¿(o línea de comandos) utilidad para alternar con precisión a través del código fuente en busca de literales de cadena? Me doy cuenta de que podría hacer una búsqueda de cadena simple en base a expresiones regulares, pero quiero un poco más por mi dinero (tal vez analizar la cadena o ponerla en categorías ) Debido a que muchas veces la cadena no necesariamente requiere traducción. ¿Alguna idea?
Solución
Visual Studio 2010 y versiones anteriores:
- Buscar en archivos (CTRL + MAYÚS + F)
- Uso: Expresiones regulares
- Buscar:
:q
(cadena entre comillas) - Buscar todos
La ventana Resultados de la búsqueda ahora contendrá un informe de todos los archivos, con los números de línea y la línea con la cadena entre comillas.
Para Visual Studio 2012 y luego busque ((\ ". +? \ ") | ('. +?'))
( referencia , hat-tip a @CincauHangus )
Otros consejos
Utiliza el binario compilado en lugar de la fuente, pero Sysinternals ' Strings aplicación podría ser útil.
Para buscar todas las instancias de Text = " textonly "
use la siguiente Expresión Regular cuando busque:
(Text=)(")([a-z])
Esta es una ayuda para encontrar Text = " * "
pero excluyendo el texto que ya se ha convertido para usar archivos de recursos:
Text="<%$ Resources:LocalizedText, KeyNameFromResourceFile%>"
También se puede usar (>) ([a-z])
para encontrar literales entre etiquetas, como por ejemplo:
<h1>HeaderText</h1>
Hay un C # parser en CodePlex que probablemente puedas usar.