Котлин - DSL Color Style

Когда вы аннотируете класс аннотаций в Kotlin с помощью @DslMarker, в канаве появляется значок, указывающий стиль DSL

Когда я пытаюсь изменить стиль на другой цвет, он ничего не делает. Как Kotlin выбирает стиль DSL и как применить определенный стиль?

1 ответ

Есть только четыре предопределенных стиля DSL, для которых вы можете настроить параметры отображения.

Для каждого @DslMarkerаннотации, среда IDE выбирает один из предопределенных стилей, используя хеш-функцию полного имени аннотации. Затем этот стиль используется для выделения использования функций, отмеченных аннотацией. Назначение разных стилей состоит в том, чтобы разные DSL (отмеченные разными@DslMarker аннотации) с меньшей вероятностью будут визуально противоречить друг другу.

Перемещение объявления аннотации в исходном файле относительно других аннотаций не повлияет на выбранный стиль, но переименование может привести к выбору другого стиля для аннотации.

Этот стиль выбирается в диалоговом окне настроек, когда вы щелкаете значок желоба на @DslMarker annotation class.

Вот пример того, как это работает.

Вы можете видеть, что Style3выбирается сразу для двух классов аннотаций. В настоящее время невозможно заставить среду IDE выбирать определенный стиль для класса аннотации.


UPD: исходники реализации в коде плагина Kotlin IDE можно найти здесь и здесь.

Другие вопросы по тегам