V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MasterCai
V2EX  ›  程序员

大家用的都是什么远程开发方案?

  •  
  •   MasterCai · 2021-08-08 08:42:52 +08:00 · 8612 次点击
    这是一个创建于 1204 天前的主题,其中的信息可能已经有所发展或是发生改变。

    迫于不想折腾 M1 兼容性了,所以想还是远程到一台 x86 机器上开发好了(内网环境),目前用了一下 vscode 和 jet brains,各有各的优点。

    vs code 远程连接功能做的确实很好,ssh 配置好就直接连到开发机了,直接打开项目文件夹就可以,项目文件也都在开发机上不需要下载到本地。但是在调试和面对 CMake 工程时,都需要写配置文件,这一点比较麻烦。可以说 vs code 就是个远程文本编辑器;

    jetbrains 家的远程功能感觉就不那么“远程”,需要把远端的代码都下载到本地来,而且在开启了自动上传的情况下,有时候会出现文件不同步的情况(也有可能是同步慢),文件到底同步没有还需要进到开发机里打开文件夹确认一下才行。而且如果我要换一个文件夹还需要重新在 deployment 里重新配置一下?但是 jetbrains 家的远程编译调试功能就很好用。

    所以有没有一种方案既可以同时做到 vs code 远程连接和 jetbrains 远程调试?或者在实际工作中用的都是什么样的远程开发方案?个人还是比较偏向于 jetbrains 这种方案。

    30 条回复    2021-08-13 21:06:11 +08:00
    ericls
        1
    ericls  
       2021-08-08 08:54:47 +08:00 via iPhone
    用了几个月的 VSCode remote via ssh. 的确 最开始需要配置开发环境 但是 也只用配置这一次 在不同的机器上 不用再配置了。 一个 vm 一个 项目 爽
    Tenvins
        2
    Tenvins  
       2021-08-08 09:08:07 +08:00 via iPhone   ❤️ 3
    可以了解一下 JB 家的新项目 projector
    https://lp.jetbrains.com/projector/
    greatghoul
        3
    greatghoul  
       2021-08-08 09:29:58 +08:00
    我试过

    - VS Code Remote
    - Gitpod
    - AWS Cloud9
    dcoder
        4
    dcoder  
       2021-08-08 09:35:46 +08:00
    作为个后端,我觉得折腾远程开发, 不是个好思路...
    稍微复杂点的场景(集成测试, 线上问题), 只能查 log(log 系统当然要好用).
    所以把 log 系统配置好, 然后 local 开发, 一键上传测试, 才是王道.

    远程调试, 只是偶尔客串 Ops 的时候用: ssh, terminal, vi (not vim)
    jswh
        5
    jswh  
       2021-08-08 10:04:38 +08:00   ❤️ 1
    vim,终端登录就行了
    MasterCai
        6
    MasterCai  
    OP
       2021-08-08 11:54:22 +08:00
    @ericls 你是开发什么,我用 C++每个项目都得配置一次
    @Tenvins 这个看起来不错啊,我试试
    @greatghoul 后面那俩都是在线的,延迟太大,我只是需要一个内网连开发机的工具
    @dcoder 没办法啊,M1 兼容性小问题还是挺多的,有的 bug 你也不知道到底是哪里出了问题,现阶段还是直接用 x86 把
    @jswh 这个还不如用 vs code 呢
    ericls
        7
    ericls  
       2021-08-08 12:43:02 +08:00 via iPhone
    @MasterCai 如果本地开发 每个电脑都要配置一次…… 还是在远程配置一次好
    Lighfer
        8
    Lighfer  
       2021-08-08 14:03:41 +08:00
    我是本地写,脚本 rsync 同步到远程并编译运行,本地远程调试,对我来说已经足够了
    lysS
        9
    lysS  
       2021-08-08 15:27:39 +08:00
    VScode remote
    fancy2020
        10
    fancy2020  
       2021-08-08 16:02:38 +08:00
    ssh + tmux + vim,用了好多年了
    IgniteWhite
        11
    IgniteWhite  
       2021-08-08 17:18:26 +08:00 via iPhone   ❤️ 1
    ssh+tmux+vim 一次花工夫配置好,拿到新机子一行代码配置部署就完事,方便强大,而且你一用能用好多年,不用管各种 IDE 浮浮沉沉。这是我的配置,截图效果和配置细节都在里面,欢迎拍砖
    https://github.com/g6ai/dotfiles
    MasterCai
        12
    MasterCai  
    OP
       2021-08-08 17:45:45 +08:00 via iPhone
    @ericls 好吧 不知道你是怎么配置的,我是每个新项目都得新建 launch.json
    @Lighfer 本地怎么远程调试?
    christin
        13
    christin  
       2021-08-08 18:54:10 +08:00 via iPhone
    好多推荐 vscode remote 的 但是我用着会莫名服务器 cpu99% 然后只能重启服务器
    ispinfx
        14
    ispinfx  
       2021-08-08 18:59:38 +08:00
    Tramp
    jaredyam
        15
    jaredyam  
       2021-08-08 19:18:31 +08:00
    目前是 vscode SFTP,因为本地机和服务器都在内网,下载安装各种包就很费事
    wuhahayi
        16
    wuhahayi  
       2021-08-08 19:57:51 +08:00
    @Tenvins #2 projector 的问题是碰到大型项目就顶不住,毕竟是个类似 vnc 的渲染界面
    lithiumii
        17
    lithiumii  
       2021-08-08 20:01:23 +08:00 via Android
    jupyter lab,暴露一个端口就够了(当然肯定满足不了你的需求
    henryhu
        18
    henryhu  
       2021-08-08 20:48:44 +08:00
    vim + ssh + tmux + oh my zsh,稳定得一逼
    Grandmasters
        19
    Grandmasters  
       2021-08-08 20:49:08 +08:00
    @Tenvins 看上去不错,这就是我一直在找的东西。
    之前用的 code-server 体验不是很好
    initd
        20
    initd  
       2021-08-08 22:27:35 +08:00
    code-server
    xrdp
    MasterCai
        21
    MasterCai  
    OP
       2021-08-08 23:11:04 +08:00
    project 确实挺不错的,但是感觉还是处于测试阶段,而且不是原生 M1 版本,先用一段时间试试
    qwerthhusn
        22
    qwerthhusn  
       2021-08-09 08:25:55 +08:00
    一个比一个高端,没有人就直接用向日葵或者 RDP 吗?
    lingxi27
        23
    lingxi27  
       2021-08-09 09:49:05 +08:00
    代码在本地是优势啊
    wangp7
        24
    wangp7  
       2021-08-09 12:05:01 +08:00
    vscode
    MasterCai
        25
    MasterCai  
    OP
       2021-08-09 12:48:25 +08:00
    @qwerthhusn 这种对于只写代码来说还是不太方便(延迟高,需要额外安装 ide 等),而且前提是需要开发机有可视化桌面才行
    @lingxi27 为什么呢,个人觉得既然能做到纯远程操作,为什么要在本地再映射一个目录呢?而且 jetbrains 家工具的这个同步逻辑就很迷惑,一直没搞懂
    ColinLi
        26
    ColinLi  
       2021-08-09 17:09:58 +08:00
    新手小白:为什么要远程开发?本地开发完,git 推送不行吗?
    MasterCai
        27
    MasterCai  
    OP
       2021-08-09 22:24:10 +08:00
    @ColinLi 因为 M1 芯片有很多兼容性的问题啊,不想折腾
    lingxi27
        28
    lingxi27  
       2021-08-12 19:12:22 +08:00
    @MasterCai 首先代码放在远程丢失或者被破坏的风险比放在本地高;另外当你碰到支持多个平台开发的场景时,使用 CLion 的 remote toolchain 是非常爽的体验(本地一份代码用 rsync 同步到多个远程开发环境,编辑只发生在本地),如果他们把一些奇怪的 bug 修掉就更好了
    MasterCai
        29
    MasterCai  
    OP
       2021-08-13 09:14:04 +08:00
    @lingxi27 第二点确实有道理,但是第一点我不这么认为。而且我主要的原因是因为本地不太兼容所以需要远程
    lingxi27
        30
    lingxi27  
       2021-08-13 21:06:11 +08:00
    @MasterCai 本地只是存储和编辑,其它行为都发生在远程或者你本地的某个容器里面,不会涉及兼容问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2931 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 14:32 · PVG 22:32 · LAX 06:32 · JFK 09:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.