问题引入
在使用Goland开发Golang应用时,我们在项目中采用了google/wire
来做依赖管理,每次修改依赖关系后,都需要在wire.go
目录下手动执行下wire
命令来生成wire_gen.go
文件。
而在我们的项目中,wire.go
并没有在项目根目录
最终就不可避免的会产生如下操作:
cd cmd/server
wire
cd ../../
cd cmd/migration
wire
需要解决上述问题其实也很简单,我们可以其实通过定义makefile
文件或自己写一个shell
脚本来解决。
但如果我们想在IDE
层面来处理该问题。首先想到的就是插件
,但实际上Goland的插件市场中目前暂时并没有找到合适的插件。
ps:我起初想自行开发一款
Jetbrains
插件,但研究了一个小时后,发现插件开发并不是很容易。主要是目前暂时只支持Java
和Kotlin
作为插件开发语言。
经过一番折腾,最终发现其实完全不需要插件,我们也能通过Jetbrains
提供的External Tools
功能实现我们的需求。
- 第一步,打开Goland 设置
Preferences | Tools | External Tools
,并按下图的配置:
其中Name
是子菜单名称,Group
是根菜单名称,Program
就是我们惨淡点击后执行的程序,$FileDir$
是个变量,表示程序当前工作路径(当前文件所在目录)。
- 第二步 选中
wire.go
文件点击右键,就可以看到我们刚刚添加的菜单按钮啦~
到这里,本文就结束了。相信大家也发现了,通过External Tools
,我们可以创建非常多实用的快捷功能,快去试试吧~
评论(0)