В Visual Studio SDK
Существует много способов расширения Visual Studio. Общее 3 один: автоматизация расширения VSPackage, и управляемыми расширениями .NET Framework расширяемости (MEF).
Автоматизация в основном используется для автоматизации повторяющихся задач, как с помощью макроса и надстройками или укажите структуру для ввода пользователя, как с помощью мастеров.
Создание VSPackage эффективный способ расширения Visual Studio. Visual Studio включает множество компонентов, VSPackages, например отладчик и стандартные панели инструментов. Расширение VSPackage может получить доступ и расширить большинство компонентов Visual Studio, например оболочка и система проектов.
Управляемая расширяемость .NET Framework (платформа MEF) механизм расширяемости, который используется впервые в редакторе Visual Studio 2010. Платформа MEF позволяет настраивать и расширять редактор без создания VSPackage.
Модель расширяемости Visual Studio
Модель расширяемости Visual Studio состоит из различных библиотек, позволяющих расширителей для доступа и расширять компоненты Visual Studio.
Первый слой модели найден в интерфейсе API Visual Studio, один и тот же набор интерфейсов, которые разработчики используют для разработки microsoft Visual Studio. Можно использовать шаблон-основанную именованной библиотеку библиотекой Visual Studio (VSL) для записи расширения в неуправляемом коде.
При создании расширения в управляемом коде, можно использовать сборки взаимодействия Visual Studio непосредственно или использовать управляемый пакет .NET Framework (MPF). Управляемый пакет .NET Framework предоставляет классы, которые создают программу-оболочку многие из интерфейсов API в Visual Studio.
Если удлиняете редактор Visual Studio 2010, можно использовать сборки редактора, а также сборки MEF, которые определяют контрактов, расширения объявлянно в редактор Visual Studio.
Дополнительные сведения см. в следующих разделах.
Службы Visual Studio
Служба предоставляет определенный набор интерфейсов компонентов потребление. Visual Studio предоставляет набор служб, которые могут использоваться всеми компонентами, включая расширения. Например, службы включают окна инструментов Visual Studio для отображения или скрыть динамически, необходимо разрешить доступ для облегчения строка состояния или события пользовательского интерфейса. Редактор Visual Studio 2010 также предоставляет службы, которые могут быть импортированы расширениями редактора.
Дополнительные сведения см. в следующих разделах.
Расширяемые компоненты Visual Studio
Следующие компоненты одного наиболее часто используемые расширениями Visual Studio:
Команды оболочки
Меню и панели инструментов
Окна инструментов
Окна документов
Редакторы
Языковой службы
Проекты
Шаблоны
Команды
Команды функции, которые выполняют задачи, например печать документа обновление представление или создать новый файл.
При удлиняете Visual Studio можно создать команды и зарегистрировать их с оболочкой Visual Studio. Можно указать, как эти команды будут отображаться в интегрированную среду разработки, например в меню или панели инструментов. Обычно пользовательской команды отображается на Сервис меню и команды для отображения окна инструментов появились бы в Другие окна подменю Просмотреть меню.
При создании команды, необходимо также создать обработчик событий. Обработчик событий определяет, когда команда отображается или включена, позволяет изменить его текст и гарантирует, что команда реагирует соответствующим образом при ее активирована. В большинстве экземплярах, интегрированная среда разработки этих команд с помощью IOleCommandTarget интерфейс. Команды в Visual Studio, обрабатываются запустить с самого внутреннего контекст команд, основанный на локальном выделении и переходить к внешней контекст на основе глобального выделения. Команды, добавленные в главном меню сразу становятся доступными для сценария.
Дополнительные сведения см. в разделе Как VSPackages добавления элементов пользовательского интерфейса в IDE.
Меню и панели инструментов
Меню и панели инструментов позволяют пользователям вызывать команды. Меню строки или столбцы команд, которые обычно отображаются как отдельные элементы текста в верхней части окна инструментов. Вложенные меню вторичные меню, которые отображаются, когда пользователь щелкает команды, которые содержат небольшую стрелки. Контекстные меню отображаются, когда пользователь щелкнул правой кнопкой мыши некоторые элементы пользовательского интерфейса. Некоторые распространенные имена меню Файл" изменить" Просмотретьи Окно. Дополнительные сведения см. в разделе общие задачи с командами, меню, и панелями инструментов.
Строки или столбцы кнопок панели инструментов и других элементов управления, как поля со списком, списки и текстовые поля. Кнопки панели инструментов, обычно предъявляют образы значка, например значок папки Открыть файл команда или принтер, a Печать команды. Все элементы панели инструментов, связанные с командами. При нажатии кнопки панели инструментов, связанная с ним будет выполняться команда. В случае раскрывающийся элемент каждый элемент в раскрывающемся списке связанный с другой командой. Некоторые элементы управления " Панель инструментов, как элемент управления splitter, гибриды. Одной стороны элемента управления кнопка панели инструментов и другая сторона стрелку вниз, которая отображается несколько команд, когда она нажата.
Дополнительные сведения см. в следующем разделе.
Окна инструментов
Окно инструментов в интегрированной среде разработки для отображения информации. Панель элементов" Обозреватель решений" Свойства окно, и Веб-браузер примеры окна инструментов.
Окно инструментов обычно имеют различные элементы управления, с которыми пользователь может взаимодействовать. На пример, Свойства окно позволяет задавать свойства пользователя объектов, которые служат указанное назначение. Свойства окно специализирован в этом смысле, но также генералитете так как его можно использовать в различных ситуациях. Аналогично Вывод специализирован окно, поскольку оно содержит результат, основанный текст, только общие поскольку множество подсистем в Visual Studio могут использовать его для предоставления пользователю вывод Visual Studio.
Рассмотрим следующее изображение Visual Studio, содержащий несколько окон инструментов.
Некоторые окна инструментов размещаются на одной панели, которая отображает окно инструментов обозревателя решений и скрывает другие окна инструментов, но делают их доступными, щелкните вкладки. Изображение отображается 2 других окна инструментов Список ошибок и Вывод окно, закрепленное на одной панели.
Базовый документ также отображается панель, которая отображает несколько окон редактора. Хотя окна инструментов обычно имеют только один экземпляр (например, можно открыть только один Обозреватель решений), окна редактора, могут иметь несколько экземпляров, каждый из которых используется для редактирования отдельный документ, но закрепить в той же области. Рисунок показывает область документа, которая содержит 2 окна редактора, одно окно конструктора форм и окно браузера, указывающее начальную страницу. Все окна в области документа с помощью вкладки доступны, но окно редактора, содержащее файл EditorPane.cs видимым и активно.
При удлиняете Visual Studio можно создать окна инструментов, позволяющие пользователям взаимодействовать с расширением Visual Studio. Можно также создать собственные редакторы, позволяющие пользователям Visual Studio редактирования документов. Поскольку собственные окна инструментов редакторы будут интегрированы в Visual Studio нет необходимости программа их закрепить или отображаться на вкладке правильно. Если они правильно будут зарегистрированы в Visual Studio, они автоматически будут иметь стандартные функции окна инструментов и окнах документов в Visual Studio.
Дополнительные сведения см. в следующем разделе.
Окна документов
Окно документа обрамленное дочернее окно в окне интерфейса MDI. Окна документов обычно используются с текстовым редакторам основного приложения, редакторам с помощью форм (также известным как конструкторы) или редактировать элементы управления, но они также могут узел другие функциональные типы. Создать файл диалоговое окно содержит примеры окон документов, Visual Studio.
В большинстве редакторов относящиеся к языку программирования или к типу файла, например страницы HTML, наборы фреймов, файлы C++ или файлы заголовка. Путем выбора шаблона Создать файл откроется диалоговое окно пользователь динамически создает окно документа для редактора для типа файла, связанного с шаблоном. Окно документа также создается, когда пользователь открывает существующий файл.
Окна документов ограничен клиентской области MDI. Каждое окно документа есть вкладки в верхней и последовательность табуляции, связанная с другим окнам, которые могут быть открыты в области MDI. Щелкните правой кнопкой мыши вкладку окна документа отображается контекстное меню, которое включает параметры разбиение область MDI в несколько горизонтальные или вертикальные группы вкладки. Разделение области MDI содержит несколько файлов, которые будут просматривать одновременно.
Дополнительные сведения см. в следующем разделе.
Редакторы
Редактор Visual Studio 2010 новый тип компонента Visual Studio. Пока сам VSPackage новый редактор, он позволяет настраивать его и использовать его для собственного типа содержимого с помощью управляемой расширяемости .NET Framework (платформа MEF). Во многих случаях не нужно будет создать VSPackage для расширения редактора, если требуется включить функции из оболочки (например, команды меню или сочетания клавиш), можно объединить с расширением MEF VSPackage.
Можно также создать специализированный редактор, например, если нужно считывать и записывать к базе данных, либо если необходимо использовать конструктор. Можно также использовать внешний редактором (таким, как блокнот) или microsoft WordPad.
Дополнительные сведения см. в разделе редакторы.
Языковой службы
Если требуется редактор Visual Studio поддержки новых ключевых слов программирования или даже новый язык программирования создается служба языка. Каждая служба может реализовывать некоторые функции языка редактора частично или полностью, не для всех. В зависимости от того, как он настроен, служба может обеспечить выделение синтаксиса языка, соответствующего расчалку, поддержку IntelliSense и других функций в редакторе.
В основе языковой службы анализатор и средство чтения. Средство чтения (или лексического анализатора) разбивают исходный файл на элементы, как токены, а средство синтаксического анализа устанавливают связи между этих маркеров. При создании языковую службу, необходимо реализовать анализатор и средство чтения, так что Visual Studio могла понять и грамматику токены языка.
Можно создать управляемые и неуправляемые языковой службы.
Дополнительные сведения см. в следующем разделе.
Проекты
В Visual Studio проекты контейнеры, которые разработчики используют для организации и создают исходный код и другие ресурсы. Проекты позволяют организовать, построение, отладка и развертывание исходный код, ссылки на веб-службу и базам данных и другим ресурсам. VSPackages может расширить систему проекта Visual Studio, предоставляя типы проектов, подтипы проекта и пользовательские инструменты.
Проекты могут также быть собраны в решение, группирование одного или нескольких проектов, которые работают совместно для создания приложения. Проект и сведения о состоянии, относящиеся к решению хранятся в файлах решения 2, основываясь текст файл решения (sln) и в файле параметров пользователя binary решения (suo). Эти файлы похожи на файлы группы (.vbg) которых использовался в предыдущих версиях Visual Basicи область (.dsw) и параметров пользователя файлы (.opt) которых использовался в предыдущих версиях Visual C++.
Дополнительные сведения см. в следующем разделе.
Проект и шаблоны элементов
Visual Studio включает в себя предопределенные шаблоны проекта и шаблоны элементов проекта. Можно также создать собственные шаблоны или получить шаблоны от участников сообщества, а затем интегрировать их в Visual Studio. Коллекция исходных кодов MSDN место для перехода для шаблонов и расширений.
Шаблоны содержат структуру проекта и основные файлы, необходимые для построения указанный тип приложения, элемента управления или библиотеки классов. Когда необходимо начать программное обеспечение, похожий на один из шаблонов, создайте проект, который основан на шаблоне а затем измените файлы в проекте.
Примечание
Эта архитектура шаблона не поддерживается для Visual C++ проекты.Дополнительные сведения о создании Visual C++ шаблоны проектов см. в разделе Разработка мастера.
Дополнительные сведения см. в разделе Добавление шаблонов проектов и элементов проектов.
Интегрированная оболочка и изолированные приложения оболочки
Можно интегрировать модуль в Visual Studio в интегрированном режиме или изолированном режиме.
С помощью интегрированной оболочку позволяет предоставить пользовательские средства, собственные клиенты могут использовать вместе с другими компонентами Visual Studio. Интегрированная оболочка оптимизирована к языку и службу программы основного приложения.
Использование изолированную оболочку позволяет создавать пользовательские средства, работающих в оболочке Visual Studio только с этими компонентами Visual Studio, выбранные для включения. Изолированную оболочку оптимизирована для специализированных средств, которые имеют полный доступ к службам Visual Studio, но также имеет пользовательские внешний вид и фирменную символику.
Дополнительные сведения см. в следующем разделе.