在VSCode中记录用于智能感知的Javascript代码

Mr.*_*nko 9 javascript javascript-intellisense angularjs visual-studio-code

我正试图在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 );
        }
    };
} )
Run Code Online (Sandbox Code Playgroud)

我以为我应该使用XML文档注释,但它们似乎不起作用 - 当我将鼠标悬停在HoverHereToSeeType参数上时显示为"any"(而返回值是使用angular.d.ts正确推断的).所以问题的第一部分是:我如何在函数中注释类型?

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

module.controller( 'MyCtrl', function( backend ) {
    backend.getComments( "test" );
} );
Run Code Online (Sandbox Code Playgroud)

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

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

gar*_*ryp 0

  1. 在打开的文件夹中任何 javascript 文件的第一行输入 Angular。

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

添加对 Angular 的引用

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

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

打字文件夹