Sublime Text:如何更正 SQL 服务器语法
Sublime Text: how to correct SQL Server syntax
我是 Sublime Text(第 3 版)的新手,在获得正确的 SQL 语法高亮显示方面遇到困难。
每当我查看 SQL 查询时,ST 都会将“#”视为注释。
例如,此处 # 以外的所有内容都会变灰:
INSERT INTO #TEST (A,B,C,D)
VALUES ('a','b','c','d')
我想更正这个问题,所以我四处寻找答案 几周 但其中 none 有效...
我首先在 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
所以我试着编辑它:
- 删除文本块导致 Sublime Text 错误:
Error loading syntax file "Packages/SQL/SQL.sublime-syntax": Unable
to read Packages/SQL/SQL.sublime-syntax
- 将 # 符号更改为其他内容(例如“--”):无效
您是否有在 Sublime Text 3 中获得正确 SQL 语法突出显示的解决方案?
非常感谢
你走在正确的轨道上;你试过的应该对你有用。如果你得到一个错误提示 Sublime 无法加载语法,最可能的原因是你删除了太多或者以其他一些微妙的方式改变了文件。 sublime-syntax
文件是 YAML,因此它们对缩进等内容很敏感。
另请注意,直接在 Packages 文件夹中执行任何操作都是一个坏主意;修改 sublime-package
文件在短期内有效,但通过删除和替换它们来升级它们。因此,除非您是第一个创建该文件的人,否则直接修改内容是您的更改会在您最不期望的某个时间点被毫不客气地删除的秘诀。
进行以下更改对我有用。这使用 OverrideAudit 包进行更改(免责声明:我是包作者)。这将使您可以轻松地以安全的方式进行更改,并让您知道底层包是否已升级。
- 安装OverrideAudit
- 从命令面板,select
OverrideAudit: Create Override
- Select
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
- 保存语法文件。
保存文件后,更改会立即生效。如果你用 View > Show Console
检查 Sublime 控制台,你应该看到一行 generating syntax summary
,这表明 Sublime 已经看到并重新加载了语法。如果在此过程中出现错误,将在此处显示。
执行这些步骤后,您的示例文本呈现如下(使用 Adaptive
主题和 Monokai
配色方案:
如果您之前修改过实际的 sublime-package
文件,这可能不起作用。在这种情况下,您可能需要重新安装 Sublime 才能取回原始文件;这样做不会删除您的设置。或者,您可以从 Sublime 网站下载 Windows 便携式版本(即使您没有使用 windows)并从那里获取原始包以替换您修改的包。
最佳解决方案:
不删除:
- 匹配:“#”(对于 tmp table)
...
但只插入 space:
- 匹配:“#”(用于注释 MySQL,...)
我是 Sublime Text(第 3 版)的新手,在获得正确的 SQL 语法高亮显示方面遇到困难。
每当我查看 SQL 查询时,ST 都会将“#”视为注释。 例如,此处 # 以外的所有内容都会变灰:
INSERT INTO #TEST (A,B,C,D)
VALUES ('a','b','c','d')
我想更正这个问题,所以我四处寻找答案 几周 但其中 none 有效...
我首先在 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
所以我试着编辑它:
- 删除文本块导致 Sublime Text 错误:
Error loading syntax file "Packages/SQL/SQL.sublime-syntax": Unable to read Packages/SQL/SQL.sublime-syntax
- 将 # 符号更改为其他内容(例如“--”):无效
您是否有在 Sublime Text 3 中获得正确 SQL 语法突出显示的解决方案?
非常感谢
你走在正确的轨道上;你试过的应该对你有用。如果你得到一个错误提示 Sublime 无法加载语法,最可能的原因是你删除了太多或者以其他一些微妙的方式改变了文件。 sublime-syntax
文件是 YAML,因此它们对缩进等内容很敏感。
另请注意,直接在 Packages 文件夹中执行任何操作都是一个坏主意;修改 sublime-package
文件在短期内有效,但通过删除和替换它们来升级它们。因此,除非您是第一个创建该文件的人,否则直接修改内容是您的更改会在您最不期望的某个时间点被毫不客气地删除的秘诀。
进行以下更改对我有用。这使用 OverrideAudit 包进行更改(免责声明:我是包作者)。这将使您可以轻松地以安全的方式进行更改,并让您知道底层包是否已升级。
- 安装OverrideAudit
- 从命令面板,select
OverrideAudit: Create Override
- Select
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
- 保存语法文件。
保存文件后,更改会立即生效。如果你用 View > Show Console
检查 Sublime 控制台,你应该看到一行 generating syntax summary
,这表明 Sublime 已经看到并重新加载了语法。如果在此过程中出现错误,将在此处显示。
执行这些步骤后,您的示例文本呈现如下(使用 Adaptive
主题和 Monokai
配色方案:
如果您之前修改过实际的 sublime-package
文件,这可能不起作用。在这种情况下,您可能需要重新安装 Sublime 才能取回原始文件;这样做不会删除您的设置。或者,您可以从 Sublime 网站下载 Windows 便携式版本(即使您没有使用 windows)并从那里获取原始包以替换您修改的包。
最佳解决方案:
不删除: - 匹配:“#”(对于 tmp table) ...
但只插入 space: - 匹配:“#”(用于注释 MySQL,...)