0

0

sublime的配色方案(.tmTheme)文件怎么制作_sublime颜色主题文件结构与编写

冰火之心

冰火之心

发布时间:2025-12-02 16:18:07

|

317人浏览过

|

来源于php中文网

原创

Sublime Text的.tmTheme配色方案基于XML格式,定义语法高亮颜色与样式。根节点为,包含主题元信息(如name、author)和settings数组,后者通过scope匹配语法元素并设置foreground、background、fontStyle等属性。使用Scope Hunter或快捷键查看作用域,结合PackageDev插件辅助编写,参考现有主题可高效创建协调的自定义主题。

sublime的配色方案(.tmtheme)文件怎么制作_sublime颜色主题文件结构与编写

Sublime Text 的配色方案(.tmTheme)文件是基于 XML 格式的,用于定义编辑器中语法高亮的颜色、背景、字体样式等。制作一个 .tmTheme 颜色主题并不复杂,但需要理解其结构和颜色命名规则。

1. tmTheme 文件基本结构

一个典型的 .tmTheme 文件是一个属性列表(plist),使用 XML 编写,遵循 Apple 的 NSPropertyList 格式。根节点是 <plist></plist>,包含一个字典 <dict></dict>,其中定义了主题的元信息和颜色规则。

基本结构如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>name</key>
    <string>My Custom Theme</string>
    <key>author</key>
    <string>Your Name</string>
    <key>comment</key>
    <string>A custom dark theme for Sublime Text.</string>
    <key>gutterSettings</key>
    <dict>
        <key>background</key>
        <string>#282C34</string>
        <key>divider</key>
        <string>#3E4451</string>
    </dict>
    <key>settings</key>
    <array>
        <dict>
            <key>settings</key>
            <dict>
                <key>background</key>
                <string>#282C34</string>
                <key>caret</key>
                <string>#FFFFFF</string>
                <key>foreground</key>
                <string>#ABB2BF</string>
                <key>lineHighlight</key>
                <string>#3E4451</string>
                <key>selection</key>
                <string>#3E4451</string>
                <key>inactiveSelection</key>
                <string>#3E4451</string>
                <key>selectionBorder</key>
                <string>#3E4451</string>
                <key>findHighlight</key>
                <string>#528BFF</string>
                <key>findHighlightForeground</key>
                <string>#FFFFFF</string>
            </dict>
        </dict>
<pre class="brush:php;toolbar:false;">    <!-- 语法作用域着色规则 -->
    <dict>
        <key>name</key>
        <string>Keyword</string>
        <key>scope</key>
        <string>keyword</string>
        <key>settings</key>
        <dict>
            <key>foreground</key>
            <string>#C678DD</string>
            <key>fontStyle</key>
            <string>bold</string>
        </dict>
    </dict>

    <dict>
        <key>name</key>
        <string>String</string>
        <key>scope</key>
        <string>string</string>
        <key>settings</key>
        <dict>
            <key>foreground</key>
            <string>#98C379</string>
        </dict>
    </dict>

    <!-- 更多规则... -->

</array>

2. 关键字段说明

理解以下核心部分有助于自定义主题:

  • name:主题显示名称
  • author:作者名(可选)
  • comment:备注说明
  • gutterSettings:侧边行号栏背景与分隔线颜色
  • settings(全局设置):定义编辑器基础颜色,如背景、光标、选中区域等
  • settings 数组中的 dict:每个条目对应一条语法着色规则,通过 scope 匹配代码中的元素

3. Scope(作用域)系统详解

Sublime 使用 TextMate 的作用域命名系统 来识别不同语法元素。例如:

INFINITE ALBUM
INFINITE ALBUM

面向游戏玩家的生成式AI音乐

下载
  • keyword:语言关键字(如 if, for, return)
  • string:字符串
  • comment:注释
  • constant.numeric:数字常量
  • entity.name.function:函数名
  • variable:变量

你可以使用 Sublime 自带的 Scope Hunter 插件或按下 Ctrl+Alt+Shift+P 查看当前光标位置的作用域路径。

4. 颜色与样式设置

在每条规则的 settings 字典中可以设置:

  • foreground:文字颜色(十六进制,如 #FF0000)
  • background:背景色(慎用,可能影响可读性)
  • fontStyle:字体样式,可选:bolditalicunderline,多个用空格分隔,如 bold italic

示例:

<key>settings</key>
<dict>
    <key>foreground</key>
    <string>#E06C75</string>
    <key>fontStyle</key>
    <string>bold</string>
</dict>

5. 创建与测试主题文件

步骤如下:

  • 新建一个文件,保存为 MyTheme.tmTheme
  • 放入 Sublime 的 Packages/User 目录:
    路径一般为:
    Windows: %APPDATA%\Sublime Text\Packages\User\
    macOS: ~/Library/Application Support/Sublime Text/Packages/User/
    Linux: ~/.config/sublime-text/Packages/User/
  • 重启 Sublime 或使用 Preferences → Color Scheme 中选择你的主题
  • 编辑时可用 View → Developer → Show Scope Name 实时调试作用域

6. 推荐工具与技巧

  • 使用 PackageDev 插件辅助编写 .tmTheme,支持语法高亮和自动补全
  • 参考现有主题(如 Monokai、Solarized)学习常见 scope 的使用方式
  • 颜色建议使用一致的调色板,保持视觉协调
  • 避免在深色主题中使用过亮的背景,防止“发光”效果

基本上就这些。掌握作用域和颜色映射后,你可以逐步构建出符合自己审美的主题。不复杂但容易忽略细节。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

970

2023.08.02

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1561

2023.10.24

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

846

2023.08.22

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1944

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2118

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1162

2024.11.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

738

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.09.04

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.3万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号