IDE(Intelligent Development Environment) 对于软件开发者来说,是一个非常重要的工具。好用的 IDE 可以大幅提高开发效率,减少不必要的重复工作。
就目前而言,本地的 IDE 可能依然是主流的选择。但是,在本地进行开发,也是有着诸多缺点,例如:
- IDE 本身的资源消耗巨大(例如:GoLand 启动就需要 1.4G 内存)
- 语言框架、库依赖占用大量的磁盘(20G ~ 40G 都很正常,涉及到多种语言开发的话,磁盘消耗往往会翻倍)
- 涉及到云原生的话,又会很轻松地吃掉你大量的磁盘(40G+)
实际情况是,当在开发大型程序时,你的工作电脑至少需要 8核 16G 内存,并且磁盘空间至少 1T。磁盘最好是固态的,但为了经济考虑可以固态、机械硬盘各 500G。
对于注重研发效率、愿意给工程师提供高配笔记本的的公司也许不需要考虑这一点,但对于很多只给到以上基础配置(甚至都不如)的 Windows 笔记本的话,工作起来会感觉到很难受。
下面,我会介绍一些可以运行在远程的 IDE,本地只需要浏览器或者相应的客户端即可,可以极大地改善研发体验。
VSCode Server
VSCode 除了有桌面版,还提供了 CLI 版本(支持 Windows、Linux、MacOS),可以作为服务启动,用户通过浏览器来访问并使用。
打开官网下载地址,选择 CLI 版本,解压后能看到 code
命令。执行下面的命令会启动一个 Web 服务:
你可以从终端输出中看到访问地址,例如:http://127.0.0.1:8000
。对于在家庭网络、办公网络情况下,这种模式非常适合。但如果,你希望把开发环境暴露到公网,他还提供了隧道的方式,执行下面的命令,可以得到一个公网访问地址:
根据提示打开服务地址后,需要使用 GitHub 或 Microsoft 账号登录,然后就可以访问了。
这种模式,适合个人使用,难以满足团队使用的需求,例如:
- 无法为团队不同人员自动化地提供 IDE 实例
- 没有用户认证,无法保证使用安全
- 缺少实例资源(CUP、内存、硬盘等)控制
- 没有提供容器镜像版本,只有二进制文件
OpenVSCode Server
OpenVSCode Server 是一个基于 VSCode 的开源 IDE,由 GitPod 团队维护。
他默认提供了一个 Docker 镜像,可以直接使用 Docker 运行。
你也可以通过自定义 Dockerfile 来构建更加符合自己需求的镜像。
可以看到,你可以通过自定义镜像的方式,预先安装插件、工具、语音 SDK 等等。
我在 https://github.com/LinuxSuRen/openvscode-server-images 这个项目中维护了:Golang、Java、NodeJS 以及包含常见前后端的全量镜像,欢迎各位使用。
但需要注意的是,OpenVSCode Server 会从 https://open-vsx.org/ 这里获取插件列表,和 VSCode 的插件中心地址不同。当然,格式上是完全兼容的。
Coder
Coder 也是一个基于 VSCode 的开源 IDE。核心程序协议为 AGPL。
通过下面的命令启动:
他可以借助 Terraform 在云主机上创建远程 IDE 实例,也可以通过 JetBrain Gateway 来连接。