【问题标题】:How do I change the color of Sublime Text 3 auto-complete with dictionaries (Plist) not CSS?如何使用字典(Plist)而不是 CSS 更改 Sublime Text 3 自动完成的颜色?
【发布时间】:2017-01-21 03:18:19
【问题描述】:

我找到了以下 JSON:

{
  "class": "popup_control",
  "layer0.tint": [33, 33, 33],
  "layer0.opacity": 1.0,
  "content_margin": [0, 0]
},

{
  "class": "auto_complete",
  "row_padding": [12, 6],
  "layer0.tint": [33, 33, 33],
  "layer0.opacity": 1.0
},

{
  "class": "auto_complete_label",
  "fg": [176, 190, 197, 255],
  "match_fg": [128, 203, 196, 255],
  "selected_fg": [255, 255, 255, 255],
  "selected_match_fg": [128, 203, 196, 255]
},

{
  "class": "table_row",
  "layer0.tint": [97, 97, 97],
  "layer0.opacity": 0.0,
},

如何将其转换为 plist?

【问题讨论】:

    标签: sublimetext3


    【解决方案1】:

    您在上面发布的输出不是 CSS,而是 JSON。由于使用的术语,很容易误认为以下两件事:

    • 一个theme,用于在Sublime Text中设置UI的样式,比如标签的颜色和形状,以及使用的字体等等。这些存储在sublime-theme 文件中,该文件是 JSON(不是您的问题提到的 CSS)。

    • color scheme,用于提供用于语法高亮的颜色。它存储在tmTheme 文件中,这是一个 PList (XML) 文件,是从 TextMate 借来的格式。

    因此,无法使用 PList 格式设置您想要设置的样式;你被 JSON 格式困住了。

    但是,问题标题和问题正文提出了不同的问题。为了完整起见,“我如何将这个 JSON 转换为 PList”这个问题的答案是为此目的使用专用工具,例如 this one(在 google 中首次点击),即使在这种情况下纯属学术兴趣。

    但请注意,您问题中发布的 JSON 并非严格符合 JSON;它是数组的主体,在最后一个对象的"layer0.opacity": 0.0 部分后面有一个逗号。

    在第一种情况下,您需要用方括号 [] 将整个内容括起来,在第二种情况下,您需要删除结尾的逗号。

    Sublime 本身对 JSON 中的尾随逗号不敏感;它有一个更宽松的解析器,允许它们和 cmets 一样而不会引发错误。

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 2016-11-27
      • 1970-01-01
      • 2013-07-23
      • 2013-07-05
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      • 2018-09-27
      相关资源
      最近更新 更多