Рефакторинг для переименования символов кода
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Область применения этого рефакторинга:
Что? Вы можете переименовывать идентификаторы для символов кода, например для полей, локальных переменных, методов, пространств имен, свойств и типов.
Когда? Вам нужно безопасно переименовать элемент без необходимости выполнять поиск всех экземпляров с последующим копированием и вставкой нового имени.
Зачем? Копирование и вставка нового имени во всем проекте, скорее всего, приведет к ошибкам. Это средство рефакторинга выполнит переименование без ошибок.
Практические советы
- Выделите элемент, который требуется переименовать, или поместите в него текстовый курсор.
- C#:

- Visual Basic:

- C#:
- Затем воспользуйтесь клавиатурой или мышью, как описывается ниже.
- Клавиатура
- Нажмите клавиши CTRL+R, а затем — CTRL+R. (Обратите внимание, что сочетание клавиш может отличаться в зависимости от выбранного профиля.)
- Мышь
- Выберите Правка > Оптимизация кода > Переименовать.
- Щелкните код правой кнопкой мыши и выберите пункт Переименовать.
- Клавиатура
- Переименуйте элемент. Для этого просто введите новое имя.
- C#:
- Visual Basic:

Вы также можете обновить комментарии и другие строки, чтобы в них использовалось это новое имя. Кроме того, вы можете просмотреть изменения, прежде чем сохранить их. Для этого установите флажки в диалоговом окне Переименование, которое отображается в верхней правой части редактора.
Замечания
- Начиная с Visual Studio 2019 версии 16.3, при переименовании типа, совпадающего с именем файла, в котором он находится, появляется флажок, позволяющий одновременно переименовать файл. Он появляется при переименовании класса, интерфейса или перечисления. Этот параметр не поддерживается для разделяемых типов с несколькими определениями.
- Если вы использовали уже существующее имя и это привело к конфликту, в диалоговом окне Переименование отобразится предупреждение.

- Другой способ переименования символа — изменение его имени в редакторе. Затем с курсором в имени символа нажмите клавиши CTRL + или просто разверните отображаемое меню значка лампочки и выберите «Переименовать >

См. также
- Рефакторинг
- Просмотр изменений
Как изменить имя проекта всего решения в Visual Studio?
Я хочу изменить название своего решения и название всего проекта.
OldSolution.OldName // this is Solution OldSolution.OldName.Project1 OldSolution.OldName.Project2 OldSolution.OldName.Project3
ChangedName.NewName // this is solution ChangedName.NewName.Project1 ChangedName.NewName.Project2 ChangedName.NewName.Project3
при изменении всего пространства имен — имена проектов, на которые ссылаются другие проекты (когда я смотрю на ссылки на проекты, ссылочные проекты остаются с тем же именем. Они не были изменены).
Могу ли я сделать это ?
canmustu 19 Авг 2017 в 18:22
3 ответа
Лучший ответ
Я тоже боролся с этой проблемой и не нашел автоматизированного способа сделать это. Я должен был сделать это вручную так:
Переименование решения. Самая простая часть. Перейдите в обозреватель решений (из меню «Вид» -> «Обозреватель решений»), выберите решение и нажмите F4 (или из меню — «Просмотр» -> «Окно свойств»), выберите свойство «Имя» и введите новое имя, а затем нажмите клавишу ВВОД. Это не изменит имя папки, в которой находится все решение. Если вы хотите это изменить (а я действительно хотел это сделать), вам нужно закрыть Visual Studio, а затем переименовать эту папку. Если вы снова откроете Visual Studio и откроете решение, просмотрев после нового имени (Файл -> Открыть -> Проект / Решение ..), вы увидите, что новое имя для решения было изменено.
Вот как вы можете попытаться сделать это с проектами:
- Щелкните правой кнопкой мыши проект в обозревателе решений, выберите «Переименовать» и введите новое имя.
- Снова щелкните правой кнопкой мыши по проекту и выберите «Свойства». Измените «Имя сборки» и «Пространство имен по умолчанию» на вкладке «Приложение».
- Когда у вас установлен ReSharper, снова щелкните проект правой кнопкой мыши и выберите Refactor -> Adjust Namespaces. Примите изменения.
- Измените AssemblyTitle и AssemblyProduct в Свойствах / AssemblyInfo.cs
- Удалить каталоги bin и obj в проводнике Windows
- Откройте файл SLN (с помощью текстового редактора, такого как Notepad ++) и измените путь к проекту (должно быть несколько мест).
- Откройте решение снова. Очистить и восстановить проект.
d.i.joe 8 Ноя 2019 в 08:21
Чтобы переименовать решение
- В Visual Studio Solution Explorer щелкните правой кнопкой мыши узел решения и выберите «Переименовать» в контекстном меню.
- Введите новое имя для вашего решения.
Чтобы переименовать проект
- В Visual Studio Solution Explorer щелкните правой кнопкой мыши узел проекта и затем выберите Rename из контекстного меню.
- Введите новое имя для вашего решения.
Чтобы изменить пространство имен по умолчанию : перейдите в Проект-> Свойства-> Пространство имен по умолчанию и введите желаемое имя.
Чтобы изменить пространства имен старых файлов , перейдите по этой публикации stackoverflow
Заменить в файлах (Ctrl + Shift + H) заменит старое пространство имен новым!
Чтобы обновить ссылки : вам нужно снова добавить ссылки, я не думаю, что есть более простой способ. Помимо удаления и добавления ссылок довольно просто
Надеюсь это поможет !
Ankit 19 Авг 2017 в 15:51
В .net core 2.2 есть файл _ViewImports.cshtml через исключение, когда вы пытаетесь переименовать namespace , чтобы преодолеть это переименование пространства имен namespace in this file manually first (no need for refactor -> rename) and then rename the из другого места с помощью рефакторинга -> переименовать. Надеюсь на эту помощь.
Правильный способ переименования решения (и каталогов) в Visual Studio
У меня довольно сложное решение Visual Studio (2010, но это не должно иметь значения), которое мне нужно переименовать.
Я хочу переименовать папки, чтобы они соответствовали новому названию решения, но я не могу найти способ автоматического рефакторинга имен папок, и просмотр каждого отдельного файла проекта будет болезненным.
Есть ли официальный способ сделать это? В качестве альтернативы (и гораздо менее предпочтительно), есть ли бесплатные инструменты для этого?
Возможный дубликат Как переименовать папку проекта из Visual Studio?
Как это дубликат? Он просит переименовать решение, а не проект!
Вручную отредактируйте файл .sln
Этот метод полностью нацелен на переименование каталога для проекта, как показано в проводнике Windows.
Этот метод не страдает от проблем в методе удаления / добавления файла проекта ниже (ссылки исчезают), но он может привести к проблемам, если ваш проект находится под контролем исходного кода (см. Примечания ниже). Вот почему шаг 2 (резервное копирование) так важен.
- Закройте Visual Studio.
- Создайте резервную копию вашего файла .sln (вы всегда можете откатиться).
- Представьте, что вы хотите переименовать каталог Project1 в Project2 .
- Если вы не используете систему контроля версий, переименуйте папку Project1 в Project2 Windows Explorer.
- При использовании системы управления версиями, переименуйте папку с Project1 с Project2 помощью функций , поставляемых управления версиями. Это сохраняет историю файла. Например TortoiseSVN , щелкните правой кнопкой мыши на файле и выберите TortoiseSVN .. Rename .
- В файле .sln отредактируйте все экземпляры объекта Project1 be Project2 с помощью текстового редактора, например NotePad .
- Перезапустите Visual Studio, и все будет работать как раньше, но с проектом в другом каталоге.
преимущества
- Вы можете сделать так, чтобы каталог в Windows Explorer совпадал с именем проекта в решении.
- Этот метод не удаляет ссылки из других проектов на этот файл (преимущество по сравнению с методом удаления / добавления файла проекта , см. Мой другой ответ ниже).
Предупреждения
- Важно перезаписать все в файл .zip перед переименованием, так как этот метод может создать проблемы с контролем версий.
- Если ваш проект находится под контролем исходного кода, он может создать проблемы, если вы переименуете файлы или каталоги вне контроля исходного кода (с помощью проводника Windows). Желательно переименовать файл, используя саму систему управления исходным кодом , если вы можете, чтобы сохранить историю этого файла (проверьте контекстное меню по щелчку правой кнопкой мыши — у него может быть функция для переименования файла).
Обновление 2014-11-02
ReSharper добавил автоматизированный метод для достижения того же результата, что и ручной метод, описанный выше. Если пространство имен подчеркнуто волнистой синей линией, щелкните значок пирамиды действий, чтобы:
- Переименуйте пространство имен в соответствии с именем каталога в проводнике Windows или;
- Переименуйте каталог в проводнике Windows, чтобы он соответствовал пространству имен.
Во втором случае последнее слово определяет имя нового каталога в проводнике Windows, например, если мы изменили пространство имен на ViewModel2 , оно предложит переместить файл в папку ViewModel2 .
Однако это не обязательно будет обновлять файлы в системе контроля версий, поэтому вам, возможно, придется использовать ручной метод.

Обновление 2018-01-31
Протестировано с Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 Обновление 1, 2, 3, 4, 5.
Обновление 2020-05-02
Протестировано с Visual Studio 2019.
примечание: даже с VS2012 необходимо перезапустить, потому что в противном случае он может запутаться, и вы получите глупые ошибки
«Если у вас есть контроль над исходным кодом, вы потеряете историю файла», для нас это немного серьезный недостаток (аудит и т. Д.). Существуют ли предлагаемые маршруты при сохранении истории?
Visual Studio такая мощная программа, но эта функция не включена? вау ..
Даже после того, как я следовал решению, описанному @Contango, я все еще получал сообщение об ошибке: Атрибут OwinStartup обнаружен в сборке . при запуске новое имя, которое конфликтует со старым именем. Я просмотрел папки obj и bin и удалил любой файл со старым именем, оставив все остальное без изменений. Перезапустил против моего недавно названного проекта, и это бежало как очарование! Поблагодарить!
Как в Visual Studio переименовать проект?
Всем привет. Я пишу код в консольном приложении (.NET Framework). На C Sharp.
Вот мне приспичило поменять название проекта вместо ConsoleApp1.sln на свое. Че-то долго гуглил, какой то Вася Пупкин посоветовал зайти в папку с проектом и его переименовать, но потом в визуал студио ничего не поменялось, и в добавок он написал путь не найден, удалить проект?
Благо у меня была копия. Но я все же нигде не нашел как поменять название.
- Вопрос задан более двух лет назад
- 12519 просмотров
Комментировать
Решения вопроса 3

.NET developer (open to job offers)
Для переименования проекта:
1. Переименовываете сам проект в Обозревателе решений;
2. В свойствах проекта меняете везде старое название на новое.
3. Закрываете проект, переименовываете папку с ним;
4. Переименовываете MyProjectName.sln ;
5. Открываете блокнотом MyProjectName.sln , меняете название папки на новое.
Всё
Ответ написан более двух лет назад
Комментировать
Нравится 2 Комментировать
