V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yanyanlongxia
V2EX  ›  Visual Studio Code

用 vps 搭建属于自己的在线 VSCode

  •  
  •   yanyanlongxia · 2024-08-14 13:33:59 +08:00 · 7676 次点击
    这是一个创建于 384 天前的主题,其中的信息可能已经有所发展或是发生改变。
    教程在我的博客里:
    https://yylx.tech/online-vscode

    用了两天下来感觉体验非常好,主要是可以多端同步,真的很方便哈。
    用的是香港的 vps ,加载速度非常快,体验和本地也没什么区别。
    58 条回复    2024-08-16 11:31:26 +08:00
    makizhang
        1
    makizhang  
       2024-08-14 13:44:12 +08:00 via Android
    docker 部署更简单
    ihainan
        2
    ihainan  
       2024-08-14 13:51:28 +08:00
    其实都挺好,就是不支持 Remote SSH Extension 有些遗憾。
    shenxgan
        3
    shenxgan  
       2024-08-14 13:51:43 +08:00
    不错
    KongLiu
        4
    KongLiu  
       2024-08-14 14:02:11 +08:00
    还能 web 版,那是不是能直接在线编辑 hexo 的博客了
    yanyanlongxia
        5
    yanyanlongxia  
    OP
       2024-08-14 14:07:33 +08:00
    @KongLiu 理论上来说是的,github 集成很方便。
    kingwrcy
        6
    kingwrcy  
       2024-08-14 14:11:00 +08:00
    1c1g 完全不够用啊,现在 8c32g 的 pc 都经常卡呢,1c1g 就是个玩具吧
    yanyanlongxia
        7
    yanyanlongxia  
    OP
       2024-08-14 14:14:40 +08:00
    @kingwrcy 也得看要运行什么代码了,我用 1c1g 的 vps 能运行最基础的一些代码,学习 python 是够用了。
    要是项目大的话配置肯定是不够了。
    yinmin
        8
    yinmin  
       2024-08-14 14:30:51 +08:00 via iPhone
    chrome 、edge 浏览器访问 code server ,终端窗口的显示正常吗?有没有按键延迟显示的情况?
    hi2hi
        9
    hi2hi  
       2024-08-14 14:33:15 +08:00
    web vs code ,4 核 8G 可以流畅体验;
    后来又 ssh remote 以后,就一直远程 vscode 了;
    onichandame
        10
    onichandame  
       2024-08-14 14:35:44 +08:00
    正在使用 code-server 日常开发,延迟低的话体验良好。唯一的问题是很难做前端开发,像 Web/Android/Qt/iOS 这些
    yanyanlongxia
        11
    yanyanlongxia  
    OP
       2024-08-14 14:36:27 +08:00
    @yinmin chrome 上终端显示都是正常的,至于有没有按键延迟显示应该取决于你的网络延迟了。我这里到香港 45ms 延迟,体验还是很丝滑的。
    jwz426
        12
    jwz426  
       2024-08-14 15:14:54 +08:00
    remote ssh 效果更好。这两年都是 remote ssh 回家。好处多多。
    1. 通过 vscode 做笔记,笔记保存在自己家里。
    2. 搞 web 开发的话,remote ssh 可以用 port forward 问题也不大。
    3. 顺便 port forward 个 socks 5 ,给公司电脑的浏览器翻墙。
    yanyanlongxia
        13
    yanyanlongxia  
    OP
       2024-08-14 15:19:27 +08:00
    @jwz426 好诶,我去试试
    estk
        14
    estk  
       2024-08-14 15:21:29 +08:00 via iPhone
    cloudflare 的 workers 在线编辑貌似也用 vscode 了
    zhhmax
        15
    zhhmax  
       2024-08-14 15:23:07 +08:00
    这个和 code tunnel 有什么区别呢,我是在服务器上运行 code tunnel ,然后 vs code 每次远程到服务器上开发测试。( code tunnel 也支持在浏览器上面操作)
    kaiveyoung
        16
    kaiveyoung  
       2024-08-14 15:27:34 +08:00 via Android
    原生 vscode 也是套的 electron ,所以性能上几乎没区别的,我公司主机起 code-server ,所有地方都在用 web 开发(包括在公司主机本身),用 chrome 的安装到 app 后,几乎看不出和原生的区别
    nonez
        17
    nonez  
       2024-08-14 15:39:27 +08:00
    有台甲骨文 ARM 的机器能弄吗?
    yanqiyu
        18
    yanqiyu  
       2024-08-14 15:41:19 +08:00   ❤️ 1
    我在自己的 homelab 的开发机上搭了 code server
    效果基本上和原生一致

    唯一的担忧就是这东西要是被黑走了 token 那就是一个完整的 shell 权限了
    yanyanlongxia
        19
    yanyanlongxia  
    OP
       2024-08-14 15:41:58 +08:00
    @nonez 应该是可以的,github 的 release 上有 arm 版本,你可以试试看一键脚本是否支持。
    sparkinglemon
        20
    sparkinglemon  
       2024-08-14 15:42:07 +08:00
    @nonez arm 完全没问题,用了快两年了吧
    fengtons
        21
    fengtons  
       2024-08-14 15:44:11 +08:00 via Android
    香港 VPS 用哪家? 1C1G 多少钱一个月?
    yanyanlongxia
        22
    yanyanlongxia  
    OP
       2024-08-14 15:47:56 +08:00   ❤️ 1
    @fengtons 2.2 美金一个月 nube.sh

    三网中只有移动是直连的,如果是电信联通的话延迟可能会比较高
    Ploter
        23
    Ploter  
       2024-08-14 15:49:52 +08:00 via Android
    之前部署过 code server ,是只能在网页编辑吗?
    还想着能不能通过本地 VS Code 连接,实现远程 SSH 一样的效果。
    现在直接 SSH 远程,动不动就要重新装扩展,断开连接后还占用内存好一会。
    yanyanlongxia
        24
    yanyanlongxia  
    OP
       2024-08-14 15:53:22 +08:00
    @Ploter 应该是只能在网页编辑吧,不知道有没有第三方插件支持本地 vscode 连接
    yulgang
        25
    yulgang  
       2024-08-14 16:04:25 +08:00
    我看华为云、oracle cloud 的 Cloud shell 里都给集成了这个 vscode
    CodeCodeStudy
        26
    CodeCodeStudy  
       2024-08-14 16:42:50 +08:00
    @kingwrcy #6 可以在 VPS 上只搭建 frp ,通过内网穿透的方式访问局域网内的主机,带宽选按流量计费的,这样带宽会非常大,阿里云有突发实例 t6 ,%5 双核,0.5G 内存,很便宜
    TabGre
        27
    TabGre  
       2024-08-14 16:51:00 +08:00 via iPhone
    为什么你们可以走公司网络到家里 安全不管的吗?
    CodeCodeStudy
        28
    CodeCodeStudy  
       2024-08-14 16:55:55 +08:00   ❤️ 1
    https://update.code.visualstudio.com/latest/server-linux-x64-web/stable

    这个是 vscode 官方的。楼主的地址是 coder-server 的,属于第三方编译。

    解压出来即可。

    写个脚本,比如叫 start.sh ,内容如下

    nohup ./bin/code-server --host 0.0.0.0 --port 50028 --server-data-dir server_data --user-data-dir user_data --extensions-dir extensions --without-connection-token --accept-server-license-terms --telemetry-level 1>1.log 2>2.log &

    然后 chmod +x start.sh
    然后 ./start.sh 启动即可

    --without-connection-token 可以换成 --connection-token your_connection_token

    停止的话可以通过 ps -ef | grep code 找到 pid ,比如是 12345 ,然后 kill 12345 即可。
    CodeCodeStudy
        29
    CodeCodeStudy  
       2024-08-14 16:57:55 +08:00
    @nonez #17
    @yanyanlongxia #19
    ARM 可以的,一键脚本里有判断机器的 arch


    arch() {
    uname_m=$(uname -m)
    case $uname_m in
    aarch64) echo arm64 ;;
    x86_64) echo amd64 ;;
    *) echo "$uname_m" ;;
    esac
    }
    CodeCodeStudy
        30
    CodeCodeStudy  
       2024-08-14 16:58:56 +08:00
    @yanqiyu #18 所以要部署到 docker 容器或者虚拟机里
    fkname
        31
    fkname  
       2024-08-14 17:02:18 +08:00
    我也搭了,但是在司打不开,可能有啥安全校验,回家又不想用,闲置了
    jadeborner
        32
    jadeborner  
       2024-08-14 17:05:56 +08:00
    和 remote ssh 有啥区别?
    seeu2ex
        33
    seeu2ex  
       2024-08-14 18:07:14 +08:00 via iPhone
    @kingwrcy 自己一个应该够用,多加一个容器就不行了
    yanyanlongxia
        34
    yanyanlongxia  
    OP
       2024-08-14 20:02:27 +08:00
    @jadeborner 个人是感觉本质上是一样的。只不过这个浏览器版本可以跨设备随便使用,不需要在本地安装 vscode 。包括平板等不易安装 vscode 的平台。
    SenLief
        35
    SenLief  
       2024-08-14 20:16:57 +08:00
    主要是需要有一个好的网络,还是在家服务器上比较好。
    superedlimited
        36
    superedlimited  
       2024-08-14 20:34:55 +08:00
    家里闲置的电脑装个 linux ,再装个 open ssh ,再用 tailscale 打通所有电脑,直接 vscode ssh remote 到家里的服务器,不是更爽。还比云端更有保障,数据都在本地。
    jackmod
        37
    jackmod  
       2024-08-14 20:47:56 +08:00
    这是个好东西。放在性能最强的机子上用 docker 来服务,随时随地都可以享受快速构建。
    不过考虑一些物理风险,重要且紧急的项目,还是该配合多终端副本,并选用经典的 git 同步。
    emberzhang
        38
    emberzhang  
       2024-08-14 22:37:02 +08:00 via iPhone
    我看 code-server 只能用第三方插件市场呀,像 jupyter lab 这种微软官方做的插件就没法下到了
    yanyanlongxia
        39
    yanyanlongxia  
    OP
       2024-08-14 22:45:06 +08:00
    @emberzhang 这应该是自带支持的,不需要安装插件吧。
    python 安装个 jupter 就可以了。
    是官方插件还有额外的功能吗?

    ![img]( https://tu.yylx.tech/5Jz7LQ8f+)
    emberzhang
        40
    emberzhang  
       2024-08-14 23:39:19 +08:00 via iPhone
    @yanyanlongxia 宿主机直接装个 jupyterlab 也行,但是微软好像是做了 4 个 jupyter 的插件,功能可能更全一点套装。
    另外像 oracle 官方的 mysql 插件在 code server 也是搜不到的
    allinster
        41
    allinster  
       2024-08-15 07:22:00 +08:00
    微软官方的 vscode.dev 了解下?
    Nicklove
        42
    Nicklove  
       2024-08-15 08:48:23 +08:00
    可以参考这篇文章,很全面
    https://cloud.tencent.com/developer/article/1978428
    Nicklove
        43
    Nicklove  
       2024-08-15 08:48:57 +08:00
    @Nicklove 不对,应该说这篇文章也挺全面
    https://cloud.tencent.com/developer/article/1978428
    gorvey
        44
    gorvey  
       2024-08-15 09:09:15 +08:00
    仅学习用,不如用 codesandbox 之类的在线编辑器
    ofnh
        45
    ofnh  
       2024-08-15 09:13:47 +08:00   ❤️ 1
    @emberzhang #38 可以用,可以单独通过变量 EXTENSIONS_GALLERY 进行设置,但是这种方式有许可证风险

    详情请参考
    https://coder.com/docs/code-server/FAQ#how-do-i-use-my-own-extensions-marketplace
    layxy
        46
    layxy  
       2024-08-15 09:32:39 +08:00
    在公司最好还是不要用,搞不好就给你来一下
    dafen7
        47
    dafen7  
       2024-08-15 09:42:24 +08:00
    vscode 不是自带了 code tunnel 吗,还有必要搞这个吗
    artiga033
        48
    artiga033  
       2024-08-15 10:01:14 +08:00 via Android
    你这 1c1g 编译个稍大点的项目就直接爆炸了吧。写代码的多端同步为啥不直接用 git 。

    就算要用 vscode 我感觉也不如自己电脑上桌面版的 vscode 直接`code serve-web`

    或者网络条件好干脆直接 github codespace
    newrefar
        49
    newrefar  
       2024-08-15 10:07:09 +08:00
    @dafen7 因为平板之类的也能用
    p1gd0g
        50
    p1gd0g  
       2024-08-15 10:10:21 +08:00
    没 vps 丢在开发机就好了,之前尝试过
    l4ever
        51
    l4ever  
       2024-08-15 11:08:46 +08:00
    不行, 我喜欢 ctr+w
    一不小心浏览器 tab 就关闭了.
    joker8ren
        52
    joker8ren  
       2024-08-15 11:38:15 +08:00
    博客是 notion 弄的吧
    yanyanlongxia
        53
    yanyanlongxia  
    OP
       2024-08-15 11:47:40 +08:00
    @joker8ren 是哒,这个博客里还有一篇专门讲我搭建这个博客的方法的教程
    joker8ren
        54
    joker8ren  
       2024-08-15 11:57:27 +08:00
    @yanyanlongxia #53 我没有用 vps cf 搭建的
    freedom2030
        55
    freedom2030  
       2024-08-15 12:12:08 +08:00
    @yanqiyu vpn 有风险的东西,永远不要暴露在公网
    yanqiyu
        56
    yanqiyu  
       2024-08-15 19:01:19 +08:00
    @freedom2030 #55 所以我隔了一层 wireguard ,还好机器只有我一个人用所以不应考虑这东西可能打穿用户之间的隔离之类的问题
    fuscoyu0912
        57
    fuscoyu0912  
       2024-08-16 10:41:28 +08:00
    可以用 tailscale 做内网穿透
    dafen7
        58
    dafen7  
       2024-08-16 11:31:26 +08:00
    @newrefar code tunnel 平板也能用啊,而且不需要配置网站直接通过微软的 vscode.dev 访问
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5860 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:35 · PVG 10:35 · LAX 19:35 · JFK 22:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.