[英]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.