求助: Go 代码注释貌似是某个插件生成的

2024-09-05 13:06:23 +08:00
 beneo

大家好,我最近在学习使用 Go 语言进行后端开发,遇到了一个问题,希望能得到大家的帮助。 我在项目中看到了一些类似 Swagger 风格的注释,像这样:

// @Tags App
// @Summary Page app installed
// @Description 分页获取已安装应用列表
// @Accept json
// @Param request body request.AppInstalledSearch true "request"
// @Success 200
// @Security ApiKeyAuth
// @Router /apps/installed/search [post]

请问 这些注释是如何生成的?是否有 IDE 插件可以自动补全这些注释?否则我在 IDE 里面太容易写不对这样的注释了

3166 次点击
所在节点    Go 编程语言
23 条回复
lrh3321
2024-09-05 13:09:41 +08:00
可以利用 vscode 的 snippets 来做
zoharSoul
2024-09-05 13:15:24 +08:00
手写的
mogita
2024-09-05 13:18:40 +08:00
复制粘贴改一改
GG668v26Fd55CP5W
2024-09-05 13:19:06 +08:00
这些注释是用来生成 API 文档的,通常使用的是 Swagger (现在叫 OpenAPI )规范。在 Go 语言中,常用的工具是`swaggo/swag`。你可以通过安装这个工具来生成这些注释。

具体步骤如下:
1. 安装`swag`工具:在命令行中运行`go get -u github.com/swaggo/swag/cmd/swag`。
2. 在你的 Go 项目中运行`swag init`,这会根据你的代码生成注释。

至于 IDE 插件,JetBrains 的 GoLand IDE 有一个官方插件叫做“Goanno”,可以帮助你自动补全这些注释。如果你使用的是 VS Code ,也有一些插件如“Go for Visual Studio Code”可以提供类似的功能。
whitehack
2024-09-05 13:28:19 +08:00
@falcon05 #4 怎么一股 AI 的味道.
GG668v26Fd55CP5W
2024-09-05 13:34:25 +08:00
@whitehack 看到 v 站上有很多提问,我就写了一个油猴脚本,尝试用 AI 回答问题,看着还挺像回事,就没忍住发了出去。求放过,别举报我,下次我自己看好了。。。。
whitehack
2024-09-05 13:46:04 +08:00
@falcon05 #6 把你的脚本交出来就不举报你
beneo
2024-09-05 13:56:34 +08:00
@zoharSoul 不会手写的把,因为太多了太多了,1panel 几乎每一个 func 都有
Ayanokouji
2024-09-05 14:16:20 +08:00
@beneo 我们项目都是手写的。。。
nickxudotme
2024-09-05 14:25:27 +08:00
@falcon05 #6 https://ex.noerr.eu.org/help/assertive
「请不要把 AI 生成的回复,当作你自己的回复,发到这里。」
GG668v26Fd55CP5W
2024-09-05 14:26:44 +08:00
@NX2023 我知道,我想撤回了
ninjashixuan
2024-09-05 14:28:25 +08:00
如上面提到就是 swag 用来生成 swagger 文档的,当然不定全部手动,一些简单 curd 场景可以写脚本自动生成。
monkeyWie
2024-09-05 14:30:24 +08:00
就是手写的啊,go 的生态就是这样,毕竟官方不支持注解只能走歪门邪道了
knva
2024-09-05 14:30:43 +08:00
写一遍,然后剩下的 copilot 生成。
xiaozirun
2024-09-05 14:33:02 +08:00
带 @符号的是 gin-swagger https://github.com/swaggo/gin-swagger
gin 框架的接口文档注释只能手写
beneo
2024-09-05 14:42:27 +08:00
@xiaozirun 感谢感谢
GG668v26Fd55CP5W
2024-09-05 14:54:53 +08:00
@whitehack 只是把别人用 AI 总结的油猴脚本改成提问的,传到 greasyfork 了。

https://greasyfork.org/zh-CN/scripts/506898-v2ex-ai-%E5%9B%9E%E7%AD%94%E9%97%AE%E9%A2%98
wzdsfl
2024-09-05 15:25:04 +08:00
@falcon05 #4 这位网友,你也不想你的回复被举报吧
wangritian
2024-09-05 16:48:37 +08:00
我是找个类似的接口复制改一下
clf
2024-09-05 17:00:58 +08:00
我倒是 IDEA 给自己团队写了一个接口文档生成插件。

自动遍历深层的代码注释作为接口字段说明的值,如果没注释,先找同代码文件的同字段注释(一般一组 API 都是一个业务的),如果还没有找插件内置字典,还没有就留空。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1070450

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX