首页 / 资讯中心 / 文章详情

怎么在Zed里面快速把go项目跑起来

怎么在Zed里面快速把go项目跑起来 ★ FEATURED ARTICLE
写 Go 代码最烦的瞬间是什么不是忘记处理err也不是被 GC 折磨而是你刚写完一个TestCacheBuster函数正想在终端里敲下go test ./http/middleware -run TestCacheBuster却发现自己的手速比编译器的报错还慢。更惨的是如果你在 VS Code 里用着默认快捷键可能还要面对一堆“点击运行”的弹窗最后发现它跑的根本不是你指的那个文件。而我最近发现在zed里面可以非常方便的把go项目跑起来我的第一反应是“好家伙这终于像一个正经 IDE 了。”Zed 的 Go 语言支持加上了内置的可运行任务Runnables。简单来说以后你在 Zed 里对着 Go 代码再也不用切终端手打命令了。它会自动帮你生成下面这四种“跑法”go test $ZED_GO_PACKAGE -run $ZED_SYMBOL—— 单独跑某个测试函数比如你光标停在哪个 Test 函数上就只跑那一个。go test $ZED_GO_PACKAGE—— 跑当前这个包里的所有测试。go test ./...—— 跑整个项目里的所有测试一键全绿或者全红。go run $ZED_GO_PACKAGE—— 如果当前包里有main函数直接帮你跑起来。这看起来是个小功能但对 Go 开发者来说它解决的是**“每天高频重复切窗口”的肌肉记忆痛点**。你可以在代码里直接点击测试函数旁边的运行按钮看着终端输出结果修改代码再点一次。整个过程不用离开编辑器就像在玩一个“编译-测试-修正”的闭环小游戏。下面是运行一个main.go的例子有点idea的感觉下面是跑test的例子当然这个 新特性也暴露了一些很有意思的“真实世界”问题让这个功能显得不那么完美但又非常接地气。比如 有网友抱怨说“这玩意儿看起来很有用但我的 shell 是fish跑测试直接报错了” 报错信息非常有画面感fish: Variables cannot be bracketed...。因为 Zed 生成的任务命令里带着${ZED_CUSTOM_GO_PACKAGE}这种花括号变量而 fish shell 对花括号的处理方式不一样。zed回复说这其实是个已知问题 需要做的是把任务的执行 shell“钉死”成特定的 shell才能让 fish 等用户正常使用。另一个 网友则问了个更实在的需求“能不能给go test加自定义参数比如我想跑go test -v -count1 ...怎么办” 这个问题把大家拉回了现实——内置任务只是起点离“完全替代终端”还差得远。不过这并不妨碍这个 新特性成为一个值得庆祝的里程碑。它标志着 Zed 这个新兴编辑器正在从“炫酷的代码编辑界面”向“能真正干活的工程工具”进化。毕竟一个连测试函数都不能一键跑起来的编辑器再好看也只是个花瓶。
阅读完成 · 觉得有帮助?
咨询建站