Как генерировать комментарии JSDoc для функций, когда комментариев нет?

Я пытаюсь создать плагин для JSDoc. Я слежу за документацией (которой, по иронии судьбы, не хватает) и не знаю, как это сделать.

Мой плагин загружается правильно, и я пробую простой пример. Вот мой плагин (который загружается, потому что я могу выдать оттуда ошибку, чтобы остановить запуск jsdoc):

visitNode: function(node, e, parser, currentSourceName) {

    if(node.type === 109){
        if(!e.comment || e.comment ==="@undocumented"){

            var startComment = '/**',
                endComment = '\n*/';
            var params = node.getParams(),
                paramsComment = '';
            for(var i=0; i<params.length; i++){
                paramsComment += '\n* @param ' + params[i];
            }

            e.comment = startComment +
                paramsComment +
                endComment;
        }
    }

обратите внимание, что node.type === 109 эквивалентен Token.FUNCTION, который должен быть доступен согласно их примеру здесь, но токен не определен в плагине.

Если вы знаете лучший сайт, который объясняет, как написать плагин JSDoc, то это тоже будет очень признательно... спасибо


person Etai    schedule 23.01.2014    source источник
comment
Почему ваш плагин не работает?   -  person Louis    schedule 01.02.2014
comment
На самом деле он не записывает комментарий в файл кода или документацию.   -  person Etai    schedule 02.02.2014


Ответы (1)


У меня также была эта проблема, и кажется странным, что в JSDoc нет какой-то уже сделанной опции для этого или хотя бы плагина.

В любом случае создание этого плагина решило мою проблему. Я использую JSDoc версии 3.4:

'use strict';
exports.handlers = {

    symbolFound:function(e) {
        if(e.astnode.type === "FunctionDeclaration" ) {
            if( (e.comment==="@undocumented")){
                e.comment = '/** undocumented */';
            }
        }
    }
};
person Natan Rubinstein    schedule 11.01.2016
comment
Отличный указатель! eventDumper — отличный пример плагина см. конвейер обработки jsdoc, в котором используется эта вышеприведенная стратегия. Похоже, что добавление комментариев - лучший способ, хотя jsdoc не так надежен, как sphinx или docfx, если код изначально не прокомментирован. - person SliverNinja - MSFT; 04.07.2017