远程开发方案
Cloud Studio - 开启云端开发模式 WebIDE 腾讯的这个在线开发工具还不错,但是目前还没有出定价方案,每日仅支持 4 小时在线开发
较为完善的在线运行环境
https://stackblitz.com/ 将 node 环境搬到了浏览器,vscode online 的编辑体验
https://codesandbox.io/ 非常成熟的在线代码运行环境,但使用体验受限于网络,在国内还行吧
自行配置一台服务器
-
自行配置环境 然后安装 cdr/code-server: VS Code in the browser (github.com)
-
最好是配置域名以及 https 不然会有一些 service-worker 的问题
-
移动端使用 code-server
-
然后再添加为 pwa 应用,感觉非常良好
-
更好的方案是使用 FusionApp 构建一个套壳app,这样可以实现全面屏沉浸,且使用外接键盘右键单击时可以避免一些浏览器的闪现一下菜单就又没了的问题
-
funsionApp vs code 套壳 源代码 vs code1.0.1.fap 自行修改其中的浏览页地址为自己的即可
-
-
建议使用百度输入法(参见
手机编程输入法选型 ) -
ctrl+c 无法使用,但右键菜单中的复制按钮可以使用,猜测是权限问题浏览器限制了没有单击这样的交互则无法复制
-
-
防卡死:code-server 似乎有一点问题,其中一些进程会一直吃内存
rfjakob/earlyoom: earlyoom - Early OOM Daemon for Linux (github.com) 防止 linux 服务器由于程序大量占用内存后直接卡死无法 ssh 连接, earlyoom 会监测内存使用情况,在内存不够的时候杀掉占用内存过多的进程。
-
linux 有自带一个 oom-killer 但这玩意需要等很长时间,也就是实在卡的没办法了才会去清理,我等不了那么久
code-server 中遇到的一些问题
-
配置项
terminal.integrated.fontFamily
的后面加上,monospace
在我手机上可以解决终端字符过宽的问题 -
配置使用 vscode 的扩展商店
-
当我直接使用 vsix 安装 volar 的时候
-
遗憾的是 code-server 由于 vscode 版本比较低
⭐❤ volar vue3 模板 ts 类型提示插件 不能使用, volar 也明确了不会发布到 open-vsx.org
-
-
但发现配置成 vscode 的扩展商店却可以直接安装 volar 并且能生效,起飞🛫 这是因为 他会自动选择适合当前 vscode 版本的扩展,虽然没有最新特性,但也可以接受了
-
code-server/如何使用我自己的扩展市场?,这个环境配置我在使用
systemctl start code-server@$USER
的时候总是失败,后来我使用 pm2 进行管理了,配置文件如下-
module.exports = { apps: [{ name: "code-server", script: "code-server", interpreter: "bash", env: { "SERVICE_URL": "https://marketplace.visualstudio.com/_apis/public/gallery", "ITEM_URL": "https://marketplace.visualstudio.com/items", } }] }
-
-
-
还有一个遗憾是 GitHub Copilot 扩展还没有适配
-
vscode 后来更新的设置同步功能也不能用了,还需要使用 setttings sync 提供的同步
-
C# FixFormat 这个扩展在 code-server 安装失败了,没有遇到其他问题
-
我五十多个扩展一开就得消耗 1G多的内存
-
在同步扩展后直接过一会就卡死,100% cpu和内存占用 uriTransformer.js 脚本使用 100% CPU 时 VS 代码通过另一个 SSH 主机连接到远程 SSH 主机 »问题#3857 •微软/vscode远程发布 (github.com)
-
禁用 remote -SSH 扩展后正常,开始的时候占用还是有点高,但过一会就好了可能其他地方还有问题。扩展毕竟有点多
-
-
使用云服务器与节省经费
-
例如采用云服务器厂商提供的 ecs (最好选择可以停机不收费的)
-
使用这个方案还有一个优势就是可以随意变配,cput、内存、带宽不够直接分分钟加上去
-
由于停机节省模式下会回收 公网 ip ,所以还需要自行更新 dns 解析,又由于 dns 解析的 ttl 比较高 可以使用
ipconfig /flushdns
命令立刻刷新本机的 dns 记录 -
在安卓设备上可以使用 hosts go 这样的通过 vpn 来修改dns
-
作为开发者最好选择外国的服务器,因为可以得到更好的网络速度,例如 npm 还有系统软件源的下载比国内要快得多
一个用于自动进行停机以及更新 dns 解析的项目 https://github.com/2234839/auto_stop_dev
vscode web版
目前网上随便一搜的教程基本都是直接 yarn web 启动,根本没有进行过压缩的,这种非本地打开需要及其长的时间,几乎无法用于生产
链接到此文档的相关文档
by 崮生 from 崮生 • 一些随笔 🎨,欢迎 赞助本文
本文欢迎分享与聚合,全文转载未经授权( 联系我)不许可。