繁体   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