Расширение плагина Emmet не работает для Sublime Text 3

Я успешно установил Emmet через Package Control.

  • Когда я набираю ul и нажимаю Tab, я получаю <ul></ul>.
  • Когда я набираю ul.class и нажимаю Tab, я получаю ul.body_class, но я хочу, чтобы он сгенерировал <ul class="class"></ul>.

Что я делаю не так?

Я читал сообщения, говорящие о том, чтобы попробовать Ctl+E вместо Tab в качестве триггерной клавиши, но это ничего не делает.


person draney    schedule 23.08.2015    source источник


Ответы (5)


Вместо этого попробуйте использовать Ctrl+Пробел. Если это не сработает, вы можете попробовать изменить привязку клавиш, поместив следующее в свой файл привязок клавиш пользователя, который можно найти, выполнив Настройки -> Привязки клавиш — Пользователь:

[
    {"keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}]}
]

а затем просто измените "tab" на любую комбинацию клавиш, которую вы хотите. Проверьте, работает ли это.

person Saad    schedule 24.08.2015
comment
‹kbd›Ctrl‹/kbd›+‹kbd›Пробел‹/kbd› ничего не сделал, поэтому я отредактировал привязки клавиш, как было предложено, но это не помогло. Если я наберу ul.class + Tab, он просто переместится вправо без расширения кода. Вот мой контент привязки клавиш пользователя: [ { "keys": ["ctrl+alt+f"], "command": "reindent" }, { "keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}] } ] - person draney; 25.08.2015

Прочитав ваш вопрос, сегодня я установил Emmet в версию Sublime Text 3 для Windows и столкнулся с той же проблемой. В поисках решения я нашел следующее:

http://docs.emmet.io/actions/expand-abbreviation/#comment-1272517661

В Windows я открыл настройки Emmet по умолчанию. Перейдя к:

Настройки > Настройки пакета > Emmet > Настройка — по умолчанию и Настройки > Настройки пакета > Emmet > Привязки клавиш — по умолчанию

Когда я закрывал файлы настроек, мне было предложено сохранить файлы настроек. Я нажал OK, чтобы сохранить, а затем перезапустил Sublime Text 3.

После перезагрузки Sublime Text 3: я создал новый html-файл и смог ввести ul.class, с вкладками, и он расширился до <ul class></ul>

Это было забавно, я никогда не сталкивался с этой проблемой с Sublime на своем Mac. Если вам нужно было выполнить тот же процесс на Mac, перейдите в «Настройки»> «Настройки пакета»> «Emmet…».

person John Gratton    schedule 24.08.2015
comment
Странный. Когда я иду в «Настройки» > «Настройки пакета», оттуда мой единственный вариант — «Управление пакетами». Я вижу настройки Emmet как вариант для редактирования. Кроме того, когда я открываю какие-либо другие файлы настроек, мне не предлагается их сохранить, если только я не внес изменения. - person draney; 25.08.2015
comment
Вы уверены, что Emmet был установлен правильно? Можете ли вы открыть панель команд с помощью Ctrl+Shift+P, выполнить Package Control: List Packages и убедиться, что Эммет есть в списке? - person Saad; 25.08.2015
comment
Вы пытались удалить emmet в возвышенном, перезапустить возвышенное, а затем снова запустить процедуру установки? Кроме того, какая платформа? Винда, Мак, Линукс? - person John Gratton; 26.08.2015
comment
Все, что я сделал после прочтения этого, это зашел в «Мои настройки»> «Настройки пакета»> «Emmet»> «Пользователь привязок клавиш» (а также по умолчанию, но это не позволило мне сохранить значение по умолчанию) и набрал один пробел, чтобы внести изменения, сохранить, перезапустить ST3 и он снова работает! - person Vasily Hall; 15.08.2016

Я столкнулся с той же проблемой. Просто вставьте приведенный ниже код в «Настройки -> Привязки клавиш — Пользователь:».

{
  "keys": ["tab"], 
  "command": "expand_abbreviation_by_tab", 

  // put comma-separated syntax selectors for which 
  // you want to expandEmmet abbreviations into "operand" key 
  // instead of SCOPE_SELECTOR.
  // Examples: source.js, text.html - source
  "context": [
    {
      "operand": "SCOPE_SELECTOR", 
      "operator": "equal", 
      "match_all": true, 
      "key": "selector"
    }, 

    // run only if there's no selected text
    {
      "match_all": true, 
      "key": "selection_empty"
    },

    // don't work if there are active tabstops
    {
      "operator": "equal", 
      "operand": false, 
      "match_all": true, 
      "key": "has_next_field"
    }, 

    // don't work if completion popup is visible and you
    // want to insert completion with Tab. If you want to
    // expand Emmet with Tab even if popup is visible -- 
    // remove this section
    {
      "operand": false, 
      "operator": "equal", 
      "match_all": true, 
      "key": "auto_complete_visible"
    }, 
    {
      "match_all": true, 
      "key": "is_abbreviation"
    }
  ]
}

Github: см. более подробное описание< /а>

person Ashish Singh Rawat    schedule 13.08.2016

Я проверяю, что ключ emmet по умолчанию — ctrl+e, поэтому я добавляю это к своему Key Bindings - User:

{"keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}]}
person wei zhu    schedule 08.09.2016

Я поделюсь этим как комментарий напрямую, где я чувствую, но требовалось 50 повторений. В любом случае. Вот что я сделал, что заставило меня работать на меня.

Из ответа @saadq сделайте следующее: [/здесь должны быть другие привязки пользовательских клавиш, а затем

{"keys": ["tab"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"}]}

]

Дело в том, что другие привязки появляются перед ним, чтобы любая привязка, перезаписывающая его, была перезаписана снова.

person Michael Iyke    schedule 23.05.2018