Visual Studio - инструмент для замены жестко закодированных строк ресурсами - PullRequest
5 голосов
/ 12 октября 2009

У меня есть большой проект ASP.NET, полный жестко закодированных строк, которые теперь должны быть извлечены в ресурсы. Такие строки можно найти практически везде (в файлах .cs, .aspx, .ascx и т. Д.), А количество файлов огромно. То, что я ищу, - это инструмент (или любой другой способ), чтобы найти все эти жестко закодированные строки в одном кадре и поместить их все вместе в файл ресурсов, вместо того, чтобы я вручную просматривал каждый файл. Существует ли что-нибудь подобное?

Примечание: я знаю, что было бы лучше сразу поместить строки в ресурсы, когда они были необходимы в первый раз, но это 2-летний проект, который никого не волновал (типичный пример "не мой проблема "философия".

Большое спасибо.

ОБНОВЛЕНИЕ : я пробовал CodeRush (я не мог попробовать RGreatEx по понятным причинам), и у меня возникают трудности с его использованием. Основная проблема заключается в том, что искомые строки находятся в основном в файлах .aspx, а в строках этих файлов нет команды «Refactor to resource».

Например, у меня могут быть такие элементы:

<dxwgv:ASPxSummaryItem DisplayFormat="{0}" FieldName="TOTAL" ShowInColumn="Total" SummaryType="Sum" />

Часть, которую мне нужно изменить: ShowInColumn = "Total" и сделать ее похожей на ShowInColumn = "<% $ Resources: PortalResource, Total%>" . Это не строковое присваивание строго, а присвоение атрибута, поэтому "Refactor!" Команда CodeRush не появляется.

Моя цель - найти все из них за один раз и изменить их в определенном интерфейсе (например, как инструмент локализации) вместо того, чтобы искать их по одному и вручную создавать соответствующий ресурс. Рефакторинг по одному внутри каждого файла был бы улучшением, но все же занимал очень много времени ...

Ответы [ 7 ]

3 голосов
/ 01 октября 2012

Проверьте новый проект с открытым исходным кодом VisualLocalizer на CodePlex: Страница VisualLocalizer . Если у вас есть идеи, опубликуйте их как вопросы - проект находится в стадии разработки, и мы будем рады получить ваши отзывы.

3 голосов
/ 12 октября 2009

Вы можете взглянуть на инструмент рефакторинга ресурсов на

http://www.codeplex.com/ResourceRefactoring

Это инструмент для каждого экземпляра, а не инструмент для пакетной замены. Он бесплатный и автономный, поэтому вам не нужны Resharper или Coderush.

2 голосов
/ 12 октября 2009

VisualStudio позволяет искать и заменять на RegEx. Это не будет решение «исправить все в одном кадре», но оно должно значительно сократить объем ручной работы.

Просто мысль.

1 голос
/ 28 февраля 2014

Я только что опубликовал новый инструмент под названием Jinnee.Package для строкового рефакторинга. Вы можете найти его в галерее Visual Studio: http://visualstudiogallery.msdn.microsoft.com/7ec5a225-dea4-47ae-8ebc-450d2980937f?SRC=Home

1 голос
/ 12 октября 2009

У вас есть ReSharper? Тогда вам, возможно, стоит подождать версии 5.0. В него будет включена функциональность RGreatEx (, упомянутая Антоном ). Прочитайте тему на форуме R # на эту тему.

Обновление : функция будет в R # 5.0. См. официальный анонс .

1 голос
/ 12 октября 2009

Попробуйте RGreatEx . Это плагин для ReSharper :

RGreatEx - самый мощный помощник по локализации и кодированию для Visual Studio. После установки он позволяет локализовать приложения .NET и создавать более безопасный код, экономя до 95% времени, которое разработчик обычно тратит на то же самое вручную. Расширьте возможности рефакторингов, таких как «Переместить в ресурс» и «Переименовать ресурс». Плагин автоматически анализирует использование строк и ресурсов и предлагает перенести строки в ресурсы.

1 голос
/ 12 октября 2009

Если вы посмотрите на DevExpress 'CodeRush , у которого есть функция, которую вы ищете, вам может потребоваться автоматизировать ее, чтобы сделать все в одном кадре.

У него тоже намного больше!

Доброжелательность,

Dan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...