fang2hou 在 [Neovim 插件] go-impl.nvim / 交互式为 Go 结构体实现接口 中发帖
GitHub (附演示动画)
简单介绍
为了 Mock 和可拓展性,Go 开发目前对接口的使用非常的广泛,但是由于 Go 是鸭子类型设计,所以没有其他语言的「为结构体指定目标接口」→「宏或者代码片段自动展开」的便捷用法。Go 开发中往往需要自己手动进行每个方法的实现。好在有 josharian/impl,一个能自动生成满足指定接口所有方法定义的命令行工具,很多时候只要把想要的构造体名字和接口名字通过参数给到它,基本就能自动生成所需方法。
Neovim 现在的 Go 开发插件有挺多的。但涉及到 impl 的基本都是 impl 命令的简单包装,和手打一大串命令参数其实区别并不大。同时,要指定到很确切的包中的接口,往往路径也是非常长的,手打完整路径非常遭罪。在参考了JetBrains Goland, edolphin-ydf/goimpl.nvim 的交互体验后,我制作了这款插件。
主要...