Подтвердить что ты не робот

Поиск струнных литералов

В поисках локализации мне нужно найти все строковые литералы, заваленные среди нашего исходного кода. Я искал способ для script этого в проверку репозитория источника после модификации. (IE после того, как кто-то проверяет что-то в настройке ящика для проверки этого стата), я, вероятно, буду использовать NAnt и CruiseControl или что-то для управления управлением CVS (Well StarTeam в моем случае:() Но знаете ли вы, что любой сценарий (или командной строки), чтобы точно циклически запускать исходный код, ища строковые литералы? Я понимаю, что могу сделать простой поиск строк на основе регулярных выражений, но хочу немного больше ударить по моему доллару. (Может быть, проанализировать строку или поместить ее в категории ) Потому что много раз строка может не обязательно требовать перевода. Любые идеи?

4b9b3361

Ответ 1

Visual Studio 2010 и более ранние версии:

  • Найти файлы (CTRL + SHIFT + F)
  • Использование: регулярные выражения
  • Найти: :q (цитированная строка)
  • Найти все
Окно "Результаты поиска" теперь будет содержать отчет обо всех файлах с номерами строк и самой строкой с указанной строкой.

Для Visual Studio 2012 и более поздних версий найдите ((\".+?\")|('.+?')) (ссылка, hat-tip для @CincauHangus)

Ответ 2

Он использует скомпилированный двоичный файл вместо источника, но может оказаться полезным приложение Strings в Sysinternals.

Ответ 3

Чтобы найти все экземпляры Text="textonly", используйте следующее регулярное выражение при поиске:

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

Это поможет найти Text="*", но исключая текст, который уже был преобразован для использования файлов ресурсов:

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

Также (>)([a-z]) можно использовать для поиска литералов между такими тегами:

<h1>HeaderText</h1>

Ответ 4

Там С# parser на CodePlex, который вы, вероятно, можете использовать.