10

我正在尝试在 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参数上时显示为“任何”(而返回值是使用 angular.d.ts 正确推断的)。所以问题的第一部分是:如何在函数中注释类型?

实际尝试使用该服务时会出现问题的第二部分:

module.controller( 'MyCtrl', function( backend ) {
    backend.getComments( "test" );
} );

我知道 IntelliSense 不理解 Angular 的依赖注入,所以我需要注释backend的类型。但是我如何引用该类型?

简而言之:如何为backend.getComments()第二个片段中的调用获得正确的 Intellisense,即参数必须是字符串并且返回值将是 ng.IHttpPromise 的信息?

4

2 回答 2

4

这在 TypeScript 中提供了悬停提示。不完全是您想要的,但如果他们扩展它以在其他文件中显示它们,那就太好了。

/**
 * Change the role of the employee.
 * @param {number} x The id of the employee.
 */
tester: (x: number) => number = (x: number) => x * x;
于 2015-05-03T19:29:10.940 回答
0
  1. 在打开的文件夹中任何 javascript 文件的第一行键入 angular。

  2. 请注意,“角度”一词带有下划线,并出现了一个灯泡。

添加对 Angular 的引用

  1. 您可以选择添加对 Angular 的引用。做这个。

请注意,出现了一个新文件夹,其中包含此引用。您现在将拥有智能感知。

打字文件夹

于 2015-05-02T23:31:49.433 回答