Как изменить цветовую схему в Sublime Text 2 для тегов php
В некоторых темах в возвышенном тексте цвет фона области в определенных тегах, таких как script или php, отличается от остального кода. Например, так в теме iPlastic или в сумерках.
Например: http://imageshack.us/photo/my-images/541/screenshot20130207at342.png/
Я надеюсь добиться того же эффекта в цветовой схеме Tomorrow, которая не имеет этого по умолчанию. Я понимаю, что мне нужно отредактировать файл.tmTheme, но я не уверен в том коде, который должен ввести.
Любая помощь приветствуется.
Спасибо!
2 ответа
Вы должны добавить что-то подобное в свой .tmTheme
файл:
<dict>
<key>name</key>
<string>Embedded source</string>
<key>scope</key>
<string>text source</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FCFCFC</string>
</dict>
</dict>
Конечно, вы можете установить цвета, которые вы предпочитаете.
Открыть с возвышенным .tmTheme
файл, который вы хотите отредактировать, и прежде всего сохраните его под другим именем (но с тем же расширением). Тогда посмотрите на это:
<string>text source</string>
Это присутствует только в некоторых .tmTheme
файлы! В файле iPlastic.tmTheme
файл, который вы упомянули, вы найдете его в этой записи:
<dict>
<key>name</key>
<string>Embedded source</string>
<key>scope</key>
<string>text source</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FAFAFAFC</string>
<key>foreground</key>
<string>#000000</string>
</dict>
</dict>
Если .tmTheme
файлы были записаны в формате JSON вместо этого неуклюжего XML, запись будет выглядеть так:
{
"name": "Embedded source",
"scope": "text source",
"settings": {
"background": "#FAFAFAFC",
"foreground": "#000000"
}
},
В этом случае фоновое значение почти белое (0xFA во всех трех каналах), но немного прозрачное (непрозрачность 0xFC). Результат зависит от background
значение, которое вы найдете в начале файла, которое в данном случае #EEEEEEEB
(обратите внимание на отсутствие name
а также scope
):
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#EEEEEEEB</string>
Непрозрачность 0xEB, насколько я могу судить, здесь игнорируется, поскольку фон по умолчанию #EE
, #FA
с непрозрачностью 0xFC становится более #EE
как #F9
(что имеет смысл).
Теперь, если вы хотите, чтобы заставить фон text source
сфера до некоторого значения, вы должны изменить его <dict>
введите, если он присутствует, и добавьте его, если его нет.
Если, с другой стороны, вы хотите сделать фон из text source
объем равен всем остальным, что вам нужно сделать, это просто удалить его <dict>
запись.
Помните, что 3-байтовое значение типа #AABBCC
является непрозрачным на 100%, т. е. имеет непрозрачность 0xFF, т. е. эквивалентно 4-байтовому значению #AABBCCFF
,
Имейте также в виду, что вы можете поставить модифицированный .tmTheme
файл под, например, PHP
подкаталог Packages
вместо Color Scheme - Default
подкаталог. Это особенно полезно для PHP, где фон по умолчанию находится вне <?php...?>
в то время как один внутри является одним из text source
область действия (это артефакт трюка, используемого для наследования настроек для типа файла HTML). Если ваши PHP-файлы не содержат много HTML (или что-то, что у вас есть за пределами <?php...?>
), вы можете поставить под PHP
тема с фоновым значением для text source
равно значению фона по умолчанию для других типов файлов и другое значение фона по умолчанию только для файлов PHP.