goland写dockerfile没提示 goland docker_goland无法运行go程序


上次我创建了一个简单的脚本,启动了一个Docker容器,可以从我的本地机器同步和执行Go源代码。但我还没有解释如何支持IntelliSense和调试,这对开发至关重要。让本文介绍一下。


注意事项

当我研究这个目标的解决方案时,我有点担心,因为它很大程度上依赖于代码编辑器/ IDE的供应商在容器内工作。幸运的是,有两个受欢迎的编辑器支持这一点:GoLand和VS Code。

GoLand支持看起来非常成熟,因为它已经存在了一段时间(源自IntelliJ)。但是,此功能仅适用于购买的版本。

VS Code Remote-Containers扩展程序刚刚发布,因此它没有GoLand那么成熟。尽管如此,该扩展程序是由Microsoft(非开源)正式开发和维护的,并计划在很多未来的服务中用作Web伴侣IDE或云IDE - 因此它非常有前途。在撰写本文时,功能集看起来也足以启动。我们来看看VS Code吧。

显然,我们可以直接在容器中使用Vim并在其中安装很棒的插件。然而,这将是我的最后一次考虑,因为我不仅为我而且为我的团队(以及你的团队)设置了这个,而且Vim的学习曲线对于大多数开发人员而言非常沉重。


VS Code远程容器

概念

VS Code Remote-Containers是一个扩展,可以帮助开发人员正常使用他们的VSC ode UI,但所有命令和操作都在容器内传播和执行。它实际上就像你是TeamViewer进入容器并在其中使用VS Code。


goland写dockerfile没提示 goland docker_goland无法运行go程序_02


VS Code的实现非常强大且抽象,大多数扩展仍然可以正常工作。

有了这个概念,我们可以将环境容纳在几乎所有类型的开发中,而不仅仅是Go。

详细

安装VS Code Remote-Containers扩展。

Dockerfile使用运行和调试应用程序所需的包和工具来编写定义图像。

.devcontainer.json在工作区根目录(旁边.vscode)创建一个引用Dockerfile。

{ "dockerFile": "Dockerfile