【问题标题】:How can I change text colour in sublime text?如何更改崇高文本中的文本颜色?
【发布时间】:2016-05-09 10:09:35
【问题描述】:

我想为源代码上色。例如,如果我有这个代码

<script>
var x = 1;
function yu() {
           document.getElementById("e").innerHTML = "O";
}
</script>

我想为整个函数着色(第 3、4、5 行),或者只为一行或一个单词着色。我不希望 sublime text 根据单词的类型为每个单词着色。

如果不能在 sublime 文本中完成,你知道其他源代码编辑器或 IDE 可以这样做吗?

【问题讨论】:

    标签: text colors ide


    【解决方案1】:

    您可以编写符合您标准的自定义syntax,并将其设置为您希望影响的任何文件类型的默认语法。


    这是一个影响扩展名为.MyExtension的文件的基本语法示例

    保存以下代码@:
    Packages/MySyntaxFiles/MyCustomSyntax.sublime-syntax

    %YAML 1.2
    
    ---
    
    name: MyCustomSyntax
    file_extensions: [ MyExtension ]
    scope: source.MyScopeName
    
    contexts:
    
      main:
        - match: '\bfunction.*?{'
          push: function
        - match: '\b<.+?>\b'
          scope: entity.name.tag
    
      function:
        - meta_scope: entity.name.function
        - include: braces
    
      braces:
        - match: '{'
          push: braces
        - match: '}'
          pop: true
    

    注意: 此示例满足您提供的代码示例的最低要求。您可能需要详细说明此模板,以使其完全满足您的实际使用要求。


    资源:

    SublimeText > Official Documentation > Syntax

    SublimeText > Unofficial Documentation > Syntax Definitions

    ScopeHunter
    使用它来查找您可能想要复制的范围

    PackageResourceViewer
    用它打开现有的 sublime-syntax文件供参考

    Color Schemes
    浏览包含的 tmTheme文件以查看常用范围。
    为了最大限度地定制:创建您自己的
    tmTheme 文件以匹配您的语法和范围。

    RegExr
    您需要了解 RegEx 的基本知识才能定义范围匹配。
    RegExr 有一个出色的
    Reference 部分,其中涵盖了大部分基础知识,以及一个测试区域,因此您可以在学习时尝试一下。

    【讨论】:

    • 感谢@KeithHall 对括号匹配的改进:)
    猜你喜欢
    • 1970-01-01
    • 2012-06-01
    • 2015-05-07
    • 2013-10-14
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    相关资源
    最近更新 更多