Как расширить предметы IntelliSense?

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

Возможно ли это с надстройкой VisualStudio, ReSharper / DXCore или любым другим плагином?

Фон:

Некоторые из вас могут знать FOP (функционально-ориентированное программирование). FOP потребует различных изменений в intellisense и поведении редактора.

Редактировать:

Еще один интересный пост.

3 ответа

Решение

Это очень легко сделать, написав плагин ReSharper.

  • Начните с реализации ICodeCompletionItemsProvider который предоставит дополнительные элементы IntelliSense. Самый простой способ - унаследовать от ItemsProviderOfSpecificContext<TContext>TContext являющийся CSharpCodeCompletionContext если вы заинтересованы в завершении кода C#).

  • Ваш провайдер добавит дополнительные пункты в реализацию AddLookupItems(), У вас есть возможность предоставить индивидуальную реализацию ILookupItem здесь: Accept() метод этого интерфейса будет вызываться, когда пользователь выбирает элемент во всплывающем окне завершения. Вот ваш шанс выполнить код, который вам нужен.

Обратите внимание, что эта информация для R# 6.1/7.0. Я не думаю, что это сильно отличается в предыдущих версиях, хотя. Очевидно, что вы должны включить ReSharper IntelliSense вместо Visual Studio IntelliSense, чтобы это работало.

Пользовательский XML-редактор intelliSense для VS2010 можно добавить, поместив пользовательские файлы xsd в C:\Program Files\Microsoft Visual Studio 10.0\Xml\Schemas папка, но я думаю, вы ищете что-то еще.

Вам следует взглянуть на создание и использование фрагментов кода IntelliSense и решить, является ли это тем, что вы ищете. Этот вопрос на programmers.stockexchange также может быть полезным. Этот вопрос также кажется похожим, что предполагает CSharpIntellisensePresenter(бесплатно).

Может быть, вам помогут живые шаблоны ReSharper (ReSharper->Live Templates...).

Другие вопросы по тегам