2014-01-23 53 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