Недавно я начал использовать Visual Studio 2015 Community вместо скобок. Как сказано на веб-сайте, у него есть некоторая поддержка Angular, однако я даже не видел его нигде вместо файлов HTML. Даже переменная "угловая", парящая на ней, печатает
angular <type unknown>
Я добавил изображение, чтобы объяснить, что я имею в виду.
Я попытался изменить ссылку на 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.
Ну, я понимаю, вы ищете решение для работы с Instellisense и Visual Studio, несмотря ни на что.
Я также использую Visual Studio, но я перешел на работу с TypeScript. На самом деле это написание своего рода расширенного строго типизированного JavaScript. Это означает, что вы можете объявлять типы переменных. Пример: var x:string = 'test';
Есть преимущества курсов и недостатки. Мне нравятся преимущества, почему я его использовал.
*.ts
файлов, чтобы стать файлами *.js
.*.d
файлы, которые на самом деле являются только заголовочными файлами для проверки определений функций JavaScript.Преимущество №2 велико. Это предотвращает выполнение неправильного кода:
setTimeout(myFunc, 'abc');
Это не сработало бы для второго параметра должно быть число, а не строка. Но, как я уже сказал, вам нужно добавить файлы определения в ваше решение TypeScript, чтобы работать нормально.
Если вам нравится попробовать (не пожалеете), выполните следующие действия:
Я считаю, что это еще лучшее решение, чем просто Intellisense, поскольку оно также мешает вам отправлять неправильные параметры в функции в угловом режиме. Поскольку JavaScript позволяет любой переменной быть любого типа, действительно сложно выполнить проверку кода, когда что-либо в ваших JS-перерывах. С TS это не должно происходить. Если вы это сделаете, компиляция завершится неудачно.
Вы пытались использовать это в начале вашего js файла, где хотите Intellisense?
/// <reference path="pathToAngular.js" />