我想按照我想要的颜色源代码。例如,如果我有这段代码
<script>
var x = 1;
function yu() {
document.getElementById("e").innerHTML = "O";
}
</script>
我想为整个功能(第3,4,5行)着色,或者只为一行或一个颜色着色。我不希望崇高的文字根据单词的类型为每个单词着色。
如果它不能用崇高的文本完成,你知道其他源代码编辑器或IDE吗?
答案 0 :(得分:2)
您可以编写符合条件的自定义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
部分,涵盖了大部分基础知识以及测试区域,因此您可以在学习时尝试。