如何抑制PyCharm中的语法检查?

时间:2014-08-22 10:54:24

标签: pycharm code-inspection

我正在使用PyCharm 3.4.1,我的函数中有这段代码:

cursor.execute('SELECT distinct "name_{0}", code, sort_order FROM {1}'.format(get_language(), ProgrammeLevel._meta.db_table))

PyCharm正确识别该字符串包含SQL代码,但代码语法检查通知我由于FROM {1}而出现语法错误,它说:<comma join expression> expected, got '{',这是一个有效点,但是我知道我在做什么。

对于大多数(如果不是全部)PyCharm检查,我可以在正确的位置写一个# noinspection评论并关闭一些代码。我这样做了,关闭PyProtectedMember检查我刚才给出的代码片段。如何关闭此行代码的语法检查?要给noinspection评论的检查名称是什么?

1 个答案:

答案 0 :(得分:9)

这是通过语言注入而不是检查来控制的。

要抑制错误:
Settings - &gt; Editor - &gt; Language Injections并取消选中下面的框:
python:"SQL select/delete/insert/update/create"

Language Injections

或者,要仅对其中包含 { } 的字符串禁用它,请将Places Pattern的最末端从.*更改为{ {1}}喜欢这样:

[^{}]*

对此:

+ pyStringLiteralMatches("[ \\t\\r\\n]*(((SELECT|DELETE) .*FROM)|((INSERT|REPLACE) .*INTO)|(UPDATE .* SET)|((CREATE|DROP|ALTER) +(TABLE|INDEX))).*")

pyStringLiteralMatches