Ответ 1
Вы должны использовать text.html
вместо source.html
в блоке scope
.
Я просто пытался сделать некоторые фрагменты, но я не могу заставить их работать. Может ли кто-нибудь увидеть, что с этим не так? Я прочитал их документы и снял некоторые примеры из Интернета, но они тоже не работают. Я получил его в моей папке /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>
Вы должны использовать text.html
вместо source.html
в блоке scope
.
Sublime 3 нуждается в фрагментах, чтобы иметь окончание .sublime-snippet в имени файла.
Шаг1. Для фрагмента html, пожалуйста, измените
<scope>source.html</scope>
к
<scope>text.html</scope>
Step2. Если вы хотите возвышенно отображать подсказки после ввода ключевых слов, добавьте эту строку
"auto_complete_selector": true
в настройках пользователя - Настройки Пользовательский файл
Вы должны избегать знаков доллара в своем фрагменте. $- > \$.
Это явно старый поток, но он появился, когда я искал создание возвышенных фрагментов. Первоначальная проблема может заключаться в том, что вы вводите "страницу" в качестве триггера табуляции, не устанавливая сначала синтаксис html. Вы можете сделать это быстро с помощью shift + command/control + p, затем введите sshtml и введите. Повторите попытку триггера вкладки. Работал для меня. Приветствия.
Удалить:
<description> HTML5 Base HTML </description>
Да, эта строка взята из официальной документации, но, по крайней мере, в моем экземпляре (Sublime 3, Build 3114), она разбивает фрагмент. Когда я удаляю эту строку, фрагмент работает.
Кроме того, как сказал Jinglong выше, добавьте следующие настройки пользователя:
"auto_complete_selector": true
У меня была такая же проблема, и я сделал следующее:
Просто удалите <scope>source.html</scope>
внизу фрагмента.
Я нашел решение своей проблемы! Я использую настройку unicode для своей клавиатуры для другого проекта. Когда я перевел клавиатуру обратно в США, моя проблема была решена. Я уверен, что это необычная проблема, но в случае, если кто-то еще сталкивается с этой проблемой:
изменение клавиатуры обратно в США также активизировало некоторые сочетания клавиш навигации по коду (например, переключение между словами на строку путем удержания опции + клавиши со стрелками)
<scope>source.html</scope>
"auto_complete_selector": true,
к пользовательским настройкамФон
Мои js/
snippets отлично работали с <scope>source.html</scope>
но по какой-то причине эта строка вызвала проблемы в моих html/
snippets.