2012-06-11 27 views
2

我使用John Resig's Simple JavaScript Inhertance定義了類,並將它們記錄爲JSDoc的@lends@constructs批註,但NetBeans不提供代碼完成。這適用於我使用namespace定義的模塊,因爲我直接引用它們。下面是一個簡單類的例子:使用簡單JavaScript繼承定義的文檔方法

MyClass = Class.extend(
    /** @lends MyClass.prototype */ 
    { 
     /** @constructs */ 
     init: function() { 
      console.log('init'); 
     }, 

     foo: function() { 
      console.log('foo'); 
     } 
    } 
); 

var c = new MyClass(); 
c. <-- ctrl-space only shows built-in methods like hasOwnProperty() and toString() 

有誰知道一種方法,使代碼完成在NetBeans可用來記錄這些類?

回答

1

NetBeans不支持@lends,@constructs@memborOf或類似標籤。他們設定爲7.4和8.0,但我不相信他們會很快實施,因爲他們從7.0左右報告。兩個workarounds中的第二個將與Class.extend()一起使用,方法是首先將包含方法的(以前)匿名對象分配給該類。

原型

/** @class */ 
var Canine; 
Canine = function() {}; 
Canine.prototype = props; 

/** @type Canine */ var canine = new Canine(); 

匿名對象

/** @class */ 
var Feline = { 
    purr: function() { console.log('meow'); }, 
    fall: function() { console.log('landed on feet'); } 
}; 
Feline = create(Feline); 

/** @type Feline */ var feline = new Feline(); 

注:本作品即使沒有在NetBeans 7.4補丁@type註釋1.

0

最新版本(截止撰稿)爲NetBeans 7.3 Beta 2。它支持JavaScript自動完成和調試。它也將在Chrome中運行,並提供NetBeans和Chrome之間的往返更新。你應該看看這是否會幫助你進行JavaScript開發工作。