Microsoft ПРОТИВ тегов Code и Angular 2 в HTML-линтере

#javascript #html #angularjs #visual-studio-code

#javascript #HTML #angularjs #visual-studio-code

Вопрос:

Я только начал использовать Angular 2 в VSCode. Используя Angular.io «Тур героев» в качестве примера, встроенный HTML-линтер не распознает директивы Angular 2 в HTML-тегах, таких как *ng-if или (click) , как вы можете видеть на этом снимке экрана:

введите описание изображения здесь

Есть ли какие-то настройки или расширения, которые мне не хватает? Это допустимый HTML-код в приложении Angular 2, и я не хочу много ошибок ни за что — но я хочу использовать линтер на случай, если я сделаю фактические ошибки в другом месте.

Комментарии:

1. Ошибки, по-видимому, происходят из плагина HTMLHint, который у меня был. Я удалил его, и ошибки исчезли. Мне нужно будет найти HTML-линтер для кода, который понимает теги Angular 2.

Ответ №1:

Вы можете добавлять исключения в список атрибутов в расширении HTMLHint:

 "htmlhint.options": {
    "attr-lowercase": ["*ngIf", "*ngFor"]
}
  

Правилом attr-lowercase может быть true, false или массив имен атрибутов, которые нужно игнорировать.

Ответ №2:

Просто добавьте этот фрагмент в свой файл настроек (.vscode settings.json в workspace или отредактируйте через File>Preferences>Settings):

 "htmlhint.options": {
    "tagname-lowercase": true,
    "attr-value-double-quotes": true,
    "attr-no-duplication": true,
    "tag-pair": true,
    "spec-char-escape": true,
    "id-unique": true,
    "src-not-empty": true,
    "title-require": true
}
  

При этом плагин HTMLHint будет корректно анализировать угловые шаблоны и останавливать выдачу предупреждений.

Комментарии:

1. У меня уже были такие, и ни один из них не помог с проблемой. Смотрите принятый ответ.