3

在 Kotlin 中使用 @DslMarker 注释注释类时,装订线中会出现一个图标,指示 DSL 样式

在此处输入图像描述

当我尝试将样式更改为不同的颜色时,它什么也没做。Kotlin 如何选择 DSL 样式,以及如何强制执行特定样式?

4

1 回答 1

7

只有四种预定义的 DSL 样式可供您自定义显示选项。

对于每个@DslMarker注释,IDE 使用注释的完全限定名称的散列函数选择一种预定义样式。然后使用此样式突出标有注释的函数的用法。不同样式的目的是不同的 DSL(由不同的@DslMarker注释标记)在视觉上不太可能发生冲突。

相对于其他注释在源文件中移动注释的声明不会影响其选择的样式,但重命名它可能会导致为注释选择不同的样式。

当您单击 的装订线图标时,会在设置对话框中选择此样式@DslMarker annotation class

这是它如何工作的示例。

在此处输入图像描述

您可以看到同时Style3为两个注释类选择了 。目前没有办法强制 IDE 为注释类选择特定样式。


UPD:可以在此处此处找到 Kotlin IDE 插件代码中的实现源。

于 2019-07-20T21:31:33.750 回答