Расширение возможностей IntelliSense для XAML-редактора Visual Studio 2010

вторник, 23 марта 2010, Евгений Жарков

Оценив новые возможности IntelliSense в редакторе кода VS 2010, по принципу PascalCase, когда по ходу печати вы получаете список предполагаемых команд. К сожалению, новые вкусные возможности не доступны в XAML редакторе. Но нет повода для печали…

xaml[1]

fullnamespace[1]

Возможности
  • Поддержка принципа PascalCase
  • Опциональные фильтры
  • Фильтрация на основе типа элемента
  • xmlns IntelliSense опции
    • Отображение/скрытие только сборок проекта
    • Отображение/скрытие схем
  • Фильтрация настроек сохраняется для текущей сессии Visual Studio
Обзор PascalCase

Принцип PascalCase-фильтрации позволяет быстро находить требуемые элементы, поиск идет по заглавным буквам и начинает искать при наличии минимум двух заглавных букв.

Ниже представленное изображение демонстрирует как работает данный способ фильтрации.

PascalLookupOne

Установка сборки, используя xmlns PascalCase выполняется в три счёта.

PascalLookupTwo

Автоматически сужающийся фильтр списка

Когда фильтр сужения списка активен, то добавляет две дополнительные возможности:

  • Суживающийся список отображаемых элементов, которые содержат ваш текст
  • Приоритетность выделения элементов списка
    • Выделяет первый элемент, которые начинается с вашего текста.
    • Выделяет первое вхождение, которое содержит ваш текст.

http://img684.imageshack.us/img684/1791/narrowlist.png

Посмотрите как легко найти Grid.Row или Grid.RowSpan, при включенном сужении списка.

NarrowingEnabledTwo

Фильтрация элементов списка по типу

Собственно данный пункт и был основной движущей силой при написании расширения. Я немного растерялся, при вводе XAML я получил список состоящий из 2 свойства, 4 событий и 75 пространств имен. Проблема решена.

Стандартный список элементов, заметьте, какое огромное количество пространств имен.

Namespaces

Отожмите кнопку с панели и пространства имен исчезнут со списка:

NoNamespaces

Другие кнопки работают по такому же принципу. Серый фон обозначает активное состояние. Белый фон – неактивное состояние.

xamlns IntelliSense

Ниже представленное изображение демонстрирует две кнопки фильтра, которые предоставляет xamls IntelliSense.

  • Отображает только сборки проекта, если активен
  • Убирает вхождения схемы, если активен

xmlnsOne

Еще один способ получить ваши сборки в быстрый способ продемонстрирован ниже. Два кнопке фильтра в стандартном состоянии и я ввожу WC для быстрого поиска сборки в моём проекте.

xmlnsTwo

Ниже, я использую функционал автоматически сужающегося списка для поиска всех сборок, которые содержат слово ‘media’. Поиск включает в себя так же значения в скобках.

xmlnsThree

Менеджер расширений

Для просмотра установленных расширений используйте меню Visual Studio 2010: Tools->Extension Manager:

ExtensionManager

Отсюда вы можете выключить или удалить любое расширение

ExtensionManagerTwo

Вы так же можете изменить настройки для расширений через Tools->Options.

ToolsOptions

Требования

Visual Studio 2010 Release Candidate или старше.

Возможно будет работать на Visual Studio 2010 Beta2, но я не тестировал.

Загрузки

XAML Editor IntelliSense Presenter Extension VSIX Installer  (41KB)

XAML Editor IntelliSense Presenter Extension Source Code (не обязательно)  (39KB)  (C# исходный код)

Для исходного кода

Если вы все же решили загрузить исходный код и, возможно, модифицировать его. Вы должны обязательно деинсталировать расширение, если вы использовали VSIX  для его установки.

Вдобавок, если вы желаете создать своё собственное расширение, убедитесь, что следующая папка пустая, до начала создания нового проекта. Если у вас появились конфликты в проекте, или присутствует другое IntelliSense-расширение в этой папке, то у вас могут возникнуть конфликты и при отладке.

C:\Users\<имя пользователя>\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions

Как оно работает?

Я многому научился создавая данное расширение. На следующих неделях, я объясню как работает код данного расширения и чем оно отличается от примера на CodePlex.

И последнее

После запуска Visual Studio 2010, я внесу предложенные изменения и опубликую новую версию в блоге и в Code Gallery.

Надеюсь вам понравился расширение XAML редактора.

Источник – Karl on WPF

Компании из статьи


Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии