Sublime Text 3 多语言代码高亮
Sublime Text 3 Multiple Language code highlight
我刚升级到 Sublime Text 3。
我正在使用 Sublime Text 2 中现有的配色方案。但现在多语言代码突出显示不再有效。
崇高文本 3
崇高文本 2
谁能帮我想出我的 tmTheme 的自定义范围。
恭喜升级,不错的选择。我正在使用 ST3 Build 3120, the latest development build, so the language definitions may have changed somewhat, but not significantly, if you're using the public beta Build 3114. I also use the Neon Color Scheme (full disclosure: I'm the developer), which has a very large number of specific scopes compared to some other color schemes like Monokai or Solarized which reuse the same colors for a variety of different language features. Finally, since I'm a color scheme designer, I use tools like ScopeHunter
and ScopeAlways
来确定哪些范围和主题元素在文本中的任何位置处于活动状态。
因此,这是您的代码的屏幕截图以及使用 Sublime 的 HTML 语法的其他几行测试:
这里是相同的代码,片刻之后,使用 PHP 语法捕获:
我们可以看到,在左下角,ScopeAlways表示在光标所在的位置,HTML文件的基本作用域是text.html.basic
,而PHP一个是embedding.php text.html.basic
。到目前为止,一切顺利 - 这是正常的。然而,更重要的是,我们可以看到 HTML 和 PHP 之间突出显示的明显差异,包括 id
属性的内容与其他属性相比,以及着色(或缺少其中)嵌入的 PHP 代码(是的,我知道我在底部的隔离 PHP 代码的末尾缺少一个 ;
- 添加一个不会改变任何东西).
因此,如果您还没有使用它,我的第一个建议是将文件的语法设置为 PHP。您可以从底部栏最右侧的菜单中 select,或者通过 selecting View → Syntax →
并从可用选项中进行选择.
如果你已经在使用 PHP 语法,你应该知道自今年年初以来(或多或少),许多 Sublime 的 language description syntax files have been significantly or completely rewritten, PHP and HTML among them. They were in sore need of modernization and speed-up in some cases, and with the advent of the sublime-syntax
format (much more powerful than the old, but still supported, tmLanguage
format), a better regex engine for .sublime-syntax
files, and the hiring by Sublime HQ of Will Bond (of Package Control 名声)做了一个 很多 Jon Skinner(Sublime 的作者)没有时间或兴趣做的事情,Sublime 本身的开发过程以及语法定义(同时是开源的)时间)大幅增加。这是一个非常冗长的说法,很多东西在相对较短的时间内发生了变化,并且使用旧版本的 HTML 和 PHP 语法编写的配色方案mind 可能不适合新版本。因此,如果您是那种人,您可能想要了解新的语法并更新您的配色方案,或者您可以尝试一些其他方案,例如 Neon,它们已经完成了该过程。
回到那个奇怪的 id
突出显示 - 我将很快发布一个新版本的 Neon 来解决这个问题,并为 id
属性的内容着色,就像 class
或任何其他属性。我也会尝试找出他们这样做的原因。
希望对您有所帮助。祝你好运!
我刚升级到 Sublime Text 3。
我正在使用 Sublime Text 2 中现有的配色方案。但现在多语言代码突出显示不再有效。
崇高文本 3
崇高文本 2
谁能帮我想出我的 tmTheme 的自定义范围。
恭喜升级,不错的选择。我正在使用 ST3 Build 3120, the latest development build, so the language definitions may have changed somewhat, but not significantly, if you're using the public beta Build 3114. I also use the Neon Color Scheme (full disclosure: I'm the developer), which has a very large number of specific scopes compared to some other color schemes like Monokai or Solarized which reuse the same colors for a variety of different language features. Finally, since I'm a color scheme designer, I use tools like ScopeHunter
and ScopeAlways
来确定哪些范围和主题元素在文本中的任何位置处于活动状态。
因此,这是您的代码的屏幕截图以及使用 Sublime 的 HTML 语法的其他几行测试:
这里是相同的代码,片刻之后,使用 PHP 语法捕获:
我们可以看到,在左下角,ScopeAlways表示在光标所在的位置,HTML文件的基本作用域是text.html.basic
,而PHP一个是embedding.php text.html.basic
。到目前为止,一切顺利 - 这是正常的。然而,更重要的是,我们可以看到 HTML 和 PHP 之间突出显示的明显差异,包括 id
属性的内容与其他属性相比,以及着色(或缺少其中)嵌入的 PHP 代码(是的,我知道我在底部的隔离 PHP 代码的末尾缺少一个 ;
- 添加一个不会改变任何东西).
因此,如果您还没有使用它,我的第一个建议是将文件的语法设置为 PHP。您可以从底部栏最右侧的菜单中 select,或者通过 selecting View → Syntax →
并从可用选项中进行选择.
如果你已经在使用 PHP 语法,你应该知道自今年年初以来(或多或少),许多 Sublime 的 language description syntax files have been significantly or completely rewritten, PHP and HTML among them. They were in sore need of modernization and speed-up in some cases, and with the advent of the sublime-syntax
format (much more powerful than the old, but still supported, tmLanguage
format), a better regex engine for .sublime-syntax
files, and the hiring by Sublime HQ of Will Bond (of Package Control 名声)做了一个 很多 Jon Skinner(Sublime 的作者)没有时间或兴趣做的事情,Sublime 本身的开发过程以及语法定义(同时是开源的)时间)大幅增加。这是一个非常冗长的说法,很多东西在相对较短的时间内发生了变化,并且使用旧版本的 HTML 和 PHP 语法编写的配色方案mind 可能不适合新版本。因此,如果您是那种人,您可能想要了解新的语法并更新您的配色方案,或者您可以尝试一些其他方案,例如 Neon,它们已经完成了该过程。
回到那个奇怪的 id
突出显示 - 我将很快发布一个新版本的 Neon 来解决这个问题,并为 id
属性的内容着色,就像 class
或任何其他属性。我也会尝试找出他们这样做的原因。
希望对您有所帮助。祝你好运!