繁体   English   中英

vscode Code Runner 无法运行多个 go 文件

[英]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. .

打开vscode设置页面,点击右上角view json按钮在此处输入图像描述

将以下配置添加到 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM