Автозаполнение для члена другого класса - PullRequest
3 голосов
/ 13 марта 2012

Можно ли просто ввести первые буквы статического члена класса, а затем (с помощью волшебного ярлыка) список завершения перечисляет все возможные class.member записи?


Более подробное объяснение:

У меня есть 15 классов в форме:

class AClass
{
  public static readonly string Volumeclass = "abcd";
  //... other members
}

class AnotherClass
{
  public static readonly string Volumeclass = "xyz";
  //... other members
}

Когда я хочу получить доступ к этим членам, я хочу ввести Volumeclass и хотите получить список:

  • AClass.Volumeclass
  • AnotherClass.Volumeclass

по интеллекту.Поэтому мне нужно выбрать только правильный символ вместо того, чтобы запомнить правильное имя класса.

Я пробовал Smart Completion, но он не работал таким образом.

Ответы [ 3 ]

3 голосов
/ 13 марта 2012

Не могу сказать, что знаю такой ярлык.Очевидно, что если вы используете навигацию Перейти к символу (IntelliJ: Ctrl-Shift-Alt-T или Visual Studio: Ctrl-Shift-Alt-T), вы можете получить список всех VolumeClass свойств в вашем коде:

http://i.imgur.com/YP7nd.png

Но это не то, что вы хотите.Самое близкое, что я мог бы предложить, это использовать завершение Import Symbol ( Ctrl - Alt - Пробел ), а затем ввести первые буквы типа.Он покажет все глобально доступные типы и при необходимости импортирует соответствующую директиву using.

Редактировать Другая идея состоит в том, чтобы сгенерировать это с помощью ReSharper Live Template, который позволит вам сгенерироватьоператор на основе первых нескольких букв:

  1. Перейти к ReSharper - Проводник шаблонов (в ReSharper 6)
  2. Под Живые шаблоны , нажмите вкладку Новый шаблон кнопка
  3. Дайте название для вашего ярлыка, например, vc.При желании напишите описание.
  4. В основной текстовой области введите: $prefix$.Volumeclass
  5. Сохраните и выйдите из Проводника шаблонов

Теперь вы можете ввести свойкод vc, а затем имя класса, обладающего свойством.

Надеюсь, это поможет.

1 голос
/ 13 марта 2012

Вы можете поместить классы в общее пространство имен.Затем после ввода точки, следующей за именем пространства имен, должен появиться список классов.После того, как вы выберете класс, вам все равно нужно будет добавить свойство Volumeclass.

Я бы не стал реструктурировать вашу иерархию пространства имен только для этой цели, но это может быть хорошим вариантом, если классы должнылогически быть сгруппированы вместе.Если имя пространства имен длинное, вы можете добавить , используя директиву псевдонима (например, using Prods = MyCompany.MyProject.Products;)

0 голосов
/ 13 марта 2012

Сначала необходимо ввести имя класса

AClass.<now the list of static members appears>

Обратите внимание, что в библиотеке классов .NET Framework есть десятки тысяч классов. Вы хотите, чтобы миллионы участников появлялись автоматически?

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