2016-06-28 57 views
-1

任何人都可以告诉我如何在Windows中一步一步地在Visual Studio中运行并使用调试器,以实现简单的运行程序?在Visual Studio代码中运行Golang代码

我从这个页面的引用:

https://marketplace.visualstudio.com/items?itemName=lukehoban.Go

但我无法运行代码。我目前的GOPATH是C:\ dev \ go。 请让我知道是否需要任何其他细节。

+1

编译器(调试器)抱怨什么? – 2016-06-28 15:43:07

+0

我们需要知道该指南中的哪一步失败,以及如何执行,或者您无法执行哪些步骤。现在你要求我们写另一篇教程,如果我们这样做了,它仍然可能不适合你。 – twotwotwo

+0

这就是我开始调试时得到的结果:can not load package:package。:no buildable Go source files in c:\ dev \ go 退出状态1 –

回答

3

首先,调试器不是Go的一部分。 Microsoft堆栈下的C#,F#和其他托管语言具有调试器,因为它是.NET堆栈的一部分。

二,Visual Studio Code!= Visual Studio。 VS Code是一个轻量级的IDE,它的可扩展性旨在通过创建跑步者来支持各种语言。但事情就是这样:其他人需要编写跑步者,并希望他们用调试器(如果可用)创建无缝体验。这就是为什么你有多个版本的语言选择器。

换句话说:如果你想要一个VSCode兼容的Debugger + Runner for X语言,请阅读X语言关于如何调试它。

Go也不例外。 You must read the language spec, and specifically I recommend Effective Go as it explains why you don't need a Debugger

-

所有这一切说

现在,社会已经走到一起,一定程度上创造了GoLang调试器。 It is called Delve

学习如何为VS代码安装它不在这篇文章中。我建议找到一个支持Go编码的VSCode软件包(至少有一个是我使用过的)。

意见:这是VSCode调试Go的好经验。我已经尝试过。虽然在视觉上令人满意,但我回到了Atom,因为它支持许多其他Go实用程序和Linters - 其中大部分都缺少VSCode(并且某些软件包不允许我修改配置以排除某些Go工作流程)。在Windows上安装调试器转到语言

+0

谢谢队友。我的不好,我忘了用Visual Studio编写“CODE”。我已经安装了Delve。但是当我开始调试时出现这个错误。 **无法加载软件包:软件包:无法在c:\ dev \ go中使用可建立的软件源文件** 退出状态1 –

+0

再次,在VS Code中查找专门为进行调试而构建的软件包。他们可能会安装其他版本的delve,或者有关于如何执行与该软件包兼容的说明。 – eduncan911

1

一种可能的选择是:

go get github.com/derekparker/delve/cmd/dlv 

在此之后,Visual Studio代码(vscode)将能够运行(调试)启动配置。

默认情况下,文件launch.json点到项目的根目录:

"program": "${workspaceRoot}" 

如果你想将其配置到另一个位置(例如你的/包/富/目录。)然后对其进行编辑,如下:

"program": "${workspaceRoot}/foo/dir" 
+0

你的意思是我的代码所在的位置。我的代码在** C:\ dev \ go \ src \ github.com \ golang \ game \ game.go **。错误我得到的是:无法加载包:包。:没有可建立Go源文件在C:\ dev \ go 退出状态1 –

+0

@ A-kay请尝试阅读以下信息:https://golang.org /doc/code.html和https://talks.golang.org/2014/organizeio.slide#1。在vscode中,“program”中的“workspaceRoot”:“$ {workspaceRoot}”表示您当前的项目工作区。 – mezoni

0

如果您想调试在应用程序服务器内部运行的Go模块,您可以查看debugging golang appengine module with visual studio code

说明适用于Appengine服务器,但您可以轻松理解如何使用Delve从vscode执行远程调试。

+1

请考虑指出您提供的链接的相关部分作为答案的一部分。最后只有链接的答案可能没有用处。 –