用Code Server随时随地打开你的VS Code
想把家里电脑变成一个永远在线的开发环境,出门用 iPad、公司电脑、酒店商务机,只要能上网就能打开「自己那台 VS Code」继续写代码?开源项目 code-server 就是干这个的:它在你的电脑上跑一个服务,把完整的 VS Code 编辑器通过浏览器渲染出来,任何联网设备打开网址就是熟悉的编辑器界面。
下面按「需求描述 → 解决方案 → 配置过程」三步走。
需求描述
典型场景很明确:
- 代码、环境、插件、终端全都装在自己电脑上,不想到处同步;
- 不想被设备绑死——iPad、别人的 Mac、网吧 Windows,只要能开浏览器就想直接接着写;
- 不想为了"换个地方写代码"去买云服务器、搞 SSH 隧道、装客户端。
换句话说,目标是:把电脑上的 VS Code 变成一个网址,任何联网设备访问即用。
解决方案
code-server 会以服务形式跑在你的电脑上,监听一个端口,对外提供 HTTPS 的编辑器页面。访问端不需要装任何东西,浏览器即是客户端。
对外暴露服务时需要一张 SSL 证书,让浏览器走 https:// 而不是被拦截的 http://。code-server 官方在文档里给出了几种证书路线,其中最省事的是 自签名证书(self-signed certificate),前提是:
- 你的电脑(实例)需要能被互联网访问到;
- 你不想买域名、也不想用 SSH 端口转发。
需要提前知道自签名证书的几个限制(来自官方文档,务必留意):
- iPad 不支持自签名证书,iPad 上直接访问会失败,详细情况见官方
ipad.md; - 自签名证书可能给 code-server 带来一些意外的小问题;
- 因此官方把它定位成「最后手段(last resort)」——只有在你确实不想买域名 / 无法做端口转发时才用。
如果你能接受这些限制,自签名这条路就足够轻量,继续看配置过程。
配置过程
以下命令基于 code-server 官方文档,目标是在电脑(实例)上启用自签名证书、监听 443 端口,然后通过 https://<你的IP> 访问。
1. SSH 进入你的电脑 / 实例
确认这台机器对公网开放了 HTTP/HTTPS 流量(防火墙、安全组放行 443)。
2. 修改 code-server 配置
code-server 的配置文件在 ~/.config/code-server/config.yaml。用官方给的两条 sed 一键改:开启自签名证书、把监听地址从本机回环改成全网卡 + 443 端口。
# 把 "cert: false" 改成 "cert: true"
sed -i.bak 's/cert: false/cert: true/' ~/.config/code-server/config.yaml
# 把 "bind-addr: 127.0.0.1:8080" 改成 "bind-addr: 0.0.0.0:443"
sed -i.bak 's/bind-addr: 127.0.0.1:8080/bind-addr: 0.0.0.0:443/' ~/.config/code-server/config.yaml
# 允许 code-server 监听 443 这个特权端口
sudo setcap cap_net_bind_service=+ep /usr/lib/code-server/lib/node
sed -i.bak会同时生成一个.bak备份,方便回滚。
3. 重启 code-server
sudo systemctl restart code-server@$USER
4. 浏览器访问
现在在任意联网设备的浏览器里打开:
https://<你的实例IP>
就会看到 code-server 的登录页,输入 config.yaml 里的密码即可进入编辑器。
5. (可选)消除自签名证书的浏览器警告
自签名证书浏览器会报「不安全」并弹警告。官方推荐用 mkcert 生成一张被本机操作系统信任的自签名证书,然后把证书路径填进 code-server 配置里的 cert 和 cert-key 两个字段即可消除警告。
注意:mkcert 让本机信任这张证书,并不等于让 iPad / 其他设备也信任。跨设备无警告访问仍然需要一张正规证书(域名 + Let’s Encrypt 等)。
小结
- code-server = 把本机 VS Code 变成网址,浏览器即客户端;
- 自签名证书路线最省事,但 iPad 不支持、可能伴随小问题,仅当不想买域名 / 不想端口转发时使用;
- 核心就改两行配置(
cert: true、bind-addr: 0.0.0.0:443)+ 一条setcap+ 重启,之后https://<IP>即可访问。