如何在自定义语言“上下文”中创建 Intellij 实时模板?

问题描述

我正在为自定义语言构建自定义语言插件。我想为此语言添加一些实时模板,但新语言未显示在“更改所选模板的上下文类型”菜单中的可用上下文列表中。

插件已经有一个 plugin.xml 和你常用的语言相关的扩展: <annotator><fileType><lang.parserDeFinition><lang.SyntaxHighlighterFactory> 等。我是否缺少相关扩展名?

簿记:这个问题was already asked 4 years ago。但是给出的答案并没有解决我的问题,我没有足够的声誉来发表评论或要求澄清。

解决方法

看起来插件需要实现一个 com.intellij.codeInsight.template.TemplateContextType,然后将该实现注册为一个 <liveTemplateContext>

本文档提供了有用的详细信息:https://plugins.jetbrains.com/docs/intellij/template-support.html#implement-templatecontexttype