Плагин Emmet для Sublime Text.

Вы до сих пор пишите теги html и css свойства вручную? Пришло время это исправить! Сегодня мы поговорим о плагине emmet, который поможет нам в этом.

Emmet — это плагин, который позволит вам писать html и css в десятки раз быстрее. Многие уже используют его в своих проектах, но многие о нем еще ничего не знают, и сегодня я попытаюсь исправить это.

Для начала его нужно установить. В Sublime Text, о котором недавно была написана статья, это делается очень просто. Откройте command palette, нажав сочетание клавиш cmd+shift+p, или перейдите в пункт tools и выберите там command palette. Теперь введите «install package» и нажмите enter. Дальше введите «emmet» и снова нажмите enter. После того, как плагин загрузится и установится, перезапустите Sublime Text.

Установка завершена, и теперь мы можем начать пользоваться плагином emmet.

Введите

div

А теперь нажмите клавишу tab. В результате этих несложных действий мы получим открывающий и закрывающий тег div, а курсор будет установлен внутри, между ними.

<div></div>

Точно так же можно делать с любыми тегами. Например, давайте создадим ссылку.

a

Теперь нажмите tab, и мы получим следующее

<a href=""></a>

Как видите, emmet добавил атрибут href самостоятельно. Если же вы введете img, то там сразу будут атрибуты src и alt.

Теперь рассмотрим, как добаблять классы и id. Делается это точно так же, как и в css: класс с помощью

., а id с помощью #

.block

В результате получим

<div></div>

То же самое и с id

#block

Получим следующее

<div></div>

Заметьте, что я не писал слово div, а просто ставил точку или решетку и писал нужный мне класс или id. Дело в том, что мы можем пропускать название тега и тогда emmet сам будет додумывать, какой же тег поставить. В большинстве случаев это будет div, но, если вы, например, напишите так внутри тега

ul, то тег будет li с нужным классом или id.

Если вы хотите сами ввести какой-то атрибут, то напишите его в квадратных скобках

div[data-attribute="value"]

Получим следующее

<div data-attribute="value"></div>

Чтобы вкладывать теги внутри других тегов, нужно использовать знак больше

ul>li>a

Получим следующее

<ul>
  <li><a href=""></a></li>
</ul>

С помощью символа * можно указать, сколько таких тегов нам нужно

ul>li*5

Вот, что у нас получится

<ul>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>

Если вам нужно добавить тег на том же уровне, используйте знак +

#container>. left+.right

Результат

<div>
  <div></div>
  <div></div>
</div>

С помощью символа $ мы можем указать, что каждый тег следует нумеровать автоматически

ul>li.item$*5

Результат

<ul>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>

Если вам нужен ведущий ноль, то напишите знак $ 2 раза, если 2 ведущих нуля, то 3 знака $ и т.д.

Если вы хотите добавить внутри тега текст, то его нужно указать в фигурных скобках

a{Some text}

Результат

<a href="">Some text</a>

Если во время верстки вам нужен какой-то текст, то просто напишите lorem

lorem

Результат

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, mollitia quibusdam voluptatibus fuga dolorem officiis animi error ex ea ipsa excepturi incidunt quis sunt ducimus rerum corrupti obcaecati ipsum quisquam.

Если вам нужно какое-то определенное количество слов, то напишите цифру, обозначающую количество слов после.

lorem3

Результат

Lorem ipsum dolor.

Чтобы создать html структуру, просто напишите знак !

!

Результат

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>

</body>
</html>

Теперь поговорим о том, как emmet поможет нам в

css

Там достаточно просто написать начальные буквы свойства и значение, а потом нажать tab. Например

m10

В результате получим

margin: 10px;

В некоторых свойствах уже стоят значения по-умолчанию. Например, в свойстве text-align

ta

Результат

text-align: left;

Но вы можете изменить его, просто написав букву значения после сокращения свойства. К примеру, пусть будет по центру.

tac

Результат

text-align: center;

Все рассматривать нет смысла. Документацию по плагину

emmet вы можете найти здесь: http://docs.emmet.io/cheat-sheet/

В конце стоит сказать, что если вам по каким-то причинам не нравится клавиша tab, то вы можете поменять ее. Для этого зайдите по следующему пути: Perferences->Package Settings->Emmet->Key Bindings — default. Используйте поиск(cmd+f или перейдите по пути Find->Find) С помощью поиска найдите команду «expand_abbreviation_by_tab». Выше нее, в массиве keys, в кавычках написано «tab». Измените это значение на свое, например, на «ctrl+e». Но это не совсем правильно. Лучше будет, если вы скопируете весь этот объект и вставите его в файл

Key Bindings — User, а там уже меняйте сочетание клавиш. Сделано это для того, чтобы если что, вы могли вернуть все настройки по-умолчанию с помощью файла Key Bindings — Default.

Итак, на этом все. Сегодня мы рассмотрели плагин emmet для текстового редактора Sublime Text. Если вы используете другой редактор, то поищите этот плагин для него в интернете. Удачи!

  • Создано 20.05.2014 19:09:59
  • Михаил Русаков

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Вышел Emmet 2 для Sublime Text — Разработка на vc.ru

После нескольких месяцев активной разработки, я хотел бы объявить о новой версии плагина Emmet для Sublime Text!

2081 просмотров

tl;dr: новый Emmet намного быстрее, меньше и лучше. Он не выламывает клавишу Tab, обеспечивает интерактивный предварительный просмотр расширенной аббревиатуры и имеет улучшенную поддержку JSX.

Новый плагин находится в стадии бета-версии и должен быть установлен из внешнего репозитория. И если вам нравится Emmet, пожалуйста, поддержите его через Спонсоров GitHub: он помогает мне поддерживать проект дальше.

8 лет назад была выпущена первая версия Emmet, ставшая одним из самых скачиваемых пакетов для редактора Sublime Text. В те дни, когда Эммет был новеньким, я старался поддерживать как можно больше редакторов. Поскольку большинство редакторов расширено с помощью JavaScript, я хотел повторно использовать существующую JS-кодовую базу для Sublime Text, которая расширена с помощью Python.

Хотя это решение позволило мне реализовать плагин Sublime Text довольно быстро и (теоретически) облегчить дальнейшую поддержку плагина, у него было слишком много недостатков:

1) он требовал отдельной загрузки большого двоичного файла PyV8;

2) запуск JS внутри Python привел к значительному снижению производительности и стабильности;

3) это не позволяет глубже интегрироваться с возможностями Sublime Text.

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

Играйте приятно с клавишей Tab

Почти все пользователи хотят расширить аббревиатуру Emmet с помощью клавиши Tab, как и обычные фрагменты. Проблема заключается в том, что простая привязка клавиши Tab к действию Expand Emmet Abbreviation (Расширение аббревиатуры Эммета) не позволяет пользователям использовать нативные фрагменты. Более того, это разбивает другие важные функции редактора, такие как отступ, переход к следующему табулятору и т.д.

В плагине Emmet 2 используется новая парадигма, называемая захватом аббревиатуры. Когда вы начинаете вводить слово (в принципе, любое слово может быть аббревиатурой!), Emmet начинает его отслеживать (отображается как тонкое подчеркивание). Таким образом, подчеркнутое слово означает, что Emmet может расширить его как аббревиатуру: просто нажмите Tab, чтобы сделать это!

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

Но самое интересное заключается в том, что когда аббревиатура становится сложной (содержит более одного элемента), вы увидите расширенный просмотр аббревиатуры, который обновляется в реальном времени при редактировании аббревиатуры:

Помните, что Emmet расширяет аббревиатуру по клавише Tab только в том случае, если она захвачена (имеет едва уловимое подчёркивание)! В противном случае клавиша Tab действует нормально.

Автозаполнение провайдера

Emmet также выступает в качестве провайдера автозавершения: если у вас уже есть аббревиатура в редакторе и вы хотите ее развернуть, переместите каретту в конце аббревиатуры и вызовите всплывающее окно автозавершения (по умолчанию Ctrl-Space):

Обратите внимание, что по умолчанию Sublime Text вставляет единичное завершение (например, немедленно расширяет аббревиатуру). Если вы хотите захватить аббревиатуру и продолжить ее редактирование с помощью интерактивного предварительного просмотра, запустите новый Emmet: Действие «Захват аббревиатуры».

Улучшенная поддержка JSX

Убедитесь, что синтаксис вашего документа в Sublime Text установлен на JSX, а не на JavaScript.

Поскольку любое слово может быть аббревиатурой Эммета, захват его таким же образом, как и в HTML, вызовет слишком много отвлекающих моментов при написании обычного JavaScript. Чтобы решить эту проблему, в JSX необходимо явно префиксовать аббревиатуру с < символом:

Кроме того, у Эммета есть некоторые внутренние улучшения для JSX:

Обнаружение нотации модуля на верблюжьей упряжке: Foo.Bar будет расширен до вместо ;

Атрибуты выражения: div[class={getClass(‘foo’)}].

Поддержка CSS

В CSS, Sublime Text использует немного другое поведение автозавершения: он отображает завершения по умолчанию и не перезаполняет список завершений по мере того, как вы набираете далее, что не позволяет Emmet построить правильное динамическое завершение. Чтобы преодолеть эту проблему, Emmet отображает предварительный просмотр аббревиатуры сразу после caret в качестве phantom:

В Emmet 2 аббревиатуры CSS расширены динамическими цветными фрагментами: вы можете набрать, например, #f .5, чтобы быстро получить rgba(255, 255, 255, 0.5).

Просмотр тегов

Еще одна новинка Emmet 2 — встроенный предварительный просмотр открывающего тега. При перемещении каретты внутри названия закрывающего тега, а его соответствие открывающему тегу не видно на экране, вы увидите встроенный просмотр тега:

Нажмите на этот предварительный просмотр, чтобы перейти к открытию тега.

Больше действий

Все остальные действия, такие как «Обертка с аббревиатурой», «Баланс», «Выделить элемент» и т.д. также поддерживаются, но не имеют привязки клавиш по умолчанию: это создало слишком много проблем для новых пользователей, когда Emmet переопределяет действия из других плагинов. Вы должны либо вызывать эти действия через командную палитру, либо создавать свои собственные сочетания клавиш (список доступных действий см. в файле Default.sublime-commands).

Последний плагин Sublime Text предоставит веб-интерфейс для тонкой настройки опций Emmet и привязки клавиш.

Установка

Пожалуйста, сначала удалите старый плагин Emmet, иначе новый плагин не будет работать.

Новый плагин Emmet находится в стадии бета-версии и вскоре заменит старый плагин в Package Control. Если вы хотите попробовать новый плагин, вам необходимо установить его из внешнего репозитория:

В Sublime Text, откройте командную строку, найдите и запустите Package Control: Add Repository command: Add Repository.

Введите следующий URL в диалог и нажмите Enter: https://github.com/emmetio/sublime-text-plugin/releases/latest/download/registry.json

Из командной строки, запустите управление пакетами: Установить команду пакета.

В списке открытых пакетов найдите пакет Emmet2 и установите его.

Если на последнем шаге вы не можете найти пакет Emmet2 или установленный пакет не работает, перезапустите Sublime Text и повторите попытку.

Emmet нуждается в вашей поддержке! 🎉

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

Если вы считаете Emmet полезным для вас или вашей компании, или вы хотите поддержать нового редактора или будущее, пожалуйста, рассмотрите возможность спонсорства проекта через Спонсоров GitHub! Каждое пожертвование заставляет меня меньше беспокоиться о деньгах и концентрироваться на возможностях и улучшениях Emmet.

Оригинал:

Перевод:Федоров Матвей

Еще больше интересной информации по программированию вы можете найти в нашем Телеграмм-канале по ссылке:

https://t.me/metsolution

Использование Emmet с Sublime Text

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

Что такое Эммет?

Emmet (ранее известный как Zen Coding) — это набор инструментов веб-разработчика, который может значительно улучшите рабочий процесс HTML и CSS, вы можете вводить выражения, подобные CSS который можно динамически анализировать и выводить в зависимости от того, что вы вводите в аббревиатуре. — Документация Эммета

Это означает, что с помощью Emmet мы можем:

  • Вводить HTML и CSS, используя простые сочетания клавиш
  • Экономьте время, написав код
  • Сделать жизнь проще

Довольно полезно, правда? Давайте узнаем, как установить его с помощью Sublime Text.

Установка плагинов

В Sublime Text есть замечательное дополнение под названием Package Control , которое позволяет вам найти и установить практически любой плагин из самого приложения. Строка кода для установки Package Control меняется с каждым выпуском, поэтому вам придется копировать ее прямо с официального сайта.

Когда у вас есть фрагмент для вашей версии Sublime, запустите программу и откройте консоль ( ⌘+` в OS X). Вставьте предполагаемый код, нажмите Введите , а затем посмотрите, как Package Control устанавливается, как по волшебству.

Установив Package Control, вы можете загрузить дополнительные подключаемые модули, открыв палитру команд ( Shift+⌘+P в OS X) и набрав «Установить пакет», а затем отправив верхний результат. Далее открывается аналогичное меню, раскрывающее список пакетов, доступных для установки. Введите здесь «Эммет» и выберите лучший результат.

Использование Эммета

Теперь, когда мы установили Emmet, мы наконец-то можем повеселиться с некоторыми из его невероятных ярлыков. Формула использования Emmet очень проста:

  1. Введите поддерживаемый ярлык
  2. .
  3. Пресс Вкладка

И все! Ознакомьтесь с некоторыми из наиболее полезных сочетаний клавиш, которые вы можете начать использовать прямо сейчас.

Становимся лучше

Если вы похожи на меня, освоить новые инструменты — это бесконечная борьба. К счастью, Эммету 9 лет.0029 полностью необязательный после установки, и вы можете игнорировать все его функции, пока вы не захотите их использовать. Это делает освоение Emmet таким же гибким, как постепенное добавление ярлыков в рабочий процесс, когда они вам нужны. Например, начните с сокращения для класса или идентификатора, а затем начните с него, изучая более амбициозные ярлыки по пути.

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

javascript — Sublime Text Emmet JSX selfClosingStyle

Задавать вопрос

спросил

Изменено 1 год, 1 месяц назад

Просмотрено 169 раз

Здравствуйте, я использую последнюю версию Sublime Text 4 с Emmet и исходный код reactjs со сборкой Синтаксис -> Javasript > JSX и все работает.

Я изменил настройку emmet по умолчанию "jsx_prefix": true, на false, и это работает — теперь я могу расширять теги без < .

Но я хочу изменить значение по умолчанию, расширить Component/ -> на

Я пытаюсь изменить "markup_style": "html", на xhtml или xml, но это не работает.

И в настройках emmet я вижу этот параметр, который может решить мою проблему:

 // См. интерфейс `GlobalConfig` для поддерживаемых свойств: https://github.com/emmetio/emmet/blob/master/src/config.ts
    // Пример:
    // "конфиг": {
    // "разметка": {
    // "фрагменты": {
    // "foo": "foo.bar>баз"
    // },
    //      "параметры": {
    // "output.selfClosingStyle": "xhtml"
    // }
    // }
    // }
    "конфигурация": {},
 

Поскольку я не знаю TS, я не могу прочитать исходный код в GitHub, чтобы решить эту проблему, может кто-нибудь знает, как это использовать конфиг параметр не для одного сниппета как в примере, а для JSX с "output. selfClosingStyle": "xhtml" ?

Пробую написать что-то вроде этого(но не работает):

 "config": {
        "разметка": "jsx",
        "параметры": {
            "output.selfClosingStyle": "xhtml"
        }
    }
 

Помогите мне использовать самозакрывающиеся теги JSX с emmet в ST4, пожалуйста.

  • javascript
  • реакция
  • jsx
  • сублимтекст

В Sublime Text вы можете указать конфигурацию либо глобально для типа синтаксиса (разметка или таблица стилей ), либо для определенного синтаксиса.

Синтаксисы перечислены в опции Syntax_scopes конфигурации Emmet, которая представляет собой сопоставление имени синтаксиса с внутренней областью Sublime Text (вы также можете создавать свои собственные синтаксисы, подобные этому).

В вашем случае вы должны указать конфигурацию для синтаксиса jsx , например:

 {
 "конфигурация": {
 "JSX": {
 "параметры": {
 "output.