2016-08-22 2 views
0

Я просто повышен до Sublime Text 3.Sublime Text 3 Многоязычного код изюминки

Я использую свою существующую схему цвета из Sublime Text 2. Но теперь несколько код языка подсветка больше не работает.

Sublime Text 3 Sublime Text 3

Sublime Text 2 Sublime Text 2

Может кто-то помочь мне comeup с настраиваемой области для моего tmTheme.

ответ

1

Поздравляем вас с обновлением, это был хороший выбор. Я использую ST3 Build 3120, последнюю версию разработки, поэтому определения языка могут несколько измениться, но не значительно, если вы используете public beta Build 3114. Я также использую Neon Color Scheme (полное описание: Я разработчик), который имеет очень большое количество конкретных областей по сравнению с некоторыми другими цветовыми схемами, такими как Monokai или Solarized, которые используют одни и те же цвета для множества различных языковых функций. Наконец, поскольку я дизайнер цветовой схемы, я использую такие инструменты, как ScopeHunter и ScopeAlways, чтобы определить, какие области и элементы элементов активны в любой точке текста.

Итак, вот ScreenCap вашего кода плюс несколько других тестов линий с помощью Sublime в HTML синтаксис:

HTML

и здесь тот же код, моменты позже, захваченный с помощью синтаксиса PHP:

PHP

что мы можем видеть, что, в нижнем левом углу, ScopeAlways указывает, что, в положении курсора, базовый объем HTML файла text.html.basic, а PHP - embedding.php text.html.basic. Пока что так хорошо - это нормально. Что еще более важно, однако, мы можем видеть очевидную разницу в подсветке между HTML и PHP, включая содержимое атрибута id по сравнению с другими атрибутами, а также окраску (или отсутствие) встроенного кода PHP (да, я знаю Мне не хватает ; в конце изолированного кода PHP внизу - добавление одного из них ничего не меняет).

Итак, мое первое предложение было бы, если вы еще не используете его, - установить синтаксис файла на PHP. Вы можете выбрать из меню в правой нижней части нижней панели или выбрав View → Syntax → и выбрав один из доступных вариантов.

Если вы уже используете синтаксис PHP, вы должны знать, что с начала этого года (более или менее) многие из Sublime's language description syntax files были полностью или полностью переписаны, среди них PHP и HTML. В некоторых случаях они испытывали острую потребность в модернизации и ускорении, а с появлением формата sublime-syntax (гораздо более мощного, чем старый, но все еще поддерживаемый формат tmLanguage), лучший механизм регулярного выражения для файлов .sublime-syntax и найм by Sublime HQ of Will Bond (Package Control славы) сделать лот вещей, которые Джон Скиннер (автор Sublime) не имел времени или интереса к этому, процесс разработки как самого Sublime, так и определения синтаксиса (которые были открытыми в то же время) значительно возросла.Это очень длинный способ сказать, что за несколько минут изменилось много материала, а цветовые схемы, которые были написаны со старыми версиями синтаксисов HTML и PHP, могут быть не идеальными для новых версии. Таким образом, вы можете либо пройти через новые синтаксисы, либо обновить свою цветовую схему, если вы такой человек, или вы можете попробовать другие схемы, такие как Neon, которые уже прошли через этот процесс.

Возвращаясь к этому странному id на первый план - я собираюсь выпустить новую версию Неона довольно скоро, что устраняет эту проблему, и цвет содержимого атрибута id так же, как class или любой другого атрибута. Я также попытаюсь выяснить, почему они это сделали.

Надеюсь, это поможет. Удачи!

+0

Похоже, что текущая стабильная версия ST3 Build 31114 не работает. Я попробовал установленную вами бета-версию, и она работает как шарм. Спасибо что подметил это. – 3s2ng

+0

@ 3s2ng это интересно, какие проблемы у вас были с 3114? Отслеживание ошибок для пакетов находится на Github на связанном мной сайте, для всех других вопросов вы можете проверить отслеживание проблем [здесь] (https://github.com/SublimeTextIssues/Core). Лично я предпочитаю сборщику dev, потому что они получают последние положительные эффекты, * и * они, как правило, немного более стабильны, поскольку ошибки, связанные с убийством, исправляются быстро. Однако публичные сборки не должны содержать никаких ошибок. – MattDMo