【问题标题】:Change comment symbol in Xtext editor在 Xtext 编辑器中更改注释符号
【发布时间】:2015-01-30 18:00:46
【问题描述】:

我有一个 Xtext 语法和生成的编辑器元素。解析器知道 cmets 以“--”开头,但按 Ctrl+7 会插入“//”。此外,cmets 的绿色斜体突出显示只发生在“//”而不是“--”。我在哪里可以改变这种行为?

【问题讨论】:

    标签: eclipse eclipse-plugin xtext emf


    【解决方案1】:

    您是否覆盖了 SL_COMMENT 规则?

    如果要插入“--”而不是“//”,则“--”应该是 SL_COMMENT 规则中的第一个替代项:

    terminal SL_COMMENT:
        ('--'|'//') !('\n'|'\r')* ('\r'? '\n')?
    ;
    

    【讨论】:

    • 不,这似乎是解决方案,但我在哪里可以更改该规则?我应该在生成的文件中这样做吗?
    • 你只需要在你的语法文件中编写你自己的终端SL_COMMENT,它会覆盖默认的。
    • 在 *.xtext 中我发现了这样一条规则,它确实将“--”指定为注释,但高亮/Ctrl+7 无论如何都不起作用。解析器工作正常,忽略 cmets,只是突出显示不起作用。
    【解决方案2】:

    如果你不想覆盖 SL_COMMENT 那么你必须挂钩到相应的地方

    • 用于突出显示:DefaultAntlrTokenToAttributeIdMapper
    • 用于切换 sl 评论操作:ISingleLineCommentHelper.getDefaultPrefixes(ISourceViewer, String)

    【讨论】:

    • 我可以更改规则,但我认为没关系。但我认为 SL_COMMENT 规则没问题,它确实说“--”应该是注释。解析器也知道,以 -- 开头的行被正确处理为 cmets;只有 ctrl+7 并且正确的突出显示不适用于“--”,但在使用“//”时。但以“//”开头的行仅作为 cmets 突出显示,不会被忽略。
    • 如前所述。有两种方法可以解决这个问题 - 只需选择一个
    猜你喜欢
    • 1970-01-01
    • 2016-08-29
    • 2023-03-26
    • 2016-09-18
    • 2016-11-11
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多