Как заставить Netbeans 8 распознавать сгенерированные методы-члены JSDoc?

Я работаю над проектом JavaScript (GM), реализующим некоторую автоматизацию. (Пожалуйста, не обсуждайте прототипирование хост-объектов, я знаю за и против.) Я использую генерацию кода, как вы можете видеть. Чтобы получить Netbeans 8.1, помогающий завершить код, я пытаюсь объявить комментарии JSDoc3. Тем не менее, Netbeans не заботится. Я также пытался @memberOf String.prototype вместо @memberOf String#, Вся документация и ответы SO могут помочь решить мою проблему. У меня нет опыта работы с JSDOC.

Как я могу заставить Netbeans 8.1 распознавать String.prototype.toFunctionSource как метод? Он вообще не признает его как участника ''.toFunc... ни String.prototype.toFunc... ни 'String'.toFunc..., нет завершения доступно. Синтаксис JS в порядке, он работает в GreaseMonkey без каких-либо ошибок.

Заранее спасибо!

[Я не являюсь носителем языка, пожалуйста, не стесняйтесь редактировать мой вопрос, чтобы улучшить формулировку и грамматику, если применимо.]

Object.defineProperty(Object.prototype, 'defProps',
{ value: function()
  {
    if(1 & arguments.length)  throw new Error('Function "defProps" expects an even number of arguments, '+arguments.length+' given.');
    for(var i = 0 ; i < arguments.length ;)
      Object.defineProperties(arguments[i++], arguments[i++]);
  }
});

Object.defProps
(
  Object.prototype,
  {
    slice: { value: Array.prototype.slice }, //will work for all Objects having numbered properties and length
  },

  String.prototype,
  {
    /**
     * @name toFunctionSource
     * @function
     * @memberOf String#
     * @return {string}
     *    Source code, i.e. the string enclosed into function(params...){ the string }.
     *    If first argument is `true`, then the function code becomes self executing: (function declaration)()
     */
    toFunctionSource:
    { value:
      function(argumentNames)
      { var b = 'boolean' === argumentNames && b;
        return (b ? '(' : '') + 'function('
          + ('array' === typeof argumentNames ? argumentNames : arguments).join()
          + '){' + this + '}' + (b ? ')()' : '');
      }
    }
  }
);

0 ответов

Другие вопросы по тегам