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

如何抑制PyCharm中的语法检查?,pycharm,code-inspection,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代码,但是代码语法检查通知我由于{1}而出现语法错误,它说:expected,got'{',这是一个有效点,但我知道我在做什么 对于大多数(如果

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

cursor.execute('SELECT distinct "name_{0}", code, sort_order FROM {1}'.format(get_language(), ProgrammeLevel._meta.db_table))
PyCharm正确地识别字符串包含SQL代码,但是代码语法检查通知我由于{1}而出现语法错误,它说:expected,got'{',这是一个有效点,但我知道我在做什么


对于大多数(如果不是所有的话)PyCharm检查,我可以在正确的位置编写noinspection注释,并关闭某些代码段的检查。我这样做是为了关闭我刚才给出的代码段的PyProtectedMember检查。如何关闭这行代码的语法检查?给NoInspee的检查名称是什么操作注释?

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

要抑制错误,请执行以下操作: 设置->编辑器->语言注入并取消选中显示以下内容的框: python:SQL选择/删除/插入/更新/创建

或者,要仅在包含{}的字符串上禁用它,请将Places模式的最末端从.*更改为[^{}]*如下所示:

为此:

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