Searching For corda literais
-
03-07-2019 - |
Pergunta
Na busca para localização eu preciso encontrar todas as strings literais espalhados entre o nosso código-fonte. Eu estava procurando uma maneira de roteiro isso em uma verificação de repositório de origem pós-modificação. (IE após alguém cheques algo em ter uma configuração de caixa para verificar este estatuto) eu provavelmente vou usar NAnt e CruiseControl ou algo para lidar com a gestão do CVS (Bem StarTeam no meu caso :() Mas você sabe de qualquer script (ou linha de comando) utilitário para com precisão percorrer código fonte procurando strings literais? Eu percebo que eu poderia fazer olhar simples string-se com base em expressões regulares, mas quer um pouco mais estrondo para o meu dinheirinho. (Talvez analisar a string ou colocá-lo em categorias ) Porque um monte de vezes, o texto poderá não necessariamente exigem tradução. Alguma idéia?
Solução
Visual Studio 2010 e anterior:
- Localizar em arquivos (CTRL + SHIFT + F)
- Use: Expressões Regulares
- Encontre:
:q
(string) - Localizar todos
Encontre janela Resultados agora irá conter um relatório de todos os arquivos, com números de linha e a própria linha com a string.
Para Visual Studio 2012 e, posteriormente, procurar ((\".+?\")|('.+?'))
( referência , hat-dica para @CincauHangus )
Outras dicas
Ele usa o binário compilado em vez de fonte, mas Sysinternals' Cordas aplicativo pode ser útil.
Para encontrar todas as instâncias Text="textonly"
usar a seguinte expressão regular ao pesquisar:
(Text=)(")([a-z])
Esta é ajuda para encontrar Text="*"
mas excluindo texto que já foi convertido em arquivos de recursos de uso:
Text="<%$ Resources:LocalizedText, KeyNameFromResourceFile%>"
Além disso (>)([a-z])
pode ser usado para encontrar literais entre tags como assim:
<h1>HeaderText</h1>
Há um C # analisador no CodePlex que você provavelmente pode usar.