0

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

angular <type unknown> 

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

enter image description here

Я пытался изменить JavaScript TextEditor Ссылки на неявной (Web), однако, после перезагрузки, он возвращается к неявной (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, в корневой папке.

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

ответ

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. Загрузка и установка Машинопись для Visual Studio - Следуйте по ссылке https://www.typescriptlang.org/
  2. Создать машинопись Projet - Очень просто, для шаблона уже установлен шаблон после установки TypeScript для Visual Studio;
  3. Добавить угловатые, JQuery пакеты с помощью NuGet
  4. Установите следующие пакеты определения - angularjs.TypeScript.DefinitelyTyped - https://www.nuget.org/packages/angularjs.TypeScript.DefinitelyTyped/

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

+0

Спасибо за совет, я Я попробую – ShiiRochi

+0

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

0

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

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

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

+0

Я попробую, нужно ли перезагружать VS после ссылки на это? – ShiiRochi

+0

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

+0

Я не использовал эту функцию. Но если вы просто разместите контрольную линию в начале вашего файла «connect.js» на основе вашего изображения, нет необходимости перезагружаться, он должен сразу начать работать. – restrada