阅读(3674)
赞(11)
IntelliJ IDEA在SQL中使用语言注入
2018-06-05 10:14:12 更新
在SQL中使用语言注入
此功能仅在Ultimate版本中受支持。
以下内容仅在安装和启用 IntelliLang、数据库工具和 SQL 插件时有效!
对于SQL中的语言注入,IntelliJ IDEA提供了以下附加功能:
- 自动注入XML和JSON数据类型,请参阅“对XML和JSON使用自动注入”部分。
- 数据类型模式,请参阅“对用户定义的数据类型使用基于模式的注入”部分。
对XML和JSON使用自动注入
对于定义为XML和JSON类型的值,会自动注入相应的语言。
示例:
- 创建一个SQL文件并在编辑器中打开它。
- 指定PostgreSQL作为该文件的SQL方言。
- 将以下内容复制到您的SQL文件中:
CREATE TABLE test ( my_xml XML DEFAULT '' );
- 将光标放在引号之间。
- 检查灯泡菜单(Alt+Enter):如果有Edit XML Fragment命令,这意味着XML已被自动注入。
对用户定义的数据类型使用基于模式的注入
您可以创建模式 - 例如用于用户定义的数据类型 - 并将这些模式与语言相关联。因此,当IntelliJ IDEA遇到与该模式匹配的数据类型时,它将注入为该模式指定的语言。
在下面的例子中,我们将为以DATA结尾的数据类型创建一个模式,并将该模式与XML相关联。
示例:
- 在你的SQL文件中,使用MYDATA来替换XML。
- 将光标放在引号之间。
- 按Alt+Enter。请注意,菜单中不再有Edit XML Fragment(编辑XML片段)命令。选择按类型注入,然后选择XML(XML文件)。
- 在打开的对话框中,在类型模式(Type pattern)字段中指定:(?i).*DATA。(类型模式使用正则表达式指定,在本例中,(?i)打开不区分大小写的模式; .*代表任意数量的任何字符。)
- 再次检查灯泡菜单(Alt+Enter)。“编辑XML片段(Edit XML Fragment)”命令已经变得可用,这意味着XML已经注入了MYDATA类型的值。
- 要删除刚刚创建的模式(如果您不需要它),请打开“设置/首选项(Settings / Preferences)”对话框(例如Ctrl+Alt+S),转至“编辑器|语言注入(Editor | Language Injections)”页面,查找和删除模式。