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

113 天前
 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 里面太容易写不对这样的注释了

2823 次点击
所在节点    Go 编程语言
23 条回复
lrh3321
113 天前
可以利用 vscode 的 snippets 来做
zoharSoul
113 天前
手写的
ck65
113 天前
复制粘贴改一改
falcon05
113 天前
这些注释是用来生成 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
113 天前
@falcon05 #4 怎么一股 AI 的味道.
falcon05
113 天前
@whitehack 看到 v 站上有很多提问,我就写了一个油猴脚本,尝试用 AI 回答问题,看着还挺像回事,就没忍住发了出去。求放过,别举报我,下次我自己看好了。。。。
whitehack
113 天前
@falcon05 #6 把你的脚本交出来就不举报你
beneo
113 天前
@zoharSoul 不会手写的把,因为太多了太多了,1panel 几乎每一个 func 都有
Ayanokouji
113 天前
@beneo 我们项目都是手写的。。。
NX2023
113 天前
@falcon05 #6 https://www.v2ex.com/help/assertive
「请不要把 AI 生成的回复,当作你自己的回复,发到这里。」
falcon05
113 天前
@NX2023 我知道,我想撤回了
ninjashixuan
113 天前
如上面提到就是 swag 用来生成 swagger 文档的,当然不定全部手动,一些简单 curd 场景可以写脚本自动生成。
monkeyWie
113 天前
就是手写的啊,go 的生态就是这样,毕竟官方不支持注解只能走歪门邪道了
knva
113 天前
写一遍,然后剩下的 copilot 生成。
xiaozirun
113 天前
带 @符号的是 gin-swagger https://github.com/swaggo/gin-swagger
gin 框架的接口文档注释只能手写
beneo
113 天前
@xiaozirun 感谢感谢
falcon05
113 天前
@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
113 天前
@falcon05 #4 这位网友,你也不想你的回复被举报吧
wangritian
113 天前
我是找个类似的接口复制改一下
clf
113 天前
我倒是 IDEA 给自己团队写了一个接口文档生成插件。

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

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

https://www.v2ex.com/t/1070450

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

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

© 2021 V2EX