【问题标题】:How do I colorize my language without TextMate?如何在没有 TextMate 的情况下为我的语言着色?
【发布时间】:2021-06-14 15:21:05
【问题描述】:

我们目前正在为基于 ANTLR4 语法的自定义语言创建新的 VSCode 扩展。 对于我们想要的所有其他东西(悬停、自动完成等),都有提供者,但似乎没有办法使用提供者为文本着色。我们可以使用tree-walker和“setDecorations”使语义突出显示正常工作,但这意味着我们在小地图或悬停文本中没有任何颜色,并且我们无法在滚动中显示错误-酒吧... 我错过了什么吗? 有没有更好的解决方案?

谢谢

【问题讨论】:

  • 听起来您想要一个适合您的语言的 LSP 服务器。

标签: vscode-extensions language-server-protocol


【解决方案1】:

您可以使用语言服务器实现来满足这些要求。例如,您可以使用协议中的Semantic Token support 支持来为令牌着色。此外,为了显示错误、警告等,您可以使用语言服务器协议中的诊断功能。由于您有其他功能(例如悬停和自动完成)的提供程序,因此您可以避免通过 LS 实现来支持它们

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 2019-05-30
    • 2021-06-03
    • 2023-01-11
    • 2017-06-28
    • 2020-05-12
    • 1970-01-01
    相关资源
    最近更新 更多