簡體   English   中英

將格式化和突出顯示的多行文本 (SQL) 粘貼到 PyCharm 中的字符串文字中

[英]Paste a formatted and higlighted multiline text (SQL) into string literal in PyCharm

PyCharm 中有沒有辦法將多行文本(SQL)粘貼到字符串文字中? 例如:

SELECT column1
     , column2
FROM table1
WHERE column3 IN
(
    SELECT TOP(1) column4
    FROM table2
    INNER JOIN table3
    ON table2.column1 = table3.column1
)

進入:

sql = (
    "SELECT column1"
    "     , column2"
    "FROM table1"
    "..."
)

理想情況下告訴 PyCharm 它是 SQL 語言中的文本以突出顯示語法?

PyCharm 中有沒有辦法將多行文本(SQL)粘貼到字符串文字中?

是的。 首先,您必須“創建一個實時模板” ,因為您要粘貼正確的 function 以使用clipboard() 您可以通過轉到File > Settings > Editor > Live Templates來執行此操作,如屏幕截圖所示。

在此處輸入圖像描述

理想情況下告訴 PyCharm 它是 SQL 語言中的文本以突出顯示語法?

是的。 您可以通過在代碼段中使用“語言注入”來做到這一點。 如果您已像以下屏幕截圖所示進行預配置,PyCharm 應自動檢測 SQL 並應用語法高亮顯示。 它可以在File > Settings > Editor > Intention中設置。

在此處輸入圖像描述

如果您沒有將意圖設置為自動檢測,您也可以通過右鍵單擊並選擇“顯示上下文操作”或按下代碼中的燈泡手動執行此操作(通過將 SQL 代碼放入字符串中,這更容易)。

在此處輸入圖像描述

選擇您喜歡的 SQL 方言后,您還可以微調注入語言的語法高亮和語法檢查。

功能 IDE 對話路徑
語法檢查 Settings > Editor > Inspections > SQL
語法亮點 Settings > Editor > Color Sheme方案> SQL

對於多行 SQL 查詢,在 Python 中,您可以使用三引號:

query = """
SELECT column1
     , column2
FROM table1
WHERE column3 IN
(
    SELECT TOP(1) column4
    FROM table2
    INNER JOIN table3
    ON table2.column1 = table3.column1
)
"""

然而,對於語法高亮,由於 PyCharm 是專門為 Python 構建的,我認為您不能像在 SQL 中那樣更改設置以突出顯示。 可能會有擴展,但是,我不知道。

使用""" """

sql = """
        SELECT column1
     , column2
FROM table1
WHERE column3 IN
(
    SELECT TOP(1) column4
    FROM table2
    INNER JOIN table3
    ON table2.column1 = table3.column1
)
"""

print(sql)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM