Русское сообщество Sublime Text

Основной раздел => Вопросы и ответы => Тема начата: Levin249 от Мая 13, 2014, 03:48:41

Название: Не работают сниппеты
Отправлено: Levin249 от Мая 13, 2014, 03:48:41
Ребят, день добрый!
Проблема такая: во второй версии сниппеты работают ок. Поставил 3. Даже простейший сниппет на вставку текста не срабатывает. Если выбрать через Tools-Snippets и жмакнуть то все ок - вставляет, а через Tab нет. В чем может быть проблема? :o

P.S. Установлены следующие плагины:
AdvancedNewFile
BracketHighlighter
Emmet
Package Control
PyV8
SublimeLinter
Название: Re: Не работают сниппеты
Отправлено: Loac от Мая 13, 2014, 11:10:44
Скинь пример снипета, пожалуйста.

Через меню снипеты вызываются по имени файла, в котором они находятся (например: Snippet: hello для hello.sublime-snippet), а в коде через параметр <tabTrigger>.

<snippet>
  <content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
  <tabTrigger>hello</tabTrigger>
</snippet>
Название: Re: Не работают сниппеты
Отправлено: Levin249 от Мая 14, 2014, 01:51:34
Пример сниппета... Ну например код на сброс стилей CSS.
<snippet>
<content><![CDATA[
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd,
q, s, samp,small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt,
dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot,
thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark,
audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu,
nav, section {
display: block;
}
body {
line-height: 1.2;
}
ol {
padding-left: 1.4em;
list-style: decimal;
}
ul {
padding-left: 1.4em
list-style: square;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
]]></content>
<tabTrigger>resetcss</tabTrigger>
<scope>source.css</scope>
</snippet>
Название: Re: Не работают сниппеты
Отправлено: Loac от Мая 14, 2014, 11:31:34
Работу снипетов блокирует Emmet. Нашел несколько вариантов решения.

1. Отключить Emmet в CSS.

Preferences > Package Settings > Emmet > Settings - User
{
  "disable_tab_abbreviations_for_scopes": "source.css"
}

2. Использовать Ctrl+Space (Edit > Show Completions) вместо Tab. Кстати, у меня еще снипет раскрывается по Tab'y, если аббривеатуру выделить.

3. Отключить использование табуляции в Emmet и пользоваться Ctrl+E.

Preferences > Settings - User.
{
"disable_tab_abbreviations": true,
}

4. Добавить снипеты в Emmet (http://docs.emmet.io/customization/snippets/).

У последнего варианта очень странное поведение.

Preferences > Package Settings > Emmet > Settings - User

{
  "snippets": {
    "css": {
      "abbreviations": {
        "resetcss": "<div>"
      }
    }
  }
}

Например, так resetcss сработает как прописано в resetcss.sublime-snippet, но если "<div>" изменить на "div", то он отработает как снипет Emmet.
Название: Re: Не работают сниппеты
Отправлено: Levin249 от Мая 20, 2014, 02:19:05
Огромное спасибо за развернутый ответ. Буду пробовать.
Попробовал вставку через Ctrl+Space - очень удобно на этом и остановлюсь :)