2008-10-02 6 views
12

Dans la recherche de la localisation, j'ai besoin de trouver tous les littéraux de chaîne jonchés dans notre code source. Je cherchais un moyen d'écrire ceci dans une vérification de référentiel source post-modification. (IE après que quelque chose vérifie quelque chose dans avoir une configuration de boîte pour vérifier cette stat) J'utiliserai probablement NAnt et CruiseControl ou quelque chose pour manipuler la gestion du CVS (bien StarTeam dans mon cas :() Mais savez-vous de tout scriptable (ou en ligne de commande) utilitaire pour parcourir avec précision le code source à la recherche de littéraux de chaîne? Je me rends compte que je pourrais faire une simple recherche de chaîne basée sur des expressions régulières mais vouloir un peu plus pour mon argent.) Parce que beaucoup de fois la chaîne ne peut pas nécessairement besoin de traduction. Toutes les idées?Recherche de littéraux de chaînes

Répondre

29

Visual Studio 2010 et versions antérieures:

  1. Rechercher dans les fichiers (CTRL + MAJ + F)
  2. Utilisation: Regular Expressions
  3. Recherche: :q (chaîne entre guillemets)
  4. Trouver tous

La fenêtre des résultats contient maintenant un rapport de tous les fichiers s, avec les numéros de ligne et la ligne elle-même avec la chaîne entre guillemets.

Pour Visual Studio 2012 et recherche plus tard pour ((\".+?\")|('.+?')) (reference, pointe du chapeau à @CincauHangus)

+1

Pour Visual Studio plus récente, vous devez utiliser: (| '? +' (\ "? + \")()) référence: http: //msdn.microsoft.com/en-us/library/vstudio/2k3te2cs (v = vs.110) .aspx – CincauHangus

2

Il utilise le lieu binaire compilé de la source, mais l'application Sysinternals Strings pourrait être usef ul.

1

Pour trouver tous les Text="textonly" instances utilisent l'expression régulière suivante lors de la recherche:

(Text=)(")([a-z]) 

C'est l'aide pour trouver Text="*" mais en excluant le texte qui a déjà été converti pour utiliser les fichiers de ressources:

Text="<%$ Resources:LocalizedText, KeyNameFromResourceFile%>" 

également (>)([a-z]) peut être utilisé pour trouver littéraux entre les balises comme ceci:

<h1>HeaderText</h1> 
Questions connexes