Изменение / добавление подсветки синтаксиса для языка в 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 файл в каталоге пользователя.тот же метод может быть использован для редактирования определения языка любого языка в системе.