переименовать класс с именем файла в один шаг в Visual Studio

Я длинный год Java-программист, но в настоящее время я кодирую на C#. Я привык, что когда я меняю имя файла, также меняется имя класса и наоборот. Это не работает в моей Visual Studio. Я должен переименовать имя класса и имя файла отдельно, и это иногда раздражает меня, потому что я всегда забываю об этом, поэтому это приводит к тому, что у меня разные имена классов и файлов. Есть ли возможность в Visual Studio поместить переименование в один шаг?

5 ответов


переименование файла работает нормально - он предложит изменить код в соответствии:

enter image description here

Если вы переименуете класс, то-действительно, это не произойдет по умолчанию. Нет никакой фактической потребности на два матча, Примечание. Но в конечном счете, rename-это только f2 подальше.


по состоянию на Visual Studio 2015 Preview 5, контекстное меню" Быстрые действия и рефакторинги "содержит" переименовать файл в [класс].команда по CS".


установите удивительный плагин visual studio под названием Reshaper. Он делает это и множество других приятных мелочей. Бесплатно в течение 30 дней, то его стоимость, но, безусловно, стоит.


вроде не работы, когда скопированный файл находится в той же папке и имя класса то же самое (которое будет, если вы просто скопировали файл). Я думаю, что причиной может быть то, что rename не описывает между классом во вновь скопированном файле и оригиналом (см. комментарий ниже @xMichal).

быстрое решение-скопировать файл (я использую ctrl + drag) в соседнюю папку, переименовать, а затем переместить его обратно.

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


Если вы "рефакторинг" что-то, имя будет изменено везде, где этот текст или имя было использовано, так что вам не придется следить за изменением имени каждый раз, когда его использовали. Однако, вы не можете сделать это с объектами за пределами проекта, например: имя файла.