AngularJS Intellisense в Visual Studio 2015

0

Недавно я начал использовать Visual Studio 2015 Community вместо скобок. Как сказано на веб-сайте, у него есть некоторая поддержка Angular, однако я даже не видел его нигде вместо файлов HTML. Даже переменная "угловая", парящая на ней, печатает

angular <type unknown>

Я добавил изображение, чтобы объяснить, что я имею в виду.

Изображение 174551

Я попытался изменить ссылку на JavaScript TextEditor на Implicit (Web), однако после перезагрузки он возвращается к Implicit (Windows).

Я использую Web Essentials, и я знаю, что у него есть функция для создания файлов Intellisense JS и TS, однако эти функции всегда отключены. Я открыл каждый каталог в своем проекте и проверил его, эта функция всегда была отключена.

Кроме того, я пытался создать каталог Scripts с помощью _references.js вручную, но он работает очень... baaad, мне нужно переместить его в другой каталог и вернуть его в предыдущий, чтобы сделать такие параметры, как автоматическая синхронизация. То же самое касается _references.js

Чтобы сделать этот случай более чистым: создаю _references.js вручную. Теперь у него есть опции Anto-Sync и Update Reference. → Reboot Visual Studio 2015 → _references.js больше не имеет таких параметров. Однако даже перед перезагрузкой, если я его обновлю, он пропустит все, кроме app.js, в корневой папке.

PS AngularJS IntelliSense работает в файлах HTML, то есть я могу разместить атрибуты ng- *. Итак... Я думаю, что что-то просто не работает в VS 2015. PSS Я использую NodeJS для серверной части WebApp.

Теги:
visual-studio-2015
intellisense

2 ответа

1
Лучший ответ

Ну, я понимаю, вы ищете решение для работы с Instellisense и Visual Studio, несмотря ни на что.

Я также использую Visual Studio, но я перешел на работу с TypeScript. На самом деле это написание своего рода расширенного строго типизированного JavaScript. Это означает, что вы можете объявлять типы переменных. Пример: var x:string = 'test';

Есть преимущества курсов и недостатки. Мне нравятся преимущества, почему я его использовал.

  1. Вы должны скомпилировать свой код. Понимайте это как анализ Javascript для проверки ошибок и процесс преобразования из *.ts файлов, чтобы стать файлами *.js.
  2. Вы можете добавлять файлы заголовков. Вы когда-нибудь разрабатывали приложения C/C++? Ну, в TypeScript вы можете добавить определение или *.d файлы, которые на самом деле являются только заголовочными файлами для проверки определений функций JavaScript.
  3. TypeScript в Visual Studio использует Intellisense. Это то, о чем мы говорим!

Преимущество №2 велико. Это предотвращает выполнение неправильного кода:

setTimeout(myFunc, 'abc');

Это не сработало бы для второго параметра должно быть число, а не строка. Но, как я уже сказал, вам нужно добавить файлы определения в ваше решение TypeScript, чтобы работать нормально.

Если вам нравится попробовать (не пожалеете), выполните следующие действия:

  1. Загрузка и установка TypeScript для Visual Studio - Перейдите по ссылке https://www.typescriptlang.org/
  2. Создайте TypeScript Projet - очень просто, там уже создан шаблон после установки TypeScript для Visual Studio;
  3. Добавление угловых пакетов jquery с использованием NuGet
  4. Установите следующие пакеты определений: angularjs.TypeScript.DefinitelyTyped - https://www.nuget.org/packages/angularjs.TypeScript.DefinitelyTyped/

Я считаю, что это еще лучшее решение, чем просто Intellisense, поскольку оно также мешает вам отправлять неправильные параметры в функции в угловом режиме. Поскольку JavaScript позволяет любой переменной быть любого типа, действительно сложно выполнить проверку кода, когда что-либо в ваших JS-перерывах. С TS это не должно происходить. Если вы это сделаете, компиляция завершится неудачно.

  • 0
    Спасибо за совет, попробую
  • 0
    Спасибо, все работает, я хотел использовать JS и только после этого преодолеть TS, но думаю, что сделаю это раньше, чем планировал. Я проверю ваш ответ как решение.
0

Вы пытались использовать это в начале вашего js файла, где хотите Intellisense?

/// <reference path="pathToAngular.js" />

https://msdn.microsoft.com/en-us/library/bb385682.aspx

  • 0
    Я постараюсь, я должен перезагрузить VS после ссылки на это?
  • 0
    Чтобы сделать этот случай более понятным: я создаю _references.js вручную. Теперь у него есть опции Anto-Sync и Update References. -> Перезагрузить Visual Studio 2015 -> _references.js больше не имеет таких опций
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню