Переместить список исходных файлов с классами внутри в другую папку и автоматически изменить пространство имен - PullRequest
1 голос
/ 20 мая 2009

Допустим, у меня есть 100 winforms в папке Forms. Все классы форм принадлежат пространству имен ProjectName.Forms. Я хочу переместить все эти формы в папку WinForms и изменить их пространство имен на ProjectName.WinForms.

Есть ли способ сделать это автоматически, не изменяя вручную пространство имен каждой формы? У меня есть Resharper, но я не нашел вариантов, которые могли бы помочь.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 20 мая 2009

Для этого вы можете использовать команду Visual Studio Replace In Files. Под меню Правка -> Найти и заменить -> Заменить в файлах.

Рядом с раскрывающимся списком "Заглянуть" у вас есть кнопка конструктора. Нажав на это, вы увидите окно, в котором вы можете указать папку, в которой вы хотите искать.

Вот скриншот:

альтернативный текст http://img148.imageshack.us/img148/5472/replaceinfiles.png

1 голос
/ 20 мая 2009

Вы можете использовать «Заменить в файлах» и ограничить замену определенной папкой, а также сопоставить целые слова, что позволит избежать нежелательных замен.

Сначала замените все «пространство имен ProjectName.Forms» на «пространство имен ProjectName.WinForms», затем, если у вас есть какой-либо зависимый код, замените «using ProjectName.Forms; с использованием ProjectName.WinForms; в этом.

(Правка: при условии c #)

1 голос
/ 20 мая 2009

Для этих типов сценариев я обычно использую магию сценариев оболочки (вам понадобится Cygwin и / или Perl или тому подобное). Что-то вроде:

для меня в *; do perl -pi -e 's / ProjectName.Forms / ProjectName.WinForms / g' $ i; сделано

Полагаю, в VS также встроена функция расширенного поиска и замены.

...