我是Sublime Text(第3版)的新手,并且在获取正确的SQL语法突出显示方面遇到困难。
每当我查看SQL查询时,ST都会将“#”视为注释。例如,这里#以外的所有内容都会变灰:
INSERT INTO #TEST (A,B,C,D)
VALUES ('a','b','c','d')
我想纠正这个问题,所以我四处寻找答案,但没有一个起作用。
我从C:\Program Files\Sublime Text 3\Packages
查找文件SQL.sublime-package开始。
我在评论部分找到了此文本:
- match: "#"
scope: punctuation.definition.comment.sql
push:
- meta_scope: comment.line.number-sign.sql
- match: \n
pop: true
所以我尝试编辑它:
加载语法文件“ Packages / SQL / SQL.sublime-syntax”时出错:无法读取Packages / SQL / SQL.sublime-syntax
您是否有解决方案可以在Sublime Text 3中突出显示正确的SQL语法?
非常感谢
您走在正确的轨道上;您尝试过的应该为您工作。如果您收到错误消息,表明Sublime无法加载语法,则最可能的原因是您删除了太多文件或以其他一些微妙的方式更改了文件。sublime-syntax
文件是YAML,因此它们对缩进等敏感。
还要注意直接在Packages文件夹中执行任何操作都是一个坏主意;修改sublime-package
文件在短期内可行,但是可以通过删除并替换它们来升级它们。因此,除非您是首先创建文件的人,否则直接修改内容是您在最不希望的将来某个时候毫不客气地删除所做更改的诀窍。
进行以下更改对我有用。这使用OverrideAudit程序包进行更改(免责声明:我是程序包作者)。这样一来,您就可以以安全的方式轻松进行更改,并且还可以知道基础软件包是否已升级。
OverrideAudit: Create Override
SQL
包,然后选择SQL.sublime-syntax
文件comments:
以查看包含所有表示注释的匹配模式的上下文。这应该在第128行附近,具体取决于您使用的Sublime版本 comments:
- match: "--"
scope: punctuation.definition.comment.sql
push:
- meta_scope: comment.line.double-dash.sql
- match: \n
pop: true
- match: "#"
scope: punctuation.definition.comment.sql
push:
- meta_scope: comment.line.number-sign.sql
- match: \n
pop: true
- match: /\*
scope: punctuation.definition.comment.sql
push:
- meta_scope: comment.block.c
- match: \*/
pop: true
comments:
- match: "--"
scope: punctuation.definition.comment.sql
push:
- meta_scope: comment.line.double-dash.sql
- match: \n
pop: true
- match: /\*
scope: punctuation.definition.comment.sql
push:
- meta_scope: comment.block.c
- match: \*/
pop: true
保存文件后,更改应立即生效。如果检查Sublime控制台,则View > Show Console
应该看到一行显示generating syntax summary
,这表明Sublime已经查看并重新加载了语法。如果在此过程中出现错误,则会在此处显示。
执行完这些步骤后,示例文本将呈现如下(使用Adaptive
主题和Monokai
配色方案:
如果您以前修改过实际sublime-package
文件,则此文件可能无效。在这种情况下,您可能需要重新安装Sublime才能取回原始文件。这样做不会删除您的设置。或者,您可以从Sublime网站下载Windows便携式版本(即使您不使用Windows),也可以从那里获取原始软件包来替换您修改过的软件包。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句