Как сгенерировать локальную переменную? - PullRequest
2 голосов
/ 27 сентября 2010

При написании кодов, если мы ввели неопределенные ссылки, нажатие Ctrl + . вызовет окно списка генерирующего кода, которое говорит Генерировать поле / свойство / метод. Я ищу способ создания локальной переменной, но я не знаю, как это сделать.

Чтобы было понятнее, приведу пример. Скажем, у нас есть метод

void MyMethod(MyType param)
{
    //do something
}

Тогда в другом методе того же класса я пишу:

MyMethod(undefinedObject);

Я хочу иметь возможность автоматически генерировать приведенные ниже коды (конечно, через Ctrl + . при наведении курсора на undefinedObject):

var undefinedObject = new MyType();
MyMethod(undefinedObject);

Надеюсь, у вас есть кое-что для меня. Спасибо!

[Изменить] На данный момент я использую сгенерированное поле. Затем обрежьте строку, объявляющую поле, и вставьте ее в строку, где она должна быть в моем коде. Эта рутина трудоемка и довольно скучна. Поэтому я прошу здесь найти лучший способ / аддон для этого. Предпочитаю бесплатный инструмент, а не Resharper, я надеюсь.

Ответы [ 3 ]

1 голос
/ 27 сентября 2010

Решарпер предложит это через alt + введите , введите

0 голосов
/ 27 сентября 2010

Один из способов - создать свой собственный или редактировать существующий фрагмент Method Stub - Body, который поставляется с Visual Studio. Вы можете получить к нему доступ через Сервис -> Рефакторинг пункт меню.

Вам может потребоваться:

  1. A Редактор фрагментов
  2. пошаговое руководство Howto

Также эта статья может помочь.

0 голосов
/ 27 сентября 2010

Visual Studio 2010 предлагает MEF (Managed Extendibility Framework), в котором вы можете создать свое собственное расширение контекстного меню после установки Visual Studio 2010 SDK, и вы можете написать свой код, это будет не очень легко и просто, но вы можете Посмотрите документацию и примеры SDK, предлагаемые SDK, вы получите представление о том, как настраивать и создавать пользовательское поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...