Автоматически переименовывать класс в соответствии с именем файла
У меня есть класс A
в файле B.cs
, Теперь я хочу переименовать этот класс в соответствии с именем файла (B
).
Существует ли рефакторинг или контекстное действие в VS или ReSharper, которое автоматически может сделать это переименование для меня без ввода нового имени, соответствующего имени файла?
пример
Перед переименованием:
Файл B.cs:
class A {}
После автоматического переименования:
Файл B.cs:
class B{}
Обновить
Противоположное (автоматически переименовывать файл в соответствии с именем класса) не вариант, потому что все эти переименования файлов реализованы как DELETE+ADD. Но тогда я потерял бы историю изменений этого файла в Perforce, потому что все подключаемые модули VS для подключения VS-Perforce не поддерживают действия перемещения / добавления + перемещения / удаления для переименования.
4 ответа
Недавно мы сделали большой рефакторинг нескольких файлов, изменив их с "Контроллеры" на "Сервисы". Пройдя через несколько из них с помощью ReSharper, я решил переименовать "BaseController" в "BaseService". Дин! ReSharper предложил переименовать все подклассы и заменить "Controller" на "Service".
В Visual Studio вы можете щелкнуть правой кнопкой мыши имя класса в файле.cs и переименовать его, выбрав "Refactor -> Rename". Это даст вам возможность рефакторинга.
С Resharper вы можете использовать Ctrl + R, O
PS я пользуюсь Resharper 6.1
Существует ли рефакторинг или контекстное действие в VS или ReSharper, которое автоматически может сделать это переименование для меня без ввода нового имени, соответствующего имени файла?
С ReShaper 8.1 это возможно. Просто наведите курсор на имя класса, нажмите alt + Enter
чтобы вызвать варианты, затем выберите 'Rename file to match type name
и ты хорош.