gpt4 book ai didi

syntax-highlighting - 在 Sublime 2/3 中更改/添加语言的语法突出显示

转载 作者:行者123 更新时间:2023-12-03 04:59:52 24 4
gpt4 key购买 nike

我想在 Sublime 2/3 中更改/添加某种语言的语法突出显示。

例如,我希望关键字 this 在 JavaScript 中着色。

我怎样才能做到这一点?

我知道 C:\Program Files\Sublime Text 3\Packages 中有一个首选项 JavaScript 文件,但我不知道要更改什么,或者是否必须创建新的 JavaScript首选项文件位于此文件夹 %APPDATA%\Sublime Text 3 中。

最佳答案

语法突出显示由您使用的主题控制,可通过首选项 -> 配色方案访问。主题通过使用范围来突出显示不同的关键字、函数、变量等,这些范围由语言目录/包中的 .tmLanguage 文件中包含的一系列正则表达式定义。例如,JavaScript.tmLanguage 文件将范围 source.jsvariable.language.js 分配给 this 关键字。由于 Sublime Text 3 使用 .sublime-package zip 文件格式来存储所有默认设置,因此编辑单个文件并不是很简单。

不幸的是,并非所有主题都包含所有范围,因此您需要尝试不同的主题才能找到一个看起来不错的主题,并为您提供所需的突出显示。 Sublime Text 中包含许多主题,更多主题可通过 Package Control 获得。 ,如果您尚未安装,我强烈建议您安装。确保您遵循ST3 directions

碰巧的是,我开发了 Neon Color Scheme ,可通过 Package Control 获取,您可能想查看一下。我的主要目标,除了试图使广泛的语言看起来尽可能好之外,是确定尽可能多的不同范围 - 比标准主题中包含的范围要多得多。例如,尽管 JavaScript 语言定义不如 Python 那样彻底,但 Neon 仍然比 MonokaiSolarized< 等默认语言具有更多的多样性。/.

jQuery highlighted with Neon Theme

我应该注意到我使用了@int3h的Better JavaScript该图像的语言定义而不是 Sublime 附带的语言定义。它可以通过包控制安装。

更新

最近我发现了另一种 JavaScript 替代语言定义 - JavaScriptNext - ES6 Syntax 。它比基本 JavaScript 甚至更好的 JavaScript 具有更多的范围。在相同的代码上看起来像这样:

JavaScriptNext

此外,由于我最初写了这个答案,@skuroda 已经发布了 PackageResourceViewer通过包控制。它允许您无缝查看、编辑和/或提取部分或整个 .sublime-package 包。因此,如果您选择,您可以直接编辑 Sublime 中包含的配色方案。

另一个更新

随着几乎所有默认包的发布 on Github ,变化来得又快又猛。旧的 JS 语法已完全重写,以包含 JavaScript Next ES6 语法的最佳部分,现在已尽可能完全兼容 ES6。为了涵盖角落和边缘情况、提高一致性以及总体上使其变得更好,还进行了大量其他更改。新语法已包含在(此时)最新的 dev build 中。第3111章

如果您想在当前 beta build 中使用任何新语法3103,只需将 Github 存储库克隆到某个位置并将 JavaScript(或您想要的任何语言)链接到您的 Packages 目录中 - 通过选择 在您的系统上找到它>首选项 -> 浏览包...。然后,只需时不时地在原始 repo 目录中执行一次 git pull 来刷新任何更改,您就可以享受最新最好的!我应该注意的是,该存储库使用新的 .sublime-syntax格式而不是旧的 .tmLanguage 格式,因此它们无法与 3084 之前的 ST3 版本或 ST2 一起使用(在这两种情况下,您都应该升级到最新的 beta 或 dev 版本)。

我目前正在调整我的 Neon 配色方案来处理新 JS 语法中的所有新范围,但大多数应该已经涵盖了。

关于syntax-highlighting - 在 Sublime 2/3 中更改/添加语言的语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18067781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com