После того, как я включил Emmet в Sublime 2, некоторые команды работают некорректно.
Как включить функцию, которая, как мне кажется, является функцией по умолчанию, при HTML
наборе файла ?
cmd + /
перед
<script src="./bower_components/angular/angular.js"></script>
чтобы получить правильно прокомментированный тег:
<!-- <script src="./bower_components/angular/angular.js"></script> -->
Прямо сейчас эта же команда генерирует
// <script src="./bower_components/angular/angular.js"></script>
что совершенно неверно.
решение1
Итак, оказывается, что это проблема не Emmet, а встроенного определения языка HTML в Sublime. По какой-то причине он настроен так, что любая строка, которая начинается с тега <script>
(возможно, с пробелами перед ним), классифицируется как source.js.embedded
, что означает, что при срабатывании ярлыка комментария он использует //
маркер комментария JS вместо HTML <!-- -->
.
Самый простой способ обойти это, который я нашел, — установитьHTML5
пакет черезКонтроль пакетов, который, как я предполагаю, вы уже установили, поскольку используете Emmet. Установите новый пакет, затем откройте настройки пользователя (Sublime Text 2 -> Preferences -> Settings-User
) и добавьте "HTML"
в "ignored_packages"
список:
"ignored_packages":
[
"HTML",
"Vintage"
],
Сохраните файл и перезапустите Sublime. Теперь, когда вы идете вView -> Syntax
должна быть только одна HTML
запись, но она будет ссылаться на синтаксис HTML5, а не на встроенный. Для проверки откройте файл, который вы редактировали выше, поместите курсор перед тегом <script>
и нажмите ⌘/. Вся строка теперь должна быть окружена комментариями HTML:
<!-- <script src="./bower_components/angular/angular.js"></script> -->