Поддержка 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?
Ответы
Ответ 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"/>
.
Ответ 10
Я не пробовал vs2013, но мог работать. Работа с vs2012.
http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012
Ответ 11
Я просто отключил переадресацию intellisense для HTML-страниц и получил angular intellisense на VS2013
Ответ 12
Вы также можете избавиться от предупреждений:
http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012