我使用VSCode设置了Go语言的调试器,直到它能正常运行

这是我自己用的备忘录。
我将记录我遇到的困难之处。

基本上可以按照以下文章的方式完成。

用Visual Studio Code配置Go语言的调试环境。

此外,由于我对Go还是初学者,所以可能会存在不准确的描述。

环境

    • macOS Catalina

 

    • Go 1.16.3

 

    • VS Code 1.55.2

$GOPATH を設定済み

$GOPATH/bin を環境変数 $PATH へ追加済み

「経緯」的中文表述:

经过或过程。

我打算做以下的事情。

透过Go语言一探系统编程的世界

我使用 IntelliJ IDEA 社区版来运行Go的调试器。

然而,根据目前的比较表来看,在IntelliJ IDEA Community版本中似乎无法使用Go语言。

IntelliJ IDEA
IntelliJ IDEA 是一款集成开发环境。

因此,我們的目標是在VS Code中建立相同的環境。

迷上了这个点。

去拿失败了。

使用go get命令失败,出现以下错误。

$go get github.com/golang/example/hello: module github.com/golang/example/hello: Get "https://proxy.golang.org/github.com/golang/example/hello/@v/list": x509: certificate is valid for xxxxxx, not proxy.golang.org

发生这种现象的原因是因为在进行原因调查时发现,相关环境中的proxy.golang.org被阻止了。

只需要一个选项,以下是对该句的中文释义:只要执行以下命令,就可以避免使用 proxy.golang.org 引起的问题。

# 設定を上書き
$go env -w GOPROXY=direct

# 確認
$go env |grep GOPROXY
GOPROXY="direct"

由于这是一个环境相关的问题,所以在许多情况下,这种现象似乎不会发生。

在通过VS Code执行Go时会失败。

创建一个用于“Hello World”的文件。

package main
import "fmt"
func main() {
    fmt.Println("hello world")
}

从终端上看,成功了。

$go run hello.go
hello world

然而,如果在VS Code中打开该文件并从VS Code的“运行和调试”选项中执行,则会出现以下错误。

go: go.mod file not found in current directory or any parent directory; see 'go help modules'
exit status 1
Process exiting with code: 1

也许如果设置了 launch.json,可能会运行得很好,但是尝试了一下,仔细查看以下的指示,但没有成功。

用于Golang的VScode的Go插件。

当再次检查错误时,发现缺少了 go.mod 文件,以此关键词进行调查。

使用Go Modules和多模块结构回到Go Home的方法。

根据上述文章进行尝试,取得了成功。

首先,在终端中执行以下操作。

# ディレクトリ作成
$mkdir hello-module

# 移動
$cd hello-module

# カレントディレクトリに go.mod を作る
$go mod init hello-module
$ls
go.mod

# こんなことが書いてある
$cat go.mod
module hello-module

go 1.16

# helloworld を書く
$vi hello.go

# Terminal 上で動くことを確認
$ go run hello.go
hello world

然后,打开VS Code并在上述文件夹(这个例子中是hello-module)中执行相同的”运行和调试”命令,成功确认了”hello world”的输出。

另外,还可以通过设置断点来进行调试等操作来确认。

go.png

看到以下的内容可能是由于模块兼容模式所造成的影响,但由于其可以正常运行,所以暂时不会进行进一步的调查。

Go语言的模块管理【1.16版本修订版】。

广告
将在 10 秒后关闭
bannerAds