В данной статье мы хотим сделать краткий обзор DXCore и рассказать, чем может быть полезна эта .NET библиотека.
DXCore — это абсолютно бесплатный продукт, который мы развиваем и поддерживаем начиная с 2004 года. В двух словах, DXCore облегчает разработку расширений для Visual Studio.
Мы стараемся проектировать API этой библиотеки так, чтобы максимально упростить процесс создания плагинов — чтобы разработчики могли сосредоточится на функциональности и по возможности избежать основных сложностей интеграции с Visual Studio.
DXCore рассчитан на тех, кому чего-то не хватает в Visual Studio и кому нужно расширить свою среду разработки. Можно сказать, что такое желание возникает далеко не у всех, и что в Visual Studio всё уже есть и нечего туда что-то добавлять. И это может быть справедливо.
Однако, у тех разработчиков, кто не любит делать монотонные и рутинные вещи, всегда есть совершенно понятное желание оптимизировать свою работу за счет автоматизации таких вот рутинных вещей.
Для DXCore существует около 50 бесплатных плагинов с открытым исходным кодом. Например, есть замена стандартного диалога Visual Studio для добавления ссылок на сборки. Стандартный диалог несколько медлителен, даже несмотря на то, что в Visual Studio 2010 загрузка доступных сборок производится в отдельном потоке.
На базе DXCore разработан CodeRushXpress — еще один бесплатный продукт компании DevExpress. CodeRushXpress включает в себя около 50 рефакторингов и функциональность по навигации и созданию деклараций в коде.
Итак, основные сервисы DXCore:
- Интеграция с Visual Studio
В библиотке реализована система расширений (плагинов), построенная по компонентному принципу. Поддерживается несколько базовых типов плагинов: стандартный плагин, плагин для создания ToolWindow, плагин для создания страницы опций.
- Отображение графической информации в текстовом редакторе
Реализованы сервисы и система событий для упрощения процесса отображения графической информации в окне текстового редактора Visual Studio. Есть целый ряд готовых графических элементов.
- Парсинг, преобразование и генерация кода
Поддерживаются следующие языки: C#, Visual Basic, С++, JavaScript. Также DXCore содержит сервисы для работы с CSS, HTML, XML, XAML.
- Работа с проектами и файлами
DXCore предоставляет свой API для работы с проектами и файлами в Visual Studio.
- Анализ кода
Есть сервисы для поиска ссылок и деклараций в коде, определения и выведения (type inference) типов данных выражений, загрузки и анализа метаданных .NET сборок.
Если вы заинтересовались, вот ссылка, где можно скачать библиотеку DXCore.
В будущих статьях мы бы хотели более детально рассмотреть каждую из данных областей. А что вы хотите увидеть в первую очередь?