发布于 2026-01-06 0 阅读
0

我的开发环境

我的开发环境

我的开发环境

太长不看

  • 我的开发环境是 Ubuntu 18.04 服务器虚拟机。
  • 我几乎可以从任何机器上使用VS Code 远程开发扩展程序连接到它。我已在以下设备上使用过:
    • Linux(多种发行版)
    • Mac OS
    • 视窗

尝试次数 1

我只想用一台机器。我可以用笔记本电脑,然后把它连接到家里的桌子或公司的桌子上,但这存在一些重大问题。我不想只能选择 macOS。我的 Linux 笔记本电脑不太好(电池续航/Wi-Fi 问题等等),而 Windows 当时还没有 WSL 2。以下是我使用这种方法和 MacBook Pro 时遇到的一些主要问题:

  • 我的扩展坞设置不太方便(很多线缆或不稳定的转换器/扩展坞)。
  • Mac 上的 Docker 不如 Linux 上的 Docker 好用。
  • 我不喜欢只有一台机器的想法。如果它因为任何原因坏了,我就没法工作。
  • 由于每次我去会议室关上笔记本电脑时,程序都会进入睡眠状态,因此很难测试长时间运行的进程。

第二次尝试

我平时用三台电脑:家用台式机(Windows 系统)、工作台式机(Linux 系统)和笔记本电脑(macOS 系统)。能够在任何一台电脑上工作,然后又能无缝切换到另一台电脑继续之前的工作,这有点麻烦。以下是我遇到的一些问题:

  • 即使更改尚未完成,我也必须将其提交到 git,以确保在另一台机器上也能访问这些更改。
  • 尝试使用 rsync 命令同步文件,因为这些文件是必需的,但没有在 Git 中进行跟踪。
  • 针对不同的编程环境(Linux/macOS/Windows)设置有所不同。
  • 确保所有我需要的库都已安装,以便我能使用一些新东西。

尝试次数 3(当前)

我花了很长时间处理第二次尝试,然后发生了一件很棒的事情…… VS Code 远程开发功能发布了!

我使用 VS Code 作为我的主要编辑器已经有一段时间了,这个扩展程序解决了我的大部分问题!我用它来通过 SSH 将本地的 VS Code 实例连接到远程机器。

这使我只需一台开发服务器,即可从我的任何一台机器连接到它。我使用了一个无头安装的 Ubuntu 18.04 Server 作为我的开发服务器。然后,我可以在满足以下要求的任何一台机器上工作并提高效率:

  • 能够运行 VS Code
  • 能够通过 SSH 连接到我的开发服务器

就是这样。

选择服务器

你可以发挥创意,选择最适合自己的开发环境。以下是一些建议:

  • 1 台大型服务器
  • 多台专用服务器
    • 不同的网络接入方式(家庭网络/企业网络)
    • 不同的操作系统(任何Linux发行版/FreeBSD/Windows/macOS)
    • 不同的CPU架构
  • 使用虚拟机,您可以利用快照和便捷的远程管理功能。
    • 在您的虚拟机管理程序上自行托管它
    • 使用像 Digital Ocean 这样的 VPS 提供商
  • 桌面
    • 它不需要是无头服务器。您可以在家办公时,从家里的电脑连接到您的工作电脑。

选择服务器之前需要考虑以下几个方面:

  • 内存使用情况
    • VS Code 运行在远程服务器上。它并非只是 sshfs 的一个高级实现。
  • VS Code 扩展
    • 即使本地已安装,许多扩展程序也必须在远程计算机上单独安装。
  • 网络访问
    • 这只会将 VS Code 连接到您的远程服务器,不会连接其他任何程序。因此,如果您在远程服务器上运行 Web 服务器,则可能无法直接访问它。VS Code 提供端口转发功能,因此您本地计算机上的 Web 浏览器可以访问远程计算机上的 Web 服务器。

我在工作桌上的虚拟机管理程序上运行虚拟机,原因如下:

  • 我为我的虚拟机创建了多个快照,这样如果我搞砸了什么太严重的事情,就可以快速恢复。
  • 如果我的台式机因为任何原因(例如 Windows 更新等)出现故障,我可以拿出我的笔记本电脑,继续我之前的工作。
  • 它可以通过网络访问我公司的所有内部资源(数据库/API等)。
  • 唯一的缺点:如果我不在办公室,就需要打开VPN(这没什么大不了的)。

选择客户

目前我们对客户的要求相当低:

  • 可以运行 VS Code
  • 可以通过 SSH 连接到你的开发服务器

VS Code 可在所有主流操作系统(Windows/Linux/macOS)上运行,而且由于它是开源的,其他人已经将其编译成适用于大多数环境(FreeBSD/Chrome OS/Raspberry Pi 等)的版本。

这让我对桌面系统的要求大大降低了。之前我一直坚持使用基于 Debian 的 Linux 发行版,因为我主要在 Ubuntu 服务器上部署程序。但现在我觉得什么系统都行。我甚至开始认真考虑选择 Windows,因为我只需要用它来管理窗口。这样我就不用担心桌面应用程序不支持 Linux 的问题了。

我不再需要高性能的台式机或笔记本电脑来进行开发。我的客户几乎可以是任何类型的。以下是我正在考虑尝试的一些方法:

  • 微软 Surface Go(带扩展坞)
    • 即使是 WSL 2,我之前也担心它的性能不够强大……现在我不担心了。
  • Chromebook
    • 之前我担心要让所有功能正常运行需要很复杂的步骤……现在我不担心了。
  • 树莓派 4
    • 这可能不是个好主意,但我很好奇想试试。

结论

我知道接下来一段时间我可能需要尝试不同的客户端,但这没关系。关键在于我可以快速上手使用新客户端。我只需要安装 VS Code 并获得开发服务器的 SSH 访问权限即可。

这种方法我只发现了两个真正的缺点:

  • 需要对开发服务器进行网络访问
    • 我遇到无法上网的情况越来越少了。由于大多数航班都提供免费网络,加上我的手机热点,这对我来说不是问题。
  • VS代码锁定
    • 大多数(如果不是全部)其他编辑器都不具备这项功能,所以我非常依赖 VS Code。这项功能对我来说已经变得如此重要,以至于我只能使用 VS Code 这一点也并不困扰我。

我对这套方案非常满意。感觉这正是我梦寐以求的。我一直都很喜欢客户端/服务器架构,而且我觉得这套方案完美地运用了这种架构。

文章来源:https://dev.to/aaronellington/my-development-environment-5242