【问题标题】:Documenting javascript in Netbeans for autocompletion/code completion/intellisense在 Netbeans 中记录用于自动完成/代码完成/智能感知的 javascript
【发布时间】:2011-06-01 08:10:23
【问题描述】:

我在 Windows 7 上使用 Netbeans 6.9 和 7-Beta。根据 Netbeans javascript documentation,应该可以将文档添加到我的项目并自动完成我的类和函数。我遇到的麻烦是我正在使用我自己的类声明(通过一个名为Class 的函数)并且似乎无法让事情正常工作。例如,一个简单的类声明如下所示:

mySubClass = Class(parentClass, {
  memberVariable: null,

  /**
   * @class mySubClass
   * @constructor
   */
  initialize: function(value) {
    this.memberVariable = value;
  },

  /**
   * @class mySubClass
   */
  getMV: function() {
    return this.memberVariable;
  },

  /**
   * @class mySubClass
   */  
  setMV: function(value) {
    this.memberVariable = value;
  }
});

我尝试了声明的许多变体和位置(@class@memberOf 等),但无法完成工作。比如之后,

var testObj = new my

我应该能够通过点击“ctrl+space”获得mySubClass,然后类似地继续:

var test = new mySubClass(1);
test.

并获得getMVsetMV 的选项。这可能吗?如果可以,我该怎么做?谢谢。

【问题讨论】:

  • 因为我只关心代码完成,所以我正在编写一个脚本来将我的基本 javascript 转换为 netbeans 可以正确读取的形式。如果我得到它的工作,我会在稍后报告。
  • 你解决过这个问题吗?我也在寻找一种方法让 netbeans 为类似于你的类定义提供代码完成。
  • @Tristan:我还没有找到解决方案。我研究了编写一个插件来做到这一点,但它比我有时间更复杂。有什么方法可以关闭没有答案的问题?

标签: javascript netbeans autocomplete intellisense


【解决方案1】:

我遇到了同样的问题。您的代码本来可以简化的,我不得不阅读两次才能理解 Class 是您的自定义函数,而不是 js 语法..

foo.canvas = function(id) {
  this.clear = function() {};
};
bar = foo.canvas("myCanvas");
bar. <-- here NetBeans doesn't suggest the "clear" function.

似乎 NetBeans 在 JS 中没有很好地进行自省。它似乎只适用于 nativehost 对象。

试试 Komodo Edit,它似乎做对了。

【讨论】:

  • 感谢您查看问题。我不愿意学习一个全新的编辑器来解决这个问题,特别是因为它不清楚它是否可以与我最初提到的 Class 函数一起使用。我开始认为当前的版本(6.9 和 7beta)不会做我需要他们做的事情。我正在开发一个解决方案(稍后会详细介绍),希望他们能尽快添加更详细的 jsdoc 支持。
【解决方案2】:

应该与@lends 一起使用(请参阅JSDoc-toolkit CookBook)。但它在 Netbeans 7.2 中不起作用(即使 @type 和 @link 不起作用)。

【讨论】:

    猜你喜欢
    • 2015-08-27
    • 2015-08-27
    • 2010-10-01
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多