Sublime Snippet не работает - программирование
Подтвердить что ты не робот

Sublime Snippet не работает

Я просто пытался сделать некоторые фрагменты, но я не могу заставить их работать. Может ли кто-нибудь увидеть, что с этим не так? Я прочитал их документы и снял некоторые примеры из Интернета, но они тоже не работают. Я получил его в моей папке /sublime text 3/packages/user, и он назвал использование соглашения myTest.sublime.snippet.

Отрывок:

<snippet>
    <content>
<![CDATA[
<!DOCTYPE html lang="en">
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <title>${1:test1|test2|test3} | $2</title>
    <meta name="viewport" content="width=device-width">
    <meta name="Description" lang="en" content="Description">
    <meta name="robots" content="index, follow">
    <meta name="robots" content="noodp, noydir">

    <!-- Twitter Bootstrap -->
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
    <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet">
    <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>

    <!--[if lt IE 9]>
        <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <script src="assets/js/respond.min.js"></script>
    <![endif]-->    
</head>
<body>

    <div class="container">
        $3
    </div>

</body>
</html>
]]>
</content>
    <tabTrigger>page</tabTrigger>
    <scope>source.html</scope>
    <description>HTML5 Base HTML</description>
</snippet>
4b9b3361

Ответ 1

Вы должны использовать text.html вместо source.html в блоке scope.

Ответ 2

Sublime 3 нуждается в фрагментах, чтобы иметь окончание .sublime-snippet в имени файла.

Ответ 3

Шаг1. Для фрагмента html, пожалуйста, измените

<scope>source.html</scope>

к

<scope>text.html</scope>

Step2. Если вы хотите возвышенно отображать подсказки после ввода ключевых слов, добавьте эту строку

"auto_complete_selector": true

в настройках пользователя - Настройки Пользовательский файл

Ответ 4

Вы должны избегать знаков доллара в своем фрагменте. $- > \$.

Ответ 5

Это явно старый поток, но он появился, когда я искал создание возвышенных фрагментов. Первоначальная проблема может заключаться в том, что вы вводите "страницу" в качестве триггера табуляции, не устанавливая сначала синтаксис html. Вы можете сделать это быстро с помощью shift + command/control + p, затем введите sshtml и введите. Повторите попытку триггера вкладки. Работал для меня. Приветствия.

Ответ 6

Удалить:

<description> HTML5 Base HTML </description>

Да, эта строка взята из официальной документации, но, по крайней мере, в моем экземпляре (Sublime 3, Build 3114), она разбивает фрагмент. Когда я удаляю эту строку, фрагмент работает.

Кроме того, как сказал Jinglong выше, добавьте следующие настройки пользователя:

"auto_complete_selector": true

Ответ 7

У меня была такая же проблема, и я сделал следующее:

Просто удалите <scope>source.html</scope> внизу фрагмента.

Ответ 8

Я нашел решение своей проблемы! Я использую настройку unicode для своей клавиатуры для другого проекта. Когда я перевел клавиатуру обратно в США, моя проблема была решена. Я уверен, что это необычная проблема, но в случае, если кто-то еще сталкивается с этой проблемой:

изменение клавиатуры обратно в США также активизировало некоторые сочетания клавиш навигации по коду (например, переключение между словами на строку путем удержания опции + клавиши со стрелками)

Ответ 9

решено..

  • удаление <scope>source.html</scope>
  • добавление "auto_complete_selector": true, к пользовательским настройкам

Фон

Мои js/ snippets отлично работали с <scope>source.html</scope> но по какой-то причине эта строка вызвала проблемы в моих html/ snippets.