Найти все исходные жестко закодированные строки
Мне нужно переместить все жестко закодированные строки в исходный код в .resx файлах. Есть ли инструмент, который мог бы помочь мне найти все жестко закодированные строки в коде С#?
Ответы
Ответ 1
ReSharper 5 является очевидным выбором, но многие советы должны быть установлены для достижения ваших целей,
- Включите широкий анализ решений.
- Перейдите к
ReSharper
| Options
| Code Inspection
| Inspection Severity
| Potential Code Quality Issues
| Element is localizable
, установленному в Show as error
.
- Вернитесь в Обозреватель решений и нажмите на проект (csproj).
- В панели свойств в категории ReSharper установите Localizable на Yes, Localizable Inspector to Pessimistic.
Затем вы можете найти почти все, что вам нужно, в панели "Ошибки в решении".
Надеюсь, что это поможет.
Ответ 2
Вы всегда можете выполнить поиск знака "
во всех файлах .cs. Это должно привлечь вас к большинству из них, без особого шума.
Ответ 3
Этот инструмент http://visuallocalizer.codeplex.com/ позволяет использовать пакетные перемещения для ресурсов вместе с другими функциями. Это FOSS, возможно, вы можете попробовать.
(Я участвую)
Ответ 4
Resharper 5.0 (Beta) позволяет перемещать строки в ресурсы (он имеет встроенную функцию локализации). Попробуйте. Бета работает отлично, я использую его каждый день и не испытываю никаких проблем. Лучше всего это бесплатно до выхода из беты. Я даже рекомендую использовать ночные сборки, поскольку они кажутся стабильными.
Локализация и глобализация программного обеспечения всегда были жесткими и порой нежелательными задачами для разработчиков. ReSharper 5 значительно упрощает работу с ресурсами, предоставляя полный набор функций для файлов resx и использования ресурсов в коде С# и VB.NET, а также в разметке ASP.NET и XAML.
Выделенные функции включают перемещение строки в ресурс, поиск способов использования ресурсов и других действий навигации. В сочетании с поддержкой рефакторинга, проверками и исправлениями вы получаете удобную среду локализации.
Ответ 5
Некоторые из них найдены FxCop. Не уверен, каковы его пределы, я думаю, что это зависит от имен параметров и свойств (например: свойство, называемое "Текст", считается локализованным).
Ответ 6
Или выполните поиск, основанный на регулярном выражении, как описано здесь:
https://vosseburchttechblog.azurewebsites.net/index.php/2014/12/16/find-all-string-literals-in-c-code-files-but-not-the-ones-in-comments/
(?=(^((?!///).)*$)).*((".+?")|('.+?')).*