由于我的后端开发的程序最终是跑在Linux系统上的,所以如果直接在Windows上调试难免会有一些平台上的差异。所以,在Windows编码,而代码运行在Linux系统上进行测试和调试,就很有必要了。
以前,为了解决这个问题,我在Windows系统上安装了VMware软件,在VMware上安装centos系统,并配置ssh来实现这个需求。由于VMware每到一个新的环境新的系统时,都要新配置一个,费时费力,且VMware相对Docker来说,比较占用磁盘空间,而Docker只要编写好Dockerfile,创建一个舒适的开发环境只要几分钟就搞定了。本文将详解介绍一台新电脑从零开始打造golang的开发环境,最终实现效果如图。
1.在Windows系统安装golang环境
1. 从官网(golang.google.cn/) 中下载golang环境包,并安装
2. 创建GOPATH目录。在目录中创建好三个目录:bin、pkg、src
3.设置环境变量
新增两个变量GOPATH、GOROOT
在Path中添加环境变量
2. 安装Visual Studio Code
1.下载地址: code.visualstudio.com/docs/langua…
安装完成后,在扩展市场中,可以下载相关的插件。C/C++、Go、Remote - SSH是必须安装的插件,中文包,推荐安装、Docker 方便编写Dockerfile 推荐安装、Office Viewer用于编写markdown文件非常好用,推荐安装。注意:一定要看清扩展的开发者。
2.更新Go工具
- 在Visual Studio Code中,打开命令面板的HelpShow --> All Commands.或用快捷键(Ctrl + Shift + P)
- 搜索框输入:Go:Install/Update tools,点击搜索,然后从托盘运行命令
- 出现提示时,选择所有可用的Go工具,然后点击“确定”按钮
- 等到Go工具完成更新
3.配置Visual Studio Code自动保存
- "文件" --> “首选项” --> “设置” 打开设置页面,设置Auto Save
- off 关闭自动保存
- afterDelay 在一定延迟后自动保存
- onFocusChange 光标离开编辑页面自动保存
- onWindowChange 光标离开VS Code界面自动保存
3. 安装Docker
1. Windows安装docker的必要设置
-
开启WSL2功能: 控制面板 -> 程序 -> 启用或关闭windows功能
勾选:适用于Linux的windows子系统
勾选:虚拟机平台
2. 重启电脑
2. 下载安装Docker Desktop
下载地址:www.docker.com/
1.安装完成后,打开软件。如果报下图这种错误,别慌,只是需要更新wsl版本而已
点击错误弹窗中的链接,然后在网页中,按照第四步和第五步操作就OK了
3. 构建镜像和运行容器
在码云下载我提前写好的dockerfile文件 gitee.com/path188/gol…
- 双击BuildDockerImage.bat文件,执行脚本:文件中设置了root的密码为12345678,可自行修改。当看到“Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them 请按任意键继续. . .” 就说明构建成功了
也可以在docker desktop上面查看
- 双击RunGoDev.bat启动容器:端口号我映射的18080,本地文件是将E:\GOPATH\挂载到到容器/go,如果你的本地代码路径不是这个,则需要修改一下。最后在decker desktop查看运行情况,Status的状态为Running,则表示已经启动了。
4. VS Code连接容器
1. 首先确定安装了插件 Remote-SSH
2. 创建ssh连接
3.这里输入ssh root@127.0.0.1 -A
为什么输入127.0.0.1呢?因为我们并没有去做网络配置,是通过本地端口映射打通了与docker的通信
4.选择要更新的ssh配置文件
5.在配置文件中加入端口号,如果运行容器时,没改端口号的话,就是18080了
6.刷新远程资源管理器,就会出现一条ssh,点击在新窗口中连接,开始连接ssh
7.如果没有改dockerfile的话,这里密码是12345678
8.切到资源管理器,可以看是否已经连接到远程,然后打开文件夹
9.设置容器内部的路径:这里选择你运行容器时挂载的路径
OK,整个配置过程就完成了。如果觉得对你有帮助,建议收藏一下。
注意:
- 如果你发现编辑代码没有提示,那可能连接ssh后,没有重新安装插件,你切到扩展页,会有在SSH:127.0.0.1中安装字样,把关键的几个插件安装一下即可。