добавить пользовательские фрагменты в emmet

Я использую emmet с скобками. В этом файле lib/AppSupport/Brackets/extensions/user/brackets-emmet/snippets.json я добавляю эту строку в нужном месте:

"clearfix":".clearfix:before, .clearfix:after { content: \" \"; display: table; } .clearfix:after { clear: both; } /* For IE 6/7 only */ .clearfix { *zoom: 1; }",

Это работает, но это не похоже на хорошую практику, поэтому я пытаюсь создать другой файл mysnippets.json в той же папке с этим крошечным образцом:

{
  "css": {
    "snippets": {
       "test": "ok"
    }
  }
} 

Но это не работает (после сохранения/перезапуска).

Можно ли добавить внешний json в ту же папку? Что изношено?


person benoît    schedule 27.05.2014    source источник
comment
См. docs.emmet.io/customization и github.com/emmetio/brackets-emmet#extensions-support   -  person Sergey Chikuyonok    schedule 28.05.2014


Ответы (5)


Вот решение для скобок (тестирование на 43): http://circlewaves.com/blog/how-to-add-custom-snippets-to-emmet-for-brackets/

Все, что вам нужно — это создать JSON-файл с названием, начинающимся с «snippets», например: snippets-mysnippets.json, snippets_team.json, snippets-php.json и т. д.; и установите папку расширения с этим файлом JSON в параметрах Emmet:

На моем Mac я добавляю что-то вроде: /Users/benoit/Documents/Brackets/, добавляя snippets-css.json следующим образом:

{
  "css": {
    "snippets": {
        "reset":"/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */\n  html, body, div, span, applet, 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%; font: inherit; vertical-align: baseline; } \n/* HTML5 display-role reset for older browsers */\n article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }",
        "clearfix":".clearfix:before, .clearfix:after { content: \" \"; display: table; } .clearfix:after { clear: both; } /* For IE 6/7 only */ .clearfix { *zoom: 1; }"    }
  }
}
person benoît    schedule 08.09.2014
comment
Когда я добавляю путь (например, /Users/skube/Documents/emmet/) в папку расширений в настройках Эммета, а затем перезапускаю скобки, меню Эммета полностью исчезает, и Эммет перестает работать. Я могу вернуть его, только удалив каталог /Users/skube/Application Support/Brackets/ и переустановив Emmet. - person skube; 28.02.2015
comment
Оказывается, мой путь был неправильным, и вместо изящного сбоя, если файл .json не найден, он полностью не сработает. - person skube; 28.02.2015
comment
Если это кому-то поможет, вам нужно скопировать оригинальный snippets.json и изменить его. В моем случае не работало только добавление измененной части. - person Louis Philippe; 22.09.2020

откройте скобки-emmet/main.js, определите переменную в самом верху следующим образом:

var userSnippets    = require('text!emmet/userSnippets.json');

а затем найдите эту строку:

emmet.loadSystemSnippets(snippets);

скопируйте его и замените на это:

emmet.loadSystemSnippets(userSnippets);

а теперь создайте файл с именем userSnippets.json в: скобки-emmet/node_modules/emmet/lib/ отредактируйте свои собственные фрагменты здесь, наконец, нажмите F5 ( command + r ), чтобы обновить скобки.

Сделанный! :)

person an ha    schedule 26.06.2014

Документация по адресу http://docs.emmet.io/customization/snippets/ указывает на создайте папку расширений и поместите в нее snippets.json или snippets-*.json (где * может быть любым именем). В новом файле json вы создаете новые фрагменты или переопределяете стандартные фрагменты в стандартном файле snippets.json. В настройках Emmet укажите путь к папке расширений. В Win 7 кажется, что вам нужна косая черта в имени пути. Ваш пользовательский файл snippets.json не будет переопределен обновлениями. Следование этой процедуре работает с Brackets sprint 41 в Win 7.

person Dan Walker    schedule 28.06.2014
comment
Спасибо за публикацию. Это мне очень помогло. Продолжал получать ошибку в средствах отладки для скобок с этим расширением о необходимости абсолютного пути, когда я даже указывал C:\blah\blah\blah. Это оказалось ответом на этот вопрос. - person fourpastmidnight; 02.12.2014

В моей Windows я добавил в Brackets - emmet - путь к настройкам:

C:/Users/Andrew/AppData/Roaming/Brackets/extensions/user

И создал свой snippets.json в этой папке и он работает!

person andrei_sharov    schedule 20.03.2016
comment
У меня это работает, но вы должны помнить, что проводник использует обратные косые черты, которые вам нужно заменить на косые черты. - person JanuszO; 14.12.2016

Он выглядит как расширение Emmet для Brackets загружает фрагменты только из этого одного места. Поэтому, если вы хотите настроить свои фрагменты, кажется, что единственный вариант — отредактировать этот файл (и повторно применить ваши изменения каждый раз, когда вы обновляете версию расширения). Формат snippets.json официально задокументирован здесь: http://docs.emmet.io/customization/snippets/

Однако было бы неплохо, если бы Emmet поддерживал отдельный редактируемый пользователем файл конфигурации. Возможно, стоит подать заявку на расширение Emmet, чтобы запросить это...

person peterflynn    schedule 27.05.2014