如何在phpstorm中禁用SQL代码的高亮显示?我曾经禁用了所有的sql颜色和字体规则继续高亮我的inspection..but字符串颜色规则。下面是我想要实现的一个示例:
$var_php = " all text here is red , SELECT * and whatever sql code is in red too " ;
发布于 2014-03-23 15:15:22
SQL语言被自动注入到包含SQL代码的字符串中(由典型模式检测,例如select xx from
等)。如果你使用特殊的标签(SQL
),它也被注入到HEREDOC/NOWDOC中。
您可以禁用这些(在下面的屏幕截图中选择)和任何其他不需要的注入规则,或者在Settings/Preferences | Editor | Language Injections
上创建自己的注入规则。
SQLP.S.由于您根本不需要任何/DB支持,您可以完全禁用SQL/数据库支持插件。
如果你在一般情况下喜欢这样的注入,但只是不希望它们只在特定的地方(例如,因为误报匹配),那么你可以在该字符串中强制使用纯文本。例如:
$str = /** @lang Text */ 'Select all entries from my cool database';
请注意,这样的注释必须放在实际字符串的前面(这样它就可以用在函数调用参数中或类似的地方),而不是像普通的PHPDoc注释那样放在整个变量赋值/语句之前。
备注:在语言注入规则未自动检测到的某些字符串中强制使用SQL (例如,当字符串被拆分成连接的位或使用未知/意外的序列/语法时)。
发布于 2017-08-30 06:12:24
您可以通过创建一个特别不匹配DQL的新的IntelliLang注入来禁用它,同时保留其他SQL突出显示/检查。我使用了:字符。这将防止IDE突出显示DQL,并将其标记为错误或不正确地重新格式化。
我在这里创建了一个Gist,并给出了说明:
https://gist.github.com/willemnviljoen/d20ad8ad0cc365a7e80744328246610f
发布于 2021-05-18 02:42:28
通常,PHPstorm在决定何时应该将SQL string文本作为SQL代码进行检查方面做得非常好。对于错误的个别情况,禁用单行检查的最“合适”方法可能是另一个答案中提到的PHPDoc注释,例如:
$str = /** @lang Text */ 'Select the answer from the list';
但在我看来,这似乎很混乱。幸运的是,您可以很容易地欺骗PHPstorm,因为如果“句子”中的第一个单词不是SQL关键字(SELECT/UPDATE等),它似乎会忽略字符串。因此,一种简单的方法(虽然有点老套)就是拆分字符串,如下所示:
$str = 'Select'.' the answer from the list';
https://stackoverflow.com/questions/22592354
复制相似问题