Sublime Text 3 - неправильный цвет пробела после обновления - PullRequest
0 голосов
/ 07 мая 2018

Итак, я обновил Sublime Text 3 до версии 3170 в Ubuntu сегодня, и, очевидно, это нарушило мою окраску пробелов - у меня всегда установлен этот параметр:

draw_white_space": "all"

, потому что мне нравится видеть мои пробелы и вкладки втемно-серый - не отвлекающий, но достаточно видимый, чтобы можно было видеть / считать их или находить вкладки, которые вместо этого должны быть пробелами.

После обновления пробелы становятся светло-зелеными, что делает их очень отвлекающими.Есть ли способ установить это обратно на серый?

1 Ответ

0 голосов
/ 08 мая 2018

Одной из особенностей стабильной сборки 3170 (и многих сборок Dev в этой серии) является поддержка invisibles в цветовой схеме tmTheme, а также в новом формате sublime-color-scheme. Это то, что существовало в tmTheme до этого, но Sublime не использовал значение в этом ключе цветовой схемы и вместо этого использовал другой цвет.

На данный момент неясно, какой именно цвет был изначально использован, но, возможно, это был цвет переднего плана с альфа-значением, применяемым для его «затемнения», поэтому для поиска правильного цвета может потребоваться некоторое количество экспериментов.

Побочным эффектом этого изменения является то, что для некоторых цветовых схем у автора цветовой схемы могло быть значение в ключе invisibles, которое ранее не учитывалось, но теперь имеет значение, из-за которого все отображается неправильно. Или правильно, в зависимости от того, как вы на это смотрите.

Вы упомянули в комментариях выше, что вы используете Neon Color Scheme , и в этой схеме значение invisibles установлено на #06FF05, который действительно является зеленым цветом.

Чтобы решить вашу проблему, вам нужно отредактировать цветовую схему, чтобы применить другой цвет к этой части цветовой схемы, чтобы получить нужный серый цвет.

Самый простой способ сделать это - воспользоваться добавлением типа ресурса sublime-color-scheme в Sublime Text. Многие типы ресурсов в Sublime объединяются во время загрузки, чтобы можно было создать partial override.

Оказывается, что в случае этого конкретного формата файлов sublime-color-scheme складывается с tmTheme файлами с одинаковым базовым именем, поскольку они представляются в памяти одинаково после загрузки.

В результате этого вы можете настроить цвет invisibles, создав файл с именем Neon.sublime-color-scheme в пакете User со следующим содержимым:

{
    "globals":
    {
        "invisibles": "#FF00FF"
    }
}

Neon.sublime-color-scheme стекается с Neon.tmTheme из пакета, и, поскольку содержимое пакета User всегда загружается последним, это переопределяет только цвет invisibles (в данном случае пурпурный), но оставляет остальную часть цветовая гамма нетронутая.

Это, конечно, относится к любой цветовой схеме, если вы знаете имя файла tmTheme, который вы используете. Тот же механизм можно использовать для расширения вашей темы, чтобы включить цвета для новых областей или изменить цвета существующих областей, не создавая заново весь новый файл tmTheme или sublime-color-scheme. См. документацию цветовой схемы для получения дополнительной информации.

При этом создается partial override, что означает, что независимо от содержимого базовой цветовой схемы ваши изменения вступят в силу без явного предупреждения. В этом случае это довольно скромно с точки зрения потенциальных проблем.

Другим способом достижения этой цели является внесение изменений в файл tmTheme путем создания override. Это немного сложнее, чем выше, но потенциально все еще полезно. Например, это можно использовать для любого ресурса пакета любого типа, чтобы изменить вещи по своему вкусу.

Чтобы создать такой override:

  1. Установить PackageResourceViewer , если он еще не установлен.
  2. Введите prvo в палитре команд и выберите PackageResourceViewer: Open Resource
  3. Выберите Neon Color Scheme, затем Neon.tmTheme (или соответствующий пакет и файл, в зависимости от того, что вы делаете)
  4. Внесите необходимые изменения в файл и сохраните

Эта последовательность шагов открывает файл ресурсов базового пакета, который вы можете просмотреть и / или изменить. При сохранении файла создается override путем создания папки в папке Packages с именем для пакета и помещения измененного файла внутрь. Когда Sublime загружает ресурсы пакета, версия, распакованная в папке Packages, имеет приоритет над версией в пакете.

В случае файла цветовой схемы tmTheme, в верхней части вы увидите клавишу settings, а внутри нее этот набор тегов устанавливает цвет, используемый для невидимых, который вы можете изменять по мере необходимости. считаю нужным.

<key>invisibles</key>
<string>#06FF05</string>

Как и в случае любого override, после того, как вы сделаете это, ваша версия цветовой схемы (или любой другой ресурс пакета) заменит версию, поставляемую с пакетом, что означает, что если пакет будет обновлен, ваша версия файл по-прежнему будет использоваться без каких-либо предупреждений или сообщений, чтобы сообщить вам, что это происходит.

Это, вероятно, не имеет большого значения для цветовой схемы; пакет OverrideAudit предупредит вас, если это произойдет, если вы беспокоитесь. Кроме того, вы можете внести изменения, как указано выше, но сделать Save As вместо Save и сохранить файл в вашем пакете User, а затем изменить настройку цветовой схемы, чтобы вместо нее использовать эту версию цветовой схемы.

Если вы сделаете это и используете одно и то же имя файла, схема будет дважды отображаться в селекторе цветовых схем; убедитесь, что вы выбрали версию, в которой указано, что она находится в пакете User, чтобы убедиться, что вы используете измененную версию.

...