Изменение / добавление подсветки синтаксиса для языка в Sublime 2/3
Я хочу изменить / добавить подсветку синтаксиса для языка в Sublime 2/3.
например я хочу ключевое слово this цвета в JavaScript.
как я могу это сделать?
Я знаю, что есть предпочтительный файл JavaScript в C:Program FilesSublime Text 3Packages, но я не знаю, что изменить или если мне нужно создать новый файл предпочтений JavaScript где-то в этой папке %APPDATA%Sublime Text 3.
4 ответа:
подсветка синтаксиса контролируется используемой темой, доступной через
Preferences -> Color Scheme. Темы выделить различные ключевые слова, функции, переменные и т. д. благодаря использованию областей, которые определяются серией регулярных выражений, содержащихся в.tmLanguageфайл в каталоге/пакете языка. Например,JavaScript.tmLanguageфайл назначает областиsource.jsиvariable.language.jsдоthisключевое слово. Поскольку Sublime Text 3 использует.sublime-packageформат zip-файла хранить все настройки по умолчанию это не очень просто для редактирования отдельных файлов.к сожалению, не все темы содержат все области, поэтому вам нужно будет поиграть с разными, чтобы найти тот, который выглядит хорошо, и дает вам подсветку, которую вы ищете. Есть ряд тем, которые включены в Sublime Text, и многие другие доступны через Контрольный Пакет, который я очень рекомендую установить если вы еще не. Убедитесь, что вы следуете ST3 направления.
как это бывает, я разработал
Neon Color Scheme, доступно через Управление пакетами, что вы, возможно,захотите взглянуть. Моя главная цель, помимо того, чтобы сделать широкий спектр языков выглядеть как можно лучше, состояла в том, чтобы определить как можно больше различных областей, как я мог - гораздо больше, чем включены в стандартные темы. Хотя определение языка JavaScript не так тщательно как питона, например,Neonпо-прежнему имеет гораздо больше разнообразия, чем некоторые из значений по умолчанию, таких какMonokaiилиSolarized.
я должен отметить, что я использовал @int3h
Better JavaScriptопределение языка для этого изображения вместо того, который поставляется с Sublime. Его можно установить через Управление пакета.обновление
в последнее время я обнаружил еще одно определение языка замены JavaScript -
JavaScriptNext - ES6 Syntax. Он имеет больше областей, чем базовый JavaScript или даже лучше JavaScript. Это выглядит так на том же коде:
кроме того, поскольку я изначально написал этот ответ, @skuroda выпустила
PackageResourceViewerчерез Управление пакетом. Это позволяет легко просматривать, редактировать и / или извлекать части или весь.sublime-packageпакеты. Таким образом, если вы выберете, вы можете напрямую редактировать цветовые схемы, входящие в комплект Возвышенный.ЕЩЕ ОДНО ОБНОВЛЕНИЕ
С выпуском почти всех пакетов по умолчанию на Github, изменения шли быстро и яростно. Старый синтаксис JS был полностью переписан, чтобы включить лучшие части синтаксиса JavaScript Next ES6, и теперь он полностью совместим с ES6. А Т других изменений были сделаны для того чтобы покрыть случаи угла и края, улучшить последовательность, и как раз общий делает его лучше. Новый синтаксис был включен в последнюю версию (на данный момент)dev build 3111.
если вы хотите использовать любой из новых синтаксисов с текущей beta build 3103, просто клонируйте репозиторий Github где-нибудь и свяжите
JavaScript(или любой язык (ы) вы хотите) в вашPackagesкаталог-найдите его в своей системе, выбравPreferences -> Browse Packages.... Тогда просто сделайтеgit pullв исходном каталоге РЕПО время от времени обновите любые изменения, и вы можете наслаждаться последними и самыми большими! Я должен отметить, что РЕПО использует новый.sublime-syntaxформат вместо старого.tmLanguageодин, поэтому они не будут работать с сборками ST3 до 3084 или с ST2 (в обоих случаях вы должны были обновиться до последней бета-версии или сборки dev в любом случае).в настоящее время я настраиваю свою неоновую цветовую схему для обработки всех новых областей в новом синтаксисе JS, но большинство из них уже должно быть покрыто.
я, наконец, нашел способ настроить данные темы.
на
C:\Program Files\Sublime Text 3\Packagesи копирование + переименованиеColor Scheme - Default.sublime-packageдоColor Scheme - Default.zip. После этого распакуйте его и скопируйте тему, которую вы хотите изменить на%APPDATA%\Sublime Text 3\Packages\User. (В моем случаеAll Hallow's Eve.tmTheme).затем вы можете открыть его с помощью любого текстового редактора и изменить / добавить что-то, например для изменения
thisв JavaScript:<dict> <key>name</key> <string>Lang Variable</string> <key>scope</key> <string>variable.language</string> <key>settings</key> <dict> <key>foreground</key> <string>#FF0000</string> </dict> </dict>это будет знаком
thisв файлах JavaScript красный. Вы можете выбрать свою тему в разделеPreferences -> Color Scheme -> User -> <Your Name>.
использовать PackageResourceViewer плагин установлен через Управление пакетами (как уже упоминалось MattDMo). Это позволяет переопределить сжатые ресурсы, просто открыв его в Sublime Text и сохранив файл. Он автоматически сохраняет только отредактированные ресурсы в %APPDATA% / Roaming/Sublime Text 3/ Packages /или~/.config/sublime-text-3/Packages/.
специфичный для op, как только плагин установлен, выполните . Затем выберите
JavaScriptдалее следуетJavaScript.tmLanguage. Это откроет xml-файл в Редакторе. Вы можете изменить любое из определений языка и сохранить файл. Это позволит написать переопределенную копию JavaScript.tmLanguage файл в каталоге пользователя.тот же метод может быть использован для редактирования определения языка любого языка в системе.

