将格式化且突出显示的多行文本 (SQL) 粘贴到 PyCharm 中的字符串文字中

Mir*_*iro 3 python sql string multiline 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
)
Run Code Online (Sandbox Code Playgroud)

进入:

sql = (
    "SELECT column1"
    "     , column2"
    "FROM table1"
    "..."
)
Run Code Online (Sandbox Code Playgroud)

理想情况下告诉 PyCharm 它是 SQL 语言中的文本以突出显示语法?

bad*_*der 5

PyCharm 有没有办法将多行文本(SQL)粘贴到字符串文字中?

是的。首先,您必须“创建实时模板”,因为您想粘贴要使用的正确函数是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