Дело в том, что в html файлах отрабатывает: div.some-class преобразовывается в
при нажатии табуляции, когда курсор стоит в конце конструкции, а в php файлах такая система не работает. Как заставить это работать в php файлах?Ответ
В конфигурации горячих клавиш Emmet по умолчанию про Tab написано следующее:
'atom-text-editor[data-grammar="text html basic"]:not([mini]), atom-text-editor[data-grammar~="erb"]:not([mini]), atom-text-editor[data-grammar~="jade"]:not([mini]), atom-text-editor[data-grammar~="css"]:not([mini]), atom-text-editor[data-grammar~="stylus"]:not([mini]), atom-text-editor[data-grammar~="sass"]:not([mini]), atom-text-editor[data-grammar~="scss"]:not([mini])':
'tab': 'emmet:expand-abbreviation-with-tab'
(Этот селектор пугает ровно до того момента, пока не начнёте смотреть его по секциям, разделённым запятыми: после этого он сразу приобретает смысл)
Чтобы получить этот кусок конфигурации, откройте настройки, Keybindings, наберите в поиске expand-abbreviation и нажмите кнопку напротив tab. Соответствующий кусок конфигурации будет скопирован в буфер обмена.
Формат основан на CSON: как JSON, но с ароматом CoffeeScript
В этом же окне наверху есть ссылка your keymap file. Нажав на неё, вы попадёте в файл конфигурации собственных горячих клавиш. Вставьте туда скопированный кусочек.
Как видно, он имеет формат:
'селектор':
'кнопка': 'команда'
Чтобы указать его действие в PHP-файлах, нужно написать соответствующий селектор. Следуя примерам из настроек по умолчанию, например, такой:
atom-text-editor[data-grammar="text html php"]:not([mini])
(Применимость селекторов можно проверить, открыв DevTools и найдя в DOM узел с редактором, в котором вы хотите, чтобы горячая клавиша действовала. Посмотрите на селектор, на узел, и попробуйте выполнить сопоставление в уме.)
Получится что-то такое:
'atom-text-editor[data-grammar="text html php"]:not([mini])':
'tab': 'emmet:expand-abbreviation-with-tab'
Сохраняйте, пробуйте.
Комментариев нет:
Отправить комментарий