用于生成 Javascript 文档注释的 Vim 插件

2024-03-20

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

例如,它将采取这个

function(a , b , c){
}

并返回

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

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

" 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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于生成 Javascript 文档注释的 Vim 插件 的相关文章

随机推荐

  • jQuery 验证触发错误消息

    我有一个有点奇怪的问题 我想在元素上触发 jquery 验证错误消息 即使它是有效的 设想 我有一个大表格 输入之一是 PersonalId 可以选择输入该 PersonalId 除了该输入之外 我还有一个普通按钮 不是提交按钮 如果您单击
  • 通过 Internet 发送对象

    我定义一个类 然后设置该类类型的一个对象 我想透明地将该对象发送到另一台计算机上运行的另一个 Java 应用程序 实现这一目标的最佳技术是什么 您需要首先研究 Java 的序列化可串行化 http java sun com javase 6
  • 使用nodejs中的直通流模块使用axios发送文件

    Imports const ffmpegPath require ffmpeg installer ffmpeg path const FfmpegCommand require fluent ffmpeg const fs require
  • React Django WebSocket 连接挑战

    我面临的挑战是尝试将 Django 后端与 React 前端应用程序连接起来 我收到的错误是 WebSocket connection to ws localhost 8000 ws week failed callee Week jsx
  • 在 powershell 中停止然后启动进程

    我想停止 终止某个进程 然后在完成我必须做的事情后再次启动它 这是我已经拥有的 Clear host processes Get Process devenv processes Count if processes Count gt 1
  • 如何将asp.net MVC详细视图数据导出到excel文件?

    如何将 ASP NET MVC 视图数据导出到 Excel 文件 实际上我的视图页面包含许多视图数据类型 我使用这些数据类型的每个循环来在视图页面上显示数据 我的要求是我想将显示的数据导出到Excel文件中 我该如何实现这一目标 Thank
  • FullCalendar - 提取显示的事件

    是否有可能发现 提取当前显示的来自 FullCalendar 对象的事件 参考 http arshaw com fullcalendar http arshaw com fullcalendar 理想情况下 我希望在日历旁边有一个事件的辅助
  • Java中String.length()的时间复杂度是多少?

    是 O n 还是 O 1 通过在字符串分配给对象期间将长度保存在私有变量中 如果是O n 是否意味着下面代码的复杂度是O n 2 for int i 0 i
  • 检查 URL 是否存在 - HTTP 请求总是返回异常

    有很多关于如何检查 URL 是否有效的帖子 它们都具有基本相同的代码 这似乎适用于每个人 但不适合我 我不明白为什么 public static bool ifURLexists string url try var request Web
  • 向团队传递 TFS 构建状态通知的最佳方式是什么?

    我喜欢在构建中断时 TFS 警报机制发送的状态电子邮件 但是 我想向整个团队发送这样的电子邮件 而不是依赖团队订阅警报 在覆盖 OnBuildBreak 并使用 MSBuild 社区任务电子邮件任务时 我自己很难生成足够详细的消息 有没有办
  • sys.stdin 读取什么?

    我了解了如何打开文件 然后使用 Python 的预内置函数来处理它们 但是 sys stdin 是如何工作的呢 for something in sys stdin some stuff here lines sys stdin readl
  • Android 8.0 上的 BLE 扫描

    我开发了一个应用程序 可以扫描附近的设备 周围有多种信标 我正在使用带有 CALLBACK TYPE ALL MATCHES 和空 ScanFilter 数组的 BluetoothLeScanner 进行扫描 因为我想获取所有附近设备的回调
  • LINQ - 查询语法与方法链和 lambda [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 prettier 将尾随逗号单独放置并给出错误,指出需要将其删除?

    eslintrc json env commonjs true es6 true node true extends prettier airbnb base plugins prettier globals Atomics readonl
  • 使用 MacOS 终端从 .tar.xz 存档中提取具有文件扩展名的特定文件

    我有许多扩展名为的压缩档案 tar xz 据我所知 解压后所需的总大小约为 2TB 档案中有许多我想要的图像 有没有一种方法可以单独提取文件 例如带有扩展名的文件 jpg jpeg and gif从压缩档案中提取而无需提取每个文件 Than
  • 访问用 java 编写的 Web 服务方法时出现 java.lang.ClassCastException。贾克斯布

    我正在编写一个必须与 MS SQL 数据库交互的应用程序 在我的应用程序中 我正在创建 Web 服务 使用 javax jws 来访问数据库表 我正在 Web 服务中创建一个操作 方法 返回类型为 java lang Object 如下所示
  • Swift 中有一个具有多种类型的变量

    我想要一个变量 它可以有多种类型 只有我定义的类型 例如 var example String Int 0 example hi 该变量应该只能保存 Int 和 String 类型的值 这可能吗 感谢您的帮助 您可能正在寻找 具有关联值的枚
  • CSS 无法与 PHP 脚本一起使用

    你好 我正在按照本教程制作一个 php 日历 http www youtube com watch v l76uglZBjpk http www youtube com watch v l76uglZBjpk 我有三个文件 显示 日历 ph
  • Flutter :- 将图标与容器的右下角对齐

    我尝试了带有对齐图标的列 但它没有正确显示 如果有人有任何想法可以提供帮助 这将不胜感激 谢谢 这是我尝试过的代码 List
  • 用于生成 Javascript 文档注释的 Vim 插件

    vim 有没有一个插件 有点像 Jsbeautify 可以在脚本文件中自动生成 JavaDoc 之类的注释 例如 它将采取这个 function a b c 并返回 Description param a Description param