Учебник по написанию плагина генерации кода для Visual Studio 2010 - PullRequest
5 голосов
/ 10 мая 2011

Я хотел бы добавить редактор для Visual Studio 2010, который должен быть похож на тот, который вы получаете для Entity Framework, т.е. у вас есть визуальный дизайнер, который сохраняет свою собственную конфигурацию в свой собственный файл, а затем генерирует код из этого .

Таким образом, два аспекта, связанные с этим, будут представлять собой визуальное представление для конкретного расширения файла, а во-вторых, это генерация кода (или код должен быть сгенерирован, как файл редактируется или только в сборке?)

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

Ответы [ 3 ]

5 голосов
/ 10 мая 2011

SDK Microsoft для визуализации и моделирования - доменные языки:

http://msdn.microsoft.com/en-us/library/bb126259.aspx

Цитирование с сайта:

Использование Visual Studio SDK для визуализации и моделирования(VMSDK), вы можете создавать мощные инструменты разработки на основе моделей, которые можно интегрировать в Visual Studio.Например, инструменты UML создаются с использованием VMSDK.Таким же образом вы можете создать одно или несколько определений модели и интегрировать их в набор инструментов.

В основе VMSDK лежит определение модели, которую вы создаете для представления концепций в вашей бизнес-сфере.Вы можете окружить модель различными инструментами, такими как схематическое представление, возможность генерировать код и другие артефакты, команды для преобразования модели и возможность взаимодействия с кодом и другими объектами в Visual Studio.По мере разработки модели вы можете комбинировать ее с другими моделями и инструментами для формирования мощного набора инструментов, ориентированного на вашу разработку.

VMSDK позволяет быстро разрабатывать модель в форме предметно-ориентированного языка (DSL).Вы начинаете с использования специализированного редактора, чтобы определить схему или абстрактный синтаксис вместе с графической нотацией.Из этого определения VMSDK создает:

A model implementation with a strongly-typed API that runs in a transaction-based store.

A tree-based explorer.

A graphical editor in which users can view the model or parts of it that you define.

Serialization methods that save your models in readable XML.

Facilities for generating program code and other artifacts using text templating.

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

0 голосов
/ 10 мая 2011

Для генерации кода я предлагаю вам взглянуть на модель DOM кода .

Я ничего не знаю о разработке плагинов VS, но я думаю, что эта страница будет полезна (если вы ее раньше не видели) - Разработка плагинов для Visual Studio, первые шаги

0 голосов
/ 10 мая 2011
...