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