4

有没有vim的插件,有点像Jsbeautify,在脚本文件中自动生成JavaDoc之类的注释。

例如它将采取这个

function(a , b , c){
}

并返回

/**
 * Description.
 *
 * @param a  Description.
 * @param b  Description.
 * @param c  Description.
 */
function(a , b , c){
}
4

3 回答 3

5

这里有一些东西可以帮助您入门 - 根据需要进行调整!-)

" generate doc comment template
map <LocalLeader>/ :call GenerateDOCComment()<cr>

function! GenerateDOCComment()
  let l    = line('.')
  let i    = indent(l)
  let pre  = repeat(' ',i)
  let text = getline(l)
  let params   = matchstr(text,'([^)]*)')
  let paramPat = '\([$a-zA-Z_0-9]\+\)[, ]*\(.*\)'
  echomsg params
  let vars = []
  let m    = ' '
  let ml = matchlist(params,paramPat)
  while ml!=[]
    let [_,var;rest]= ml
    let vars += [pre.' * @param '.var]
    let ml = matchlist(rest,paramPat,0)
  endwhile
  let comment = [pre.'/**',pre.' * '] + vars + [pre.' */']
  call append(l-1,comment)
  call cursor(l+1,i+3)
endfunction

假设参数列表在一行,它会尝试匹配参数,建立一个注释字符串,并将该注释字符串附加到函数头之前的行。

于 2011-11-06T09:51:53.253 回答
4

使用snipmate,您可以制作一个片段或混合使用实际的js 片段

于 2011-10-30T05:49:21.000 回答
2

我在考虑一个与宏混合的插件,但是一个函数可以接受多少个参数?大多数情况下,最多为 4 个。

带有片段的解决方案可能是一个可行的解决方案。

于 2011-10-30T15:02:00.677 回答