嗨,正如标题所暗示的,我如何忽略我的.php文件上的SQL语法高亮?
正如您在上面的图片中看到的那样,Visual Studio Code似乎认为了
'DELETE /api/crm/contact_meetings....'
启动SQL查询并混淆整个文件的突出显示。
我已经尝试检查Visual Studio Code的设置,但无济于事,我似乎找不到相关的配置条目。
答案 0 :(得分:1)
仅需注意,我也使用关键字DELETE进行了体验。此关键字肯定存在某些错误。
到目前为止,我的调查使我相信它要么是针对语言的问题,要么是针对主题的问题。
PHP的语言语法突出显示规则来自Atom的定义-参见此处:https://github.com/atom/language-php/blob/master/grammars/php.cson和此处https://github.com/atom/language-php/issues/321
Visual Studio Code通过php.tmLanguage.json
实现了这一点,您可以在~\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\php\syntaxes
中找到它。
或者,它是一个主题特定的东西,可能在这里~\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\theme-defaults\themes
。
VS Code团队表示,任何贡献或问题都应针对原始存储库(上面已链接)解决。我认为不值得花时间进行进一步的调查,但是欢迎您尝试在那儿提出一个问题:)
如果您碰巧找到了解决方法,请告诉我!
答案 1 :(得分:1)
我遇到了同样的问题,我在蜡笔写的文章的帮助下进行了修复。
只需删除这些行!
〜\ AppData \ Local \ Programs \ Microsoft VS 代码\资源\ app \扩展名\ php \语法\ php.tmLanguage.json
2531: "sql-string-double-quoted": {
2532: "begin": "\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)",
2533: "beginCaptures": {
2534: "0": {
2535: "name": "punctuation.definition.string.begin.php"
2536: }
2537: },
2538: "contentName": "source.sql.embedded.php",
2539: "end": "\"",
2540: "endCaptures": {
2541: "0": {
2542: "name": "punctuation.definition.string.end.php"
2543: }
2544: },
2545: "name": "string.quoted.double.sql.php",
2546: "patterns": [
2547: {
2548: "include": "source.sql"
2549: }
2550: ]
2551: },
2552: "sql-string-single-quoted": {
2553: "begin": "'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)",
2554: "beginCaptures": {
2555: "0": {
2556: "name": "punctuation.definition.string.begin.php"
2557: }
2558: },
2559: "contentName": "source.sql.embedded.php",
2560: "end": "'",
2561: "endCaptures": {
2562: "0": {
2563: "name": "punctuation.definition.string.end.php"
2564: }
2565: },
2566: "name": "string.quoted.single.sql.php",
2567: "patterns": [
2568: {
2569: "include": "source.sql"
2570: }
2571: ]
2572: },
我必须在Crayons的帖子中添加它作为评论,但是我不能,因为我是这里的新手。抱歉。希望对您有帮助。
答案 2 :(得分:0)
我知道这很旧,但我找到了一个简单的答案。
打开 ~\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\php\syntaxes\php.tmLanguage.json
搜索并替换该行(有多个实例)
SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND
与
SELECT|INSERT|UPDATE|DELETE FROM|CREATE|REPLACE|ALTER|AND
这将确保 SQL 格式仅在使用“delete from”时才生效,同时保持正常的语法高亮完好无损。