Подтвердить что ты не робот

Поддержка Visual Studio 2013 AngularJS intellisense

Я думал, что VS 2013 должен иметь поддержку атрибута angularjs intellisense? По какой-то причине он не работает для меня в последней версии Microsoft Visual Studio Ultimate 2013 версии 12.0.21005.1

Получение следующего предупреждения о валидации: Атрибут 'ng-app' не является допустимым атрибутом элемента 'html'.
Атрибут 'ng-view' не является допустимым атрибутом элемента 'div'.

Мне где-то не хватает ссылки xsd?

4b9b3361

Ответ 1

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

Если вы используете ReSharper, вы можете добавить расширение, которое даст вам Intellisense, и не будет вызывать предупреждение.

Верхнее меню в VS > Resharper > Диспетчер расширений > Поиск AngularJS Это добавит angular js intellisense.

------- ------- РЕДАКТИРОВАТЬ

Использование Resharper 8.2.1 Resharper Menu

enter image description here

Ответ 2

Я знаю, что это старо, но это все еще происходило для меня. Чтобы исправить это для VS 2013, выполните следующие инструкции:

1) Откройте файл C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\schemas\html\commonHTML5Types.xsd

2) Найдите область в файле, который начинается с этой строки: <xsd:attribute name="translate">. Прокрутите вниз около 7 строк, чтобы найти соответствующий закрывающий тег: </xsd:attribute>

3) Только выше тега закрытия </xsd:attributeGroup> вставьте следующие строки кода:

<xsd:attribute name="ng-app" vs:category="Angular" />
<xsd:attribute name="ng-bind-html" vs:category="Angular" />
<xsd:attribute name="ng-bind-html-unsafe" vs:category="Angular" />
<xsd:attribute name="ng-bind-template" vs:category="Angular" />
<xsd:attribute name="ng-checked" vs:category="Angular" />
<xsd:attribute name="ng-class" vs:category="Angular" />
<xsd:attribute name="ng-class-even" vs:category="Angular" />
<xsd:attribute name="ng-class-odd" vs:category="Angular" />
<xsd:attribute name="ng-click" vs:category="Angular" />
<xsd:attribute name="ng-cloak" vs:category="Angular" />
<xsd:attribute name="ng-controller" vs:category="Angular" />
<xsd:attribute name="ng-csp" vs:category="Angular" />
<xsd:attribute name="ng-dblclick" vs:category="Angular" />
<xsd:attribute name="ng-disabled" vs:category="Angular" />
<xsd:attribute name="ng-form" vs:category="Angular" />
<xsd:attribute name="ng-hide" vs:category="Angular" />
<xsd:attribute name="ng-href" vs:category="Angular" />
<xsd:attribute name="ng-include" vs:category="Angular" />
<xsd:attribute name="ng-init" vs:category="Angular" />
<xsd:attribute name="ng-list" vs:category="Angular" />
<xsd:attribute name="ng-model" vs:category="Angular" />
<xsd:attribute name="ng-mousedown" vs:category="Angular" />
<xsd:attribute name="ng-mouseenter" vs:category="Angular" />
<xsd:attribute name="ng-mouseleave" vs:category="Angular" />
<xsd:attribute name="ng-mousemove" vs:category="Angular" />
<xsd:attribute name="ng-mouseover" vs:category="Angular" />
<xsd:attribute name="ng-mouseup" vs:category="Angular" />
<xsd:attribute name="ng-multiple" vs:category="Angular" />
<xsd:attribute name="ng-non-bindable" vs:category="Angular" />
<xsd:attribute name="ng-readonly" vs:category="Angular" />
<xsd:attribute name="ng-repeat" vs:category="Angular" />
<xsd:attribute name="ng-selected" vs:category="Angular" />
<xsd:attribute name="ng-show" vs:category="Angular" />
<xsd:attribute name="ng-src" vs:category="Angular" />
<xsd:attribute name="ng-style" vs:category="Angular" />
<xsd:attribute name="ng-switch" vs:category="Angular" />
<xsd:attribute name="ng-transclude" vs:category="Angular" />
<xsd:attribute name="ng-view" vs:category="Angular" />

Сохраните файл и снова запустите VS2013. Это должно решить проблему.

Ответ 3

Я установил http://vswebessentials.com/

создан файл с именем _reference.js с содержанием

/// <autosync enabled="true" />
/// <reference path="angular.js" />
/// <reference path="underscore.js" />

Я узнал об этом из The Story Behind _references.js

Ответ 4

Если вы используете ReSharper, попробуйте отключить ReSharper IntelliSense для HTML.

ReSharper > Параметры > IntelliSense > Общие > Ограниченные ReSharper IntelliSense

Примечания:

  • Это не обеспечивает Intellisense от AngularJS в файлах ASP.NET.
  • Вам нужно повторно открыть HTML файлы в VS после изменения настроек
  • Текущая версия ReSharper - это 8.2

Ответ 5

Вы также можете запустить это из консоли диспетчера пакетов в VS 2013: Install-Package AngularJS.Intellisense.

Ответ 6

Попробуйте отметить Text Editor\HTML\General\Auto list members в параметрах.

Ответ 7

Visual Studio 2013 Update 4 удаляет проверку, однако она не включает IntelliSense для AngularJS.

Поддержка пользовательских элементов, полимерных элементов и атрибутов

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

- Объявление новых веб-функций в Visual Studio 2013 Update 4 RC

Загрузите Обновление Visual Studio 2013 4.

Валидация удаляется только в редакторе HTML, а не в редакторе HTML (Web Forms). Это означает, что по умолчанию файлы .html не будут иметь проверки элементарных элементов, но будут отображаться страницы .aspx. Если, как и я, вы не думаете, что это имеет смысл, покажите свою поддержку, проголосовав за пользовательские элементы в файлах .aspx.

Ответ 8

Запуск той же проблемы. Если у вас есть ReSharper, установленный на VS 2013, как я, вы можете получить instellisense, установив плагин AngularJS (предоставленный JetBrains).

Здесь, как это сделать:

  • VS2013 > ReSharper > Управление расширением.
  • Поиск "AngularJS" с помощью Nuget онлайн, затем нажмите "Установить".

Вышеизложенное должно дать вам то, что вам нужно. Если вам нужен графический гид, здесь ссылка - http://jeeshenlee.com/2014/07/12/how-to-get-angularjs-intellisense-support-on-resharper/

Ответ 9

Я знаю, что это сообщение старое, и вопрос конкретно относится к VS 2013, однако, если вы все еще используете VS 2010 и хотите применить решение puargs, вы можете найти файл в C:\Program Файлы (x86)\Microsoft Visual Studio 10.0\Common7\Packages\schemas\html\html_5.xsd.

Вам нужно добавить код puargs в разделе <xsd:attributeGroup name="commonHTML5coreAttributeGroup">.

Mads Kristensen также обсуждает [применение этого решения для VS 2012] 1 и предоставляет ссылку на обновленную версию 2012 commonHTML5Types.xsd на шаге 2.

Также обратите внимание, что в обоих файлах puargs и Mads отсутствует атрибут ng-view, который вызывает имя атрибута, за которым следует знак равенства (=). Полный элемент: <xsd:attribute name="ng-view" vs:category="Angular" vs:standalone="true"/>.

Ответ 11

Я просто отключил переадресацию intellisense для HTML-страниц и получил angular intellisense на VS2013