【问题标题】:Documenting Javascript code in VSCode for Intellisense在 VSCode 中为 Intellisense 记录 Javascript 代码
【发布时间】:2015-07-12 02:47:33
【问题描述】:

我正在尝试在 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 的类型。但是如何引用该类型呢?

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

【问题讨论】:

  • 你试过输入//**然后回车吗?
  • 是的,我知道我可以使用 /** 进行多行 cmets,但问题的重要部分是如何构建我的 cmets 以便 Intellisense 解析它们?
  • 你最终解决了这个问题吗?我只会为我需要()的东西获得自动完成功能,但如果我获取一个我需要的对象并例如在 module.exports 中公开它,然后在另一个文件中引用此变量,它将不起作用
  • 不,最终没有解决。
  • 一年后,但是......你有没有得到任何地方?

标签: javascript angularjs visual-studio-code javascript-intellisense


【解决方案1】:

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

/**
 * Change the role of the employee.
 * @param {number} x The id of the employee.
 */
tester: (x: number) => number = (x: number) => x * x;

【讨论】:

  • 但我正在编写 JavaScript,IntelliSense 显然没有使用该语法进行注释。
  • @Mr.Wonko,您使用的是 VSCode,它与 Visual Studio 不同。我刚刚尝试过 — IntelliSense 确实适用于 JSDoc cmets,但不适用于 Visual Studio 的 XML cmets。 (请注意,我已经尝试过使用 JavaScript。)
  • 是的,我正在使用 VSCode,我的问题不是很清楚吗?所以当你说你刚刚尝试过时,你是指用 VS 还是用 VSCode?因为在 VSCode it doesn't work for me.
  • 什么。为什么它对我不起作用?但是,这并不完全是我所追求的 - 推导的类型(弹出窗口中的顶行)仍然忽略注释,这对于返回类型尤其重要(并且在使用它时自动完成)。
  • 我不知道为什么它不适合你。也许你知道为什么 Git 的 pull/push 对我不起作用? (可能是因为它是测试版。)
【解决方案2】:
  1. 在您打开的文件夹中任何 javascript 文件的第一行输入 angular。

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

  1. 您可以选择添加对角度的引用。这样做。

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

【讨论】:

  • 谢谢,但我不是在为 Angular 库寻找 Intellisense - 正如 注释所证明的那样,我已经有了它 - 我想要代码 I 写的。
猜你喜欢
  • 2019-01-24
  • 1970-01-01
  • 2015-07-24
  • 2017-02-03
  • 2018-07-24
  • 2016-03-20
  • 2016-08-07
  • 1970-01-01
  • 2011-02-19
相关资源
最近更新 更多