[英]vscode Code Runner cannot run multi go files
例如,我有一个简单的项目叫做demo
demo
├── go.mod
├── main.go
└── sum.go
下面是代码,对于go.mod
,您可以在 demo 目录下运行go mod init
自动生成(但您可以自己创建)
// main.go
package main
import "fmt"
func main() {
num3 := sum(1, 2)
fmt.Println(num3)
}
// sum.go
package main
func sum(num1 int, num2 int) int {
return num1 + num2
}
// go.mod
module demo
go 1.17
现在在main.go
文件中,右键单击鼠标→运行代码,这意味着您将使用 Code Runner 运行 main.go,但它会打印错误
# command-line-arguments
demo/main.go:6:10: undefined: sum
这个错误的原因是 Code Runner 只运行main.go
文件,如果我们cd
到终端中的演示路径并运行go run.
,代码可以很好的运行。
我们如何解决这个问题?
如果我们想用 Code Runner 运行代码,我们应该添加一些配置,可以让 Code Runner cd
进入目标文件夹,然后运行go run.
.
将以下配置添加到 json
"code-runner.executorMap": {
"go": "cd $dir && go run .",
},
"code-runner.executorMapByGlob": {
"$dir/*.go": "go"
},
请注意,设置 json 可能已经有"code-runner.executorMapByFileExtension"
,但这与"code-runner.executorMap"
,不要添加"go": "cd $dir && go run.",
以"code-runner.executorMapByFileExtension"
。
添加配置后,现在您可以使用 Code Runner 运行您的 go 代码,您不需要重新启动或重新加载 vscode。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.