IntelliJ IDEA在SQL中使用語(yǔ)言注入

2018-06-05 10:26 更新

在SQL中使用語(yǔ)言注入

此功能僅在Ultimate版本中受支持。
以下內(nèi)容僅在安裝和啟用 IntelliLang、數(shù)據(jù)庫(kù)工具和 SQL 插件時(shí)有效!

對(duì)于SQL中的語(yǔ)言注入,IntelliJ IDEA提供了以下附加功能:

  • 自動(dòng)注入XML和JSON數(shù)據(jù)類型,請(qǐng)參閱“對(duì)XML和JSON使用自動(dòng)注入”部分。
  • 數(shù)據(jù)類型模式,請(qǐng)參閱“對(duì)用戶定義的數(shù)據(jù)類型使用基于模式的注入”部分。

對(duì)XML和JSON使用自動(dòng)注入

對(duì)于定義為XML和JSON類型的值,會(huì)自動(dòng)注入相應(yīng)的語(yǔ)言。

示例:

  1. 創(chuàng)建一個(gè)SQL文件并在編輯器中打開它。
  2. 指定PostgreSQL作為該文件的SQL方言。
  3. 將以下內(nèi)容復(fù)制到您的SQL文件中:
    CREATE TABLE test (
    my_xml XML DEFAULT ''
    );
  4. 將光標(biāo)放在引號(hào)之間。
  5. 檢查燈泡菜單(Alt+Enter):如果有Edit XML Fragment命令,這意味著XML已被自動(dòng)注入。

對(duì)用戶定義的數(shù)據(jù)類型使用基于模式的注入

您可以創(chuàng)建模式 - 例如用于用戶定義的數(shù)據(jù)類型 - 并將這些模式與語(yǔ)言相關(guān)聯(lián)。因此,當(dāng)IntelliJ IDEA遇到與該模式匹配的數(shù)據(jù)類型時(shí),它將注入為該模式指定的語(yǔ)言。

在下面的例子中,我們將為以DATA結(jié)尾的數(shù)據(jù)類型創(chuàng)建一個(gè)模式,并將該模式??與XML相關(guān)聯(lián)。

示例:

  1. 在你的SQL文件中,使用MYDATA來替換XML。
  2. 將光標(biāo)放在引號(hào)之間。
  3. 按Alt+Enter。請(qǐng)注意,菜單中不再有Edit XML Fragment(編輯XML片段)命令。選擇按類型注入,然后選擇XML(XML文件)。
  4. 在打開的對(duì)話框中,在類型模式(Type pattern)字段中指定:(?i).*DATA。(類型模式使用正則表達(dá)式指定,在本例中,(?i)打開不區(qū)分大小寫的模式; .*代表任意數(shù)量的任何字符。)
  5. 再次檢查燈泡菜單(Alt+Enter)。“編輯XML片段(Edit XML Fragment)”命令已經(jīng)變得可用,這意味著XML已經(jīng)注入了MYDATA類型的值。
  6. 要?jiǎng)h除剛剛創(chuàng)建的模式(如果您不需要它),請(qǐng)打開“設(shè)置/首選項(xiàng)(Settings / Preferences)”對(duì)話框(例如Ctrl+Alt+S),轉(zhuǎn)至“編輯器|語(yǔ)言注入(Editor | Language Injections)”頁(yè)面,查找和刪除模式。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)