2010-12-30 2 views
7

Я использую Netbeans 6.9 и 7-бета в Windows 7. В соответствии с Netbeans javascript documentation должно быть возможно добавить документацию в мой проект и получить автозаполнение на мои классы и функции. Проблема, с которой я столкнулась, заключается в том, что я использую свое собственное объявление класса (через функцию, называемую Class) и, похоже, не может заставить работу работать. Например, простое объявление класса будет выглядеть следующим образом:Документирование javascript в Netbeans для автозаполнения/завершения кода/intellisense

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 

я должен быть в состоянии получить mySubClass, нажав "Ctrl + пробел", и так же перейти к:

var test = new mySubClass(1); 
test. 

и получить варианты getMV и setMV. Возможно ли это, и если да, то как мне это сделать? Благодарю.

+0

Поскольку все, что мне нужно, это завершение кода. Я работаю над скриптом для преобразования моего базового javascript в форму, которую netbeans будет читать правильно. Я сообщу позже, если я заработаю. –

+0

Вы когда-нибудь разбирались? Я также ищу способ получить netbeans для обеспечения завершения кода в определениях классов, подобных вашим. – Tristan

+0

@Tristan: Я еще не нашел решение. Я посмотрел на кодирование плагина, чтобы сделать это, но это намного сложнее, чем у меня есть время. Есть ли способ закрыть вопрос, который не имеет ответа? –

ответ

0

У меня была та же проблема. Ваш код может быть упрощен, я должен был читать в два раза, чтобы понять, что класс был обычай функцией ваших, не JS синтаксиса ..

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

Кажется, что NetBeans не делают самоанализ хорошо в JS. Он работает только для родной и хозяин объектов.

Try Komodo Редактировать, похоже, это правильно.

+0

Спасибо, что посмотрели на проблему. Я не хочу изучать целый новый редактор, чтобы исправить эту проблему, тем более, что ее непонятно, что она будет работать с моей функцией «Class», как изначально упоминалось. Я начинаю думать, что текущие версии (6.9 и 7beta) не будут делать то, что мне нужно. У меня есть один взлом решения в работе (более поздний), и я надеюсь, что они скоро добавят более подробную поддержку jsdoc. –

0

Это должно быть работать с @lends (см. JSDoc-toolkit CookBook). Он не работает в Netbeans 7.2, хотя (даже @type и @link не работают).

Смежные вопросы