4.9 Idea插件
About 696 wordsAbout 2 min
2026-01-24
4.9 Idea 插件
打开Idea的插件,搜索市场Beetl,安装Beet插件
或者访问 https://gitee.com/eighttrigrams/Beetl-Support 下载dist/Beetl-Support.zip
效果图:

已完成的部分
- Antlr适配 idea PSI树
- 语法高亮
- 词法颜色
- 模板语言中代码提示
- 代码折叠(仅折叠当前区域内容)
- 代码格式化
- 错误提示(根据beetl3.0版本语法检测)
- 自定义beetl定界符、占位符、
未来可能支持的部分
- 查找变量在模版中的使用,Find Usages
- Native方法调用语法提示,以及导航到Java类(Beetl方法也可以导航到java定义的Function)
- 语法错误提示改成中文提示,同Beetl模版引擎的提示
- 配置文件提示(springboot 的application配置文件提示,已经由最新版starter提供)
- 支持2对定界符和2对占位符,同Beetl模版引擎
需要支持部分(难道较大)
- 将Beetl可以作为主HOST语言(插件早起版本功能),也可以作为嵌入Inejct语言.目前实现了Inject
- 允许编写单独的btl,纯beetl脚本文件
- 当作为inject语言是后,支持beetl自定义的html标签着色和语法提示
特别说明
- Beetl插件自动找到beetl.properties,获取定界符,占位符以及注册的函数。在目前1.0版本上,使用需要注意
- 为了获得类型和属性提示,必须使用Beetl的类型定义说明,如
var<com.test.User> xxx;for(var<com.test.User> users in xxxx) - 插件暂时不支持Beetl的HTML扩展标签功能,以及自动提示格式化函数
- Beetl插件开发按照语言Inject方式实现,即Beetl模版语言可以注入到其他语言里,如html/xml,markdown 就好像Java的注释和Java正则都有自己的语法形式,可以注册到Java代码里一样,理论上,Beetl可以Inject注入到所有主语言,只要主语言支持Inject
- 由于使用Inject方式开发,因此在Idea插件里,Beetl插件只能针对可注入的部分实现代码着色,属性提示。以xml为例子,beetl插件只能针对标签体,注释,属性值中的beetl语法着色,属性提示,绝大部分模版应用场景足够。 在使用xml/html 主语言中,如果beetl中使用了"<",或者类型符号"var <xxx>",需要在“<”符号后保持空格,否则,idea会认为这是一个HTML符号。 除非,你配置beetl的定界符号为<!--: 和 -->,即xml/html注释符号,这也是我推荐的定界符号
