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パラメーターにカーソルを合わせると、「any」と表示されます(戻り値は angular.d.ts を使用して適切に推測されます)。したがって、質問の最初の部分は次のとおりです。関数で型に注釈を付けるにはどうすればよいですか?

質問の 2 番目の部分は、実際にサービスを使用しようとしたときに出てきます。

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

IntelliSense は Angular の依存性注入を理解していないことがわかりました。そのため、backendの型に注釈を付ける必要があります。しかし、その型を参照するにはどうすればよいでしょうか。

要するに: backend.getComments()2 番目のスニペットの呼び出しに適切な Intellisense を取得するにはどうすればよいですか?

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 に答える