2014-01-23 2 views
9

Я пытаюсь создать плагин для 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, который должен быть доступен в соответствии с их примером here, но токен не определен в плагине.

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

+0

Как ваш плагин не работает? – Louis

+0

На самом деле он не пишет комментарий к файлу кода или документации – Etai

ответ

2

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

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

'use strict'; 
exports.handlers = { 

    symbolFound:function(e) { 
     if(e.astnode.type === "FunctionDeclaration") { 
      if((e.comment==="@undocumented")){ 
       e.comment = '/** undocumented */'; 
      } 
     } 
    } 
}; 
+0

Отличный указатель! ['eventDumper'] (https://github.com/jsdoc3/jsdoc/blob/master/plugins/eventDumper.js) - отличный примерный плагин для просмотра, если вы хотите увидеть конвейер обработки ** jsdoc **, где это выше стратегия зацепилась. Похоже, что [добавление комментариев - лучший маршрут] (https://stackoverflow.com/q/21285960/175679), чтобы идти, - jsdoc не такой надежный, как [sphinx или docfx] (https://docs.microsoft.com/en-us/aspnet/core/#lf-content=177014839:612203132), когда код не комментируется для начала. – SliverNinja