Sublimetext3 使用自定义语法高亮显示时切换注释快捷方式

Sublimetext3 使用自定义语法高亮显示时切换注释快捷方式,sublimetext3,Sublimetext3,我尝试为Sublime创建自定义语法。我在他们的教程中包含了这一行: contexts: main: - match: '//' scope: punctuation.definition.comment.example-c push: # This is an anonymous context push for brevity. - meta_scope: comment.line.double-slash.example-

我尝试为Sublime创建自定义语法。我在他们的教程中包含了这一行:

contexts:
  main:
    - match: '//'
      scope: punctuation.definition.comment.example-c
      push:
        # This is an anonymous context push for brevity.
        - meta_scope: comment.line.double-slash.example-c
        - match: $\n?
          pop: true

这与我的脚本中的注释完全一致。但是,我使用的切换注释开/关命令+/的快捷方式不起作用。有没有办法让“切换注释”快捷方式与自定义语法一起工作?

有关注释内容的元信息不是来自语法,而是来自您自己创建的tmPreferences文件

按照上面的示例语法,看起来是这样的:根据需要将范围更改为适当的顶级范围:

名称 评论 范围 来源.示例-c 设置 外壳变量 名称 TM_注释_开始 价值 // 名称 TM_注释_开始_2 价值 /* 名称 TM_注释_结束_2 价值 */ uuid 1d23fd10-e62f-4de8-a8d1-42e64e3f5fb7 你给文件起的名字并不重要,只是文件的扩展名和它是否被保存在一个包中;如果你还没有一个特定的软件包,就把它放在你的用户软件包中。常见的约定类似于包含语法的包根中的Comments.tmPreferences

这说明了两件事;首先,可以有多个TM_COMMENT_开始类型项,并且还可以选择与匹配的TM_COMMENT_结束项配对

单独使用时,如TM_COMMENT_START,注释是行注释,而成对使用时,则指定注释是需要开始和结束对的块注释

如果可能的话,升华会根据生成注释的命令的参数使用一个或另一个。因此,如果有两个定义如下,那么您将得到一个行注释,除非有选中的文本,在这种情况下,您将得到一个块注释

如果只定义了行注释或块注释,则只会得到该注释样式,而不会得到其他注释。例如,这就是为什么HTML只注释块并将单行视为块的原因

还请注意,可以有任意数量的TM_注释项/对,但升华将仅自动使用每种类型的第一个。不过,您编写的插件可以访问其他插件