我正在尝试为Visual Studio Code中的javascript代码获取正确的Intellisense建议。特别是,我有以下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 Documentation Comments,但它们似乎不起作用 - 当我将鼠标悬停在HoverHereToSeeType
上时,参数显示为“any”(而使用正确推断返回值) angular.d.ts)。所以问题的第一部分是:我如何在函数中注释类型?
问题的第二部分在实际尝试使用该服务时出现:
module.controller( 'MyCtrl', function( backend ) {
backend.getComments( "test" );
} );
我知道IntelliSense不理解Angular的依赖注入,所以我需要注释backend
的类型。但是我该如何引用这种类型呢?
简而言之:如何在第二个片段中获得backend.getComments()
调用的正确智能感知,即参数必须是字符串的信息,返回的值将是ng.IHttpPromise?
答案 0 :(得分:2)
这提供了TypeScript中的悬停提示。不完全是你想要的,但如果他们扩展它以在其他文件中显示它们,那就太棒了。
/**
* Change the role of the employee.
* @param {number} x The id of the employee.
*/
tester: (x: number) => number = (x: number) => x * x;
答案 1 :(得分:0)
在打开的文件夹中的任何javascript文件的第一行输入angular。
注意单词&#34; angular&#34;加下划线并出现一个灯泡。
请注意,此参考中出现了一个新文件夹。你现在将有智能感知。