Я предполагаю, что в качестве отображаемого имени для декоратора вы хотите, чтобы элемент в сгенерированном DSL отображался как «Example = a_value», где a_value - фактическое значение, а Example - имя свойства.
То, что я делал с этим в прошлом, - это создание второго свойства "ExampleDisplay", которое не просматривается и на которое фактически указывает декоратор. Затем я установил свойство Kind для ExampleDisplay на «Вычислено». Затем вам нужно предоставить метод, который инструментарий пытается вызвать для отображения декоратора, который вы можете сделать частичным классом.
partial class ExampleElement
{
string GetExampleDisplayValue()
{
return "Example : " + this.Example;
}
}
Это не идеально, так как у вас нет хорошего способа установки свойства на диаграмме DSL, вы должны использовать окно свойств. (Есть некоторые задержки с окном свойства, если только вы не подключитесь к обновлению базового свойства). Возможно получить плавное редактирование в графическом интерфейсе, которое делает настоящий набор инструментов DSL, возможно, но я не выяснил, как это сделать.
Возможно, стоит спросить Форумы VSX , если вы этого еще не сделали.