Меню рефактора відсутні в Visual Studio 2015


87

У мене проблеми з пошуком контекстного меню, що клацне правою кнопкою миші, у Visual Studio 2015. Я знаю, що з моїм проектом або файлом, який я працюю, нічого не відбувається. Я можу знайти контекстне меню рефактора контекстного меню у Visual Studio 2013. Однак у Visual Studio 2015 у контекстному меню правої кнопки миші немає контекстного меню рефактора.

Куди це поділось? Як повернути його?

Ваша пропозиція не може містити меню РедагуватиРефактор .

Я спробував скинути налаштування Visual Studio до значень за замовчуванням за допомогою меню ІнструментиПараметри імпорту та експорту, і це також не повернуло меню.


Я хочу сказати, що меню рефактора панелі меню - це не те, чого не вистачає.
Містер Янг,

Будь-який конкретний час він не наближається? як перейменування методу або витяг методу? чи просто скрізь?
Kritner

Здається, проблема існує скрізь.
Містер Янг,

1
Це більше не працює, коли код не компілюється. Раніше ви могли використовувати його для неповного коду.
PRMan

Відповіді:


93

Деякі інструменти рефакторингу були перенесені або, принаймні, доступні іншим чином, ніж раніше.

Використовуючи рефактор методу екстракції як приклад, ви все одно можете використовувати цю функцію; це просто робиться не так, як раніше:

Виберіть деталі для вилучення

Клацніть правою кнопкою миші

Клацніть правою кнопкою миші

Швидкі дії

Швидкі дії

Клацніть метод вилучення

Клацніть метод вилучення

Я думаю, що вони змінили це, щоб відчути себе більш "ReSharper". Проте вся функціональність має бути там.

Ось додаткова інформація про рефакторинг у Visual Studio 2015 - сподіваємось, це допоможе! Рефакторинг (C #)


так, знадобиться трохи звикнути напевно. Б'юся об заклад, що це більш інтуїтивно зрозуміле для звичайних користувачів resharper, хоча ... можливо ...
Kritner

2
Дякуємо за скріншоти. Я не впевнений, що інакше знайшов би куди це було перенесено! :-)
Містер Янг,

1
FYI: Там , здається, помилка в деякій версії VS навколо цієї функціональності VS завершує роботу в аварійній після рефакторінга коду , щоб витягти новий метод
Лі

2
Гарне пояснення. + Я
лох

1
@BarthoBernsmann це конкретно для контексту, чи впевнені ви, що у вас є дійсний біт коду в методі, виділеному для вилучення?
Крітнер

2

Вам більше не потрібно отримувати доступ до рефакторингу за допомогою правої клавіші миші.

Рекомендується використовувати комбінації клавіш у Visual Studio.

Усі можливі комбінації клавіш див. У розділі Комбінації клавіш за замовчуванням у Visual Studio, Refactor .


1
Наведене посилання переходить на сторінку Visual Studio 2008. Список VS 2015 знаходиться за адресою msdn.microsoft.com/en-us/library/da5kh0wa.aspx#bkmk_refactor .
Феофіл

Коротка версія: CTRL + R, M. Також Редагувати> Рефактор> Метод вилучення ... (видно лише тоді, коли виділено блок коду).
Кріс

1

Можливо, вам доведеться побудувати проект, щоб він запрацював.

Див. Редагування коду веб-форм ASP.NET у Visual Studio 2013 | Документи Microsoft . (Якщо він відсутній, то справа в тому, що я використовую приклад, наданий Microsoft.). У розділі " Рефакторинг та перейменування" див. Розділ "Вилучення методу на сторінці C #" . Дотримуючись інструкцій, я не можу знайти функцію для вилучення коду до методу. Коли я спробував меню "Редагувати", він сказав, що у мене немає дійсного коду. Потім я побудував проект, і функція вилучення коду була доступна і працювала.


0

Якщо ви зміните ім'я об'єкта, який рефакторингуєте, то ліворуч з'являється лампочка, яка запитує, чи хочете ви змінити назву об'єкта (тобто рефактор) або створити новий конструктор для нового іменованого об'єкта.


2
Мій OP спеціально згадав рефактор "Клацніть правою кнопкою миші". Я ненавиджу лампочку, що породжує моє запитання.
Містер Янг,

0

Ctrl+ .- це ярлик для вилучення методу в Visual Studio 2015 і далі.

Ctrl+ M, Rбільше не працює в нових версіях.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.