Документирование кода Javascript в VSCode для Intellisense
Я пытаюсь получить правильные предложения Intellisense для моего кода JavaScript в коде Visual Studio. В частности, у меня есть следующий сервис AngluarJS:
/// <reference path="definitelytyped/angularjs/angular.d.ts" />
var module = angular.module( 'testApp', [] );
module.factory( 'backend', function ( $http ) {
return {
"getComments": function HoverHereToSeeType( post ) {
/// <summary>Retrieves comments from the backend</summary>
/// <param name="post" type="string">Post to retrieve comments for</param>
return $http.get( "/rest/" + post );
}
};
} )
Я подумал, что должен использовать комментарии к документации XML, но они не работают - когда я нахожу HoverHereToSeeType
параметр отображается как "любой" (в то время как возвращаемое значение правильно определяется с помощью angular.d.ts). Итак, первая часть вопроса: как мне аннотировать типы в моих функциях?
Вторая часть вопроса возникает, когда вы пытаетесь использовать сервис:
module.controller( 'MyCtrl', function( backend ) {
backend.getComments( "test" );
} );
Я понял, что IntelliSense не понимает внедрение зависимостей Angular, поэтому мне нужно будет комментировать backend
тип. Но как мне ссылаться на этот тип?
Вкратце: как мне получить правильный Intellisense для backend.getComments()
вызовите второй фрагмент, то есть информацию о том, что параметр должен быть строкой, а возвращаемое значение будет ng.IHttpPromise?
2 ответа
Это обеспечивает всплывающие подсказки в TypeScript. Не совсем то, что вы хотите, но если они расширят это, чтобы показать их в других файлах, было бы здорово.
/**
* Change the role of the employee.
* @param {number} x The id of the employee.
*/
tester: (x: number) => number = (x: number) => x * x;
Введите angular в первой строке любого файла JavaScript в вашей открытой папке.
Обратите внимание, что слово "угловой" подчеркнуто, и появляется лампочка.
- У вас есть возможность добавить ссылку на угловой. Сделай это.
Обратите внимание, что появилась новая папка с этой ссылкой. Теперь у вас будет intellisense.