Автоматическое добавление `using` в CodeRush - PullRequest
2 голосов
/ 21 мая 2010

Я только что установил CodeRush Pro (пробная версия) для Visual Studio, и могу сказать, что он мне пока очень нравится. По сравнению с Resharper есть только один тип функций, который мне действительно не хватает. Так CodeRush работает с using. Когда я набираю какое-то имя класса, которое не объявлено в каком-либо пакете, указанном в списке с использованием, CodeRush подчеркивает его красным как ошибку (что это такое), но если я наведу курсор мыши на него, он не предлагает мне добавить использование, просто говорит это "Необъявленный элемент".

Я должен использовать VS по умолчанию, используя сложение (переместите курсор к идентификатору, наведите курсор на то действительно маленькое поле, которое появляется под первой буквой, нажмите появившуюся кнопку и выберите, например, using System, чтобы сформировать выпадающее меню).

Есть ли способ, как настроить CodeRush для использования mi add, когда я наведу курсор на выделенную «проблему» (с надписью Undeclared element)?

Вторая часть этого заключается в том, что Resharper имеет нечто, называемое Завершение имени типа . Это некоторый улучшенный intellisense. Допустим, в вашем файле нет объявления using. Затем вы набираете что-то вроде ICompar и нажимаете CTRL + SPACE. Конечно, не будет никаких предложений. Но с помощью Resharper вы можете нажать CTRL + ALT + SPACE, и вы получите предложения по всем классам, начиная с ICompar, даже если они не используются. Когда вы выбираете один из них, для вас автоматически добавляется правильное использование.

Есть ли способ заставить CodeRush вести себя таким образом?

Ответы [ 3 ]

3 голосов
/ 21 мая 2010

ЧАСТЬ I

Visual Studio

Механизм VS по умолчанию, который вы упоминаете, отключается с помощью Ctrl + Period или Shift + Alt + F10

Шаблоны CodeRush

Позвольте мне процитировать Марка Миллера (главного архитектора CodeRush) для этой части:

" Шаблоны CodeRush (например, фрагменты кода VS на стероидах) будут добавлять пространства имен по мере необходимости, поэтому, если вы используете шаблоны для создания классов, методов, переменных, свойств, событий и ссылок на типы, ссылки на пространство имен будут добавлены автоматически, и вам редко понадобится использовать функцию VS для добавления пространств имен. Чтобы начать работу с шаблонами, мы рекомендуем закрепить окно обучения CodeRush (DevExpress | Инструмент Windows | CodeRush) сбоку редактора и проверить это окно обучения для подсказок. и шаблоны, которые вы можете использовать для генерации кода, который вам нужен. Просто введите шаблон, как он отображается в окне, и разверните его, используя пробел."

Попробуйте серию v, серию m, серию n и серию t.

Итак, что я имею в виду под этим:

  • Запустить обучающее окно CodeRush (DevExpress \ Инструмент Windows \ CodeRush)
  • Пристыковать его влево
  • Вернуться в редактор
  • Введите 'v' (без кавычек)
    • Осторожно, это контекст чувствительно
      • Попробуйте это, пока карета находится в классе.
      • Попробуйте это, пока каретка находится в методе.
  • Теперь посмотрите на окно обучения.
  • Вы должны увидеть несколько предложений для ввода дополнительных символов.
  • Введите одно из предложений, а затем нажмите пробел.

Так вы познакомились с шаблонами серии v.

Не стесняйтесь проверить серии m, серии n и серии t.

Также обратите внимание, что в окне обучения также отображаются подсказки, когда вы находитесь на пустой строке.

Плагины сообщества

В CodeRush нет ничего, что обеспечивало бы функциональность "Добавить использование для этого типа".

Однако существует множество плагинов сообщества , которые добавляют всевозможные функции в CodeRush. Эта расширяемость является одной из лучших функций CodeRush.

В частности, один плагин Refactor_Resolve имеет функциональность, которая может приближаться к тому, что вы описываете.

ЧАСТЬ II

Я не верю, что в настоящее время CodeRush предоставляет какие-либо усовершенствования intellisense.

К сожалению

2 голосов
/ 24 мая 2010

Не ответ, но даю мой лучший обходной путь для бедняги, если нет лучшего ... это Ctrl-Home (начало файла), затем usl и <space> (развернуть до using System.Linq), затем Ctrl-Minus (Назад туда, где мы были - конечно, вы также можете использовать маркеры CR).

(у меня есть запрос в базе ошибок CR для сортировки)

1 голос
/ 30 мая 2011

DX построили еще один образец вокруг этого . Хотелось бы, чтобы он попал в продукт CR, но, думаю, не стоит жаловаться на бесплатные плагины (в любом случае, слишком много).

...