Как подавить синтаксическую проверку в PyCharm?
Я использую 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 ответов
это контролируется с помощью языковых инъекций, а не проверок.
подавив ошибку:Settings
->Editor
->Language Injections
и снимите флажок, который говорит:python:"SQL select/delete/insert/update/create"
или, чтобы отключить его только на строках с {} в них измените самый конец Places Pattern
С .*
to [^{}]*
вот так:
+ 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)))[^{}]*")