我想更改/添加Sublime 2/3中一种语言的语法突出显示。
例如,我希望关键字this
在JavaScript中着色。
我怎样才能做到这一点?
我知道其中有一个首选项JavaScript文件C:\Program Files\Sublime Text 3\Packages
,但是我不知道要更改什么,或者是否必须在此文件夹中的某个位置创建一个新的JavaScript首选项文件%APPDATA%\Sublime Text 3
。
语法突出显示由您使用的主题控制,可通过访问Preferences -> Color Scheme
。主题通过使用范围来突出显示不同的关键字,函数,变量等,这些范围由.tmLanguage
语言目录/包中文件中包含的一系列正则表达式定义。例如,JavaScript.tmLanguage
文件分配范围source.js
和variable.language.js
到this
关键字。由于Sublime Text 3使用.sublime-package
zip文件格式来存储所有默认设置,因此编辑单个文件不是很简单。
不幸的是,并非所有主题都包含所有范围,因此您需要尝试不同的主题才能找到看起来不错的主题,并为您提供所需的突出显示。Sublime Text包含许多主题,而Package Control提供了更多主题,如果您还没有的话,我强烈建议安装。确保遵循ST3指示。
碰巧的是,我已经开发了Neon Color Scheme
可通过Package Control使用的,您可能想看看。除了试图使多种语言看起来尽可能好外,我的主要目标是要确定尽可能多的不同范围-比标准主题包含的范围还要多。例如,虽然JavaScript语言定义不如Python完整,Neon
但与某些默认值(如Monokai
或)相比,多样性仍然要多得多Solarized
。
我应该注意,我Better JavaScript
为该图像使用了@ int3h的语言定义,而不是Sublime附带的语言定义。可以通过Package Control安装。
更新
最近,我发现了另一个JavaScript替代语言定义- JavaScriptNext - ES6 Syntax
。它具有比基本JavaScript甚至更好的JavaScript更大的作用域。在相同的代码上看起来像这样:
另外,自从我最初写这个答案以来,@ skuroda已经PackageResourceViewer
通过Package Control发布了。它使您可以无缝地查看,编辑和/或提取部分或整个.sublime-package
程序包。因此,如果您选择,则可以直接编辑Sublime随附的配色方案。
另一个更新
With the release of nearly all of the default packages on Github, changes have been coming fast and furiously. The old JS syntax has been completely rewritten to include the best parts of JavaScript Next ES6 Syntax, and now is as fully ES6-compatible as can be. A ton of other changes have been made to cover corner and edge cases, improve consistency, and just overall make it better. The new syntax has been included in the (at this time) latest dev build 3111.
如果您想在当前的beta版本3103中使用任何新语法,只需在某个位置克隆Github存储库,然后将JavaScript
(或您想要的任何一种或多种语言)链接到Packages
目录中-选择即可在系统上找到它Preferences -> Browse Packages...
。然后,只需git pull
不时在原始repo目录中执行a即可刷新所有更改,您就可以享受到最新,最精彩的内容!我应该注意,仓库使用的是新.sublime-syntax
格式,而不是旧格式.tmLanguage
,因此它们不适用于3084之前的ST3版本或ST2(无论如何,您都应该升级到最新的Beta或dev版本)。
我目前正在调整霓虹灯配色方案,以处理新JS语法中的所有新范围,但大多数内容应该已经涵盖。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句