Java 15为我们带来了新的JEP 378:文本块功能。这可以简化多行字符串的处理。
是否可以使 IntelliJ 将该块中的文本解析为某种语法?我有办法告诉 IntelliJ 文本块是 SQL 源代码还是 XML 数据吗?
如果是这样,IntelliJ 是否可以使用其代码编辑超能力来协助通过该文本块对嵌套在 Java 中的代码进行着色、编辑和格式化?
是的,关于此功能,文本块的工作方式与 IntelliJ IDEA 中的常规字符串相同。因此,您可以输入 Alt+Enter,选择
Inject language or reference
并选择要注入的语言。在所有情况下,像正则表达式这样的语言会自动注入到正则字符串中,它们也会被注入到文本块中。
您可以使用语言注入功能。 例如:
// language=JSON
"""
{
"field1": "text,
"field2": 123.43,
"field3": true
}
"""
Idea 应该将其解释为 JSON 并突出显示错误:
文档:https://www.jetbrains.com/help/idea/using-language-injections.html#use-language-injection-comments