V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jdz
V2EX  ›  程序员

vscode 的远程开发已经相当成熟了, c/cpp 开发已经没必要折腾 vim 了吧

  •  1
     
  •   jdz · 2022-08-19 09:38:37 +08:00 · 10355 次点击
    这是一个创建于 857 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在 vi 对我的意义就是终端编辑个配置, 另一个充当 ide 的插件

    69 条回复    2022-08-20 10:26:19 +08:00
    mirrorman
        1
    mirrorman  
       2022-08-19 09:48:38 +08:00
    vs code remote + amvim 插件很舒服,vim 临时小改会用用
    leontung
        2
    leontung  
       2022-08-19 09:55:44 +08:00
    想请教下你和你团队都用远程开发了么?对比本地开发的优势有哪些?
    我是写 Golang 的,团队是在本地写代码连线上测试数据库,还是比较传统的。我自己一直在关注远程开发,希望能够结合真实用户场景向团队推广推广。
    Heartbleed
        3
    Heartbleed  
       2022-08-19 09:58:43 +08:00
    我也是临时小改代码才会用 vim ,不过总觉得每次 vscode 打开新的远程目录有点慢
    lostpg
        4
    lostpg  
       2022-08-19 10:00:10 +08:00 via Android
    @leontung 好处是开发环境可以包含在自定义镜像里,环境统一,开发机迁移成本低
    luoer
        5
    luoer  
       2022-08-19 10:05:00 +08:00   ❤️ 1
    vscode 远程开发和本地跑容器用 vscode 开发有什么优势么?
    yikyo
        6
    yikyo  
       2022-08-19 10:06:12 +08:00 via iPhone
    有没有具体的例子看看,我也想尝试一下,看看远程开发香不香,合适的话也转远程开发了
    fancy2020
        7
    fancy2020  
       2022-08-19 10:07:21 +08:00
    dynastysea
        8
    dynastysea  
       2022-08-19 10:16:21 +08:00
    是的,不过很多程序员比较守旧,并不愿意换,简单来说就是习惯了。。。
    stranchong
        9
    stranchong  
       2022-08-19 10:16:46 +08:00
    vim 上手也不难,折腾主要是各种配置吧。不过,不是有现成一键安装的 spf13 么?
    ecloud
        10
    ecloud  
       2022-08-19 10:23:44 +08:00   ❤️ 1
    推荐一个 VIM 平替:helix
    sbabybird
        11
    sbabybird  
       2022-08-19 10:24:24 +08:00
    vscode 远程开发我也在用,同时也在用 vim (少量前端代码和 python 后端),对比来说的话,vscode 唯一还让我不爽的就是,插件装多了会卡顿,很难想象,在 2022 年,还能体验到你敲完键盘后,字母(或汉字)一个一个慢慢蹦出来的那种感觉。。。
    电脑配置也不算太低,一般的办公配置吧,平时会远程到服务器上,所以本地电脑配置一直拖着没升级;
    jorneyr
        12
    jorneyr  
       2022-08-19 10:25:34 +08:00
    我是 mount 远程目录,本地开发。
    wtfedc
        13
    wtfedc  
       2022-08-19 10:27:01 +08:00
    vim 和 remote 是两码事。已经离不开 vim ,还没用过 remote ,我理解的 remote 是 资源占用由桌面软件转移到浏览器,我这老古董电脑打开 k8s 项目,因为有 go 分析插件,内存飙满还不够用,接近卡死,这种情况我只能 强行退出 vscode ,不知若是 remote ,会不会浏览器卡死,影响所有标签页
    tpsxiong
        14
    tpsxiong  
       2022-08-19 10:28:18 +08:00
    堡垒机,甚至连简单的 sudo -iu 切换用户都不支持,vs code 还有继续加油啊
    wupeaking
        15
    wupeaking  
       2022-08-19 10:30:30 +08:00
    我的本机是一个普通的 mac , 远程是新能很好的 Linux 。 所以 vscode 的远程特别适合我使用, 一方面享受了远程的高性能, 另外又能使用 mac 的不错的界面。
    Moha
        16
    Moha  
       2022-08-19 10:30:36 +08:00
    想请教大佬们,远程开发是指啥?能详细介绍下优点嘛,感谢😃😃
    stoluoyu
        17
    stoluoyu  
       2022-08-19 10:32:11 +08:00
    @mirrorman 请问 amvim 和 vscodevim.vim 这个插件相比有什么优势么
    sbabybird
        18
    sbabybird  
       2022-08-19 10:32:31 +08:00   ❤️ 1
    @Moha 就是说 vscode 支持你在本地打开一个远程服务器上的文件夹进行开发(一般通过 ssh ,不过也可以是 wsl 或者 docker 容器),配合一些配套插件,操作感觉跟在本地开发和调试一样。
    Scirocco
        19
    Scirocco  
       2022-08-19 10:32:50 +08:00
    @sbabybird 那可以禁用部分插件,只在某些要用的工作区启用
    sbabybird
        20
    sbabybird  
       2022-08-19 10:34:15 +08:00
    @Scirocco 嗯,你说的这个感觉是个好主意,可以试试,其实还是在内心希望 vscode 性能能够提升一个数量级,这样就可以彻底抛弃终端了。
    20015jjw
        21
    20015jjw  
       2022-08-19 10:34:22 +08:00 via iPhone
    看自己喜好…
    ChangQin
        22
    ChangQin  
       2022-08-19 10:38:57 +08:00   ❤️ 2
    @Moha #16 vscode 里有个插件 remote ssh ,装好后可以 ssh 到你的服务器进行开发,文件操作都在服务器,但是显示是你本地的,还能给远程的 vs 装插件,挺好用的
    fregie
        23
    fregie  
       2022-08-19 10:42:09 +08:00
    远程开发可以换设备啊,不用背着电脑到处跑,不管在哪里不管啥设备,有个 vscode 就能马上接着开发
    xqdoo00o
        24
    xqdoo00o  
       2022-08-19 10:46:13 +08:00
    @fregie 不是还有个 vs code-server, 本地 vscode 都不用装,直接浏览器写代码
    aaronlui
        25
    aaronlui  
       2022-08-19 11:04:47 +08:00
    @sbabybird 我的 17 款 mbp 也是这样的,换有线键盘,禁用插件都不好使,直到我换了 m1 才发现,就是电脑带不动 vscode ,毕竟 Electron 性能差
    sbabybird
        26
    sbabybird  
       2022-08-19 11:07:49 +08:00
    @aaronlui 感谢,换电脑又多了个理由。。。
    laibin2
        27
    laibin2  
       2022-08-19 11:08:04 +08:00
    移动端开发貌似没有相关方案
    acthtml
        28
    acthtml  
       2022-08-19 11:08:44 +08:00
    @lostpg #4

    hi ,“好处是开发环境可以包含在自定义镜像里”

    这里你提到的镜像是什么,用在哪里,解决什么问题?

    (我没有过远程开发的经验,从大家的表述上好像远程开发是这么一回事:使用本地的客户端 ssh 到远程服务器上进行开发,这个流程上好像没有什么镜像。)
    xqdoo00o
        29
    xqdoo00o  
       2022-08-19 11:14:02 +08:00
    @laibin2 code-server ,本地有浏览器就能开发
    zh584728
        30
    zh584728  
       2022-08-19 11:15:10 +08:00
    vscode remote 不能用堡垒机,有时候还是得用 vim, 不过 remote 的确是方便
    stephenyin
        31
    stephenyin  
       2022-08-19 11:25:46 +08:00
    嵌入式设备无解┓( ´∀` )┏
    EminemW
        32
    EminemW  
       2022-08-19 11:39:08 +08:00 via iPhone
    @zh584728 jumpserver 新版可以用 vscode remote
    laibin2
        33
    laibin2  
       2022-08-19 11:54:17 +08:00
    @xqdoo00o 还需要弄 stf (两年多没维护了)这种工具,iOS 端 还没有发现类似工具
    devcat9
        34
    devcat9  
       2022-08-19 11:58:21 +08:00
    不害怕隐私问题的吗
    Slurp
        35
    Slurp  
       2022-08-19 12:02:01 +08:00
    @devcat9 你要是怕,可以用 VSCodium.
    xqdoo00o
        36
    xqdoo00o  
       2022-08-19 12:22:21 +08:00
    @laibin2 termux 可以不
    gitopen
        37
    gitopen  
       2022-08-19 12:36:00 +08:00
    @jorneyr mount 远程目录,突然断网了,而自己又没意识到,几分钟后,会不会导致写的东西丢掉?
    codyfeng
        38
    codyfeng  
       2022-08-19 12:58:08 +08:00 via Android
    VS Code remote 在疫情 WFH 时大大地提高了我的工作效率
    gouflv
        39
    gouflv  
       2022-08-19 13:11:41 +08:00 via iPhone
    vscode 的 vim mode 只能说做了一半,包括 explorer 在内的所有 tool window 完全不可用,甚至连原生快捷键都是缺的。
    kisshere
        40
    kisshere  
       2022-08-19 13:28:14 +08:00
    vscode remote 对服务器要求极高,几次把服务器 CPU 给拖垮了,不敢用,一用 CPU 就飙升至 100%,我的独服配置还挺高的
    jorneyr
        41
    jorneyr  
       2022-08-19 13:33:58 +08:00
    @gitopen 保存都是实时的。
    HB9527
        42
    HB9527  
       2022-08-19 13:35:39 +08:00
    是的,VS code 一统江湖
    orwtmc
        43
    orwtmc  
       2022-08-19 13:42:51 +08:00 via Android
    各有喜好吧,我写大项目会用 vscode ,在部署的时候到服务器上的紧急但很简单的工作用 vim 做
    Rrrrrr
        44
    Rrrrrr  
       2022-08-19 13:44:59 +08:00
    别的不重要,主要是免费
    xiaotianhu
        45
    xiaotianhu  
       2022-08-19 14:22:37 +08:00
    vscode 写 c++,补全什么的好用吗。
    c++没有包管理,公司用自己的编译工具,又用 c++搞微服务,一个模块可能关联四五个项目,非常蛋疼
    anyway 我还是用 vim 本地比较多,远程 vs 不太习惯。确实是大部分人都是这么用的
    MengiNo
        46
    MengiNo  
       2022-08-19 14:40:46 +08:00
    vscode 现在都已经做到 B/S 模式了,直接在镜像里 wget 一下,加个 `RUN code-server serve-local`,本地直接浏览器打开就完了。早两年 remote 的时候就完全转向,现在有了这个加持,iPad 再没有生产力真的是苹果自己的问题了。
    ElmerZhang
        47
    ElmerZhang  
       2022-08-19 14:42:32 +08:00
    vscode remote 用了一年多了,电脑风扇明显比以前安静很多
    wonderfulcxm
        48
    wonderfulcxm  
       2022-08-19 14:50:54 +08:00 via iPhone   ❤️ 1
    v2ex 大聪明系列
    jxdqwert131
        49
    jxdqwert131  
       2022-08-19 14:54:17 +08:00
    vs code ssh 模式不就好了吗
    SiLenceControL
        50
    SiLenceControL  
       2022-08-19 14:55:08 +08:00
    作为非专业程序员( CFD ,写一点 C 和 python
    教授一直给我说 vim 比 vscode 快得多。。
    Metre
        51
    Metre  
       2022-08-19 15:02:53 +08:00
    内网开发
    Baoni
        52
    Baoni  
       2022-08-19 15:37:38 +08:00
    @kisshere 用树莓派做服务器也没发现有什么卡顿啊,不会要求极高吧
    lew1
        53
    lew1  
       2022-08-19 15:44:46 +08:00
    想问下各位大佬用 vscode 开发都是用的什么语言
    perl
        54
    perl  
       2022-08-19 15:48:11 +08:00
    习惯 vim 有个好处就是在编辑器和 IDE 中可以装个插件直接用同一套快捷键
    lostpg
        55
    lostpg  
       2022-08-19 16:03:42 +08:00 via Android
    @acthtml 公司提供的服务器使用统一的系统镜像
    a132811
        56
    a132811  
       2022-08-19 20:12:24 +08:00
    amvim+1 更丝滑,与 vscode 结合得更好,插件代码实现也更轻量级

    @SiLenceControL 使用 vim 十多年,也写过 vim 插件。大多数情况速度上相差无几,处理大文件 vim/vscode 都慢。
    遇到一些 bug 插件,无论是你是 vim/emacs 还是 vscode/idea ,就是耶稣来了都得跪
    cyberpoint
        57
    cyberpoint  
       2022-08-19 20:27:23 +08:00
    现在在用 远程开发 Python ,体验不错。
    dianso
        58
    dianso  
       2022-08-19 20:28:25 +08:00
    还是 VIM 逼格高点,SSH 远程就可以,省事。
    darksword21
        59
    darksword21  
       2022-08-19 20:56:40 +08:00 via iPhone
    连纯字符界面都有,省省吧
    mirrorman
        60
    mirrorman  
       2022-08-19 22:48:46 +08:00
    @stoluoyu 我用习惯了,主要是和 mac 上的快捷键( emacs 风格)不冲突,我是 vim 风格和 emacs 风格快捷键混用的,vim
    模式切换少编辑效率更高。不过 amvim 还没有列选择模式,只能先用 vscode 预设的 command + shift + mouse
    kouhe3
        61
    kouhe3  
       2022-08-19 22:58:54 +08:00   ❤️ 1
    vscode 的 neovim 扩展 楼主可以试试
    xiaoz
        62
    xiaoz  
       2022-08-19 23:19:59 +08:00 via Android
    @luoer #5 ,当然有优势。比我将开发环境搭建到云上,也或者是其他地方。然后我不论是在公司,还是在家里,也或者哪天换电脑了。只需要 VSCODE 连上去就行了,而不必重复搭建开发环境,非重大变更也不用每次提交 Git
    zzxgz
        63
    zzxgz  
       2022-08-20 00:59:07 +08:00
    vscode 远程开发 C++真的是比 Jetbrains Gateway 强了不少,就是有时候 vscode 搜不到一些 include 的东西比较不爽,但这也有可能是我没配置好。
    mascteen
        64
    mascteen  
       2022-08-20 01:01:27 +08:00
    这世上没有完美的工具只有适合的工具
    lincanbin
        65
    lincanbin  
       2022-08-20 01:46:31 +08:00
    没有困难,就要创造困难
    jemyzhang
        66
    jemyzhang  
       2022-08-20 07:57:25 +08:00 via Android
    微软的设置逻辑让人看不懂,感觉配置 vscode 比配置 vim 难上几个数量级。尝试了一下 vscode ,最后还是老老实实用 neovim
    Inn0Vat10n
        67
    Inn0Vat10n  
       2022-08-20 09:55:16 +08:00
    之前一直是本地编码,然后 scp/rsync 同步到远程编译测试,最近尝试了下 vscdoe remote 直接惊艳到我,没想到这几年发展的这么完善了
    byte10
        68
    byte10  
       2022-08-20 10:11:21 +08:00
    @leontung 远程开发对于个人,比较有好处,换笔记本的时候,不用考虑迁移环境了,在家里和做公司的开发环境一致,在网吧也可以,用手机插一个 HDMI 也可以开发。对于公司的话也有好处,比如一个团队研发 50 个人,研发配置电脑就统一低配,能看个网页和 wps 就行。然后买几台洋垃圾,一台配置个 256G 内存,很便宜。全部人都在这几台机器上进行开发,共享内存和 cpu ,docker 容器做隔离,每个人一个容器随便折腾。也预留几个虚拟机做一些容器无法完成的事情。

    @gitopen 不会丢失,我测试过。另外一个断开 5-6 秒就会提示了。
    @Moha 环境统一,未来 5-8 年 不会因为你换电脑,而迁移开发类的数据。而且在任意电脑上 mac windows ,都可以很快连接上去进行开发,而且相同提供了带文件夹的终端。也可以随时 debug ,比如在测试环境中或者生产中,你遇到问题想去调试,而不用 jwdp 那么麻烦。
    @laibin2 RN 应该可以的,但是小程序确实无力。。

    @kisshere 找下原因,可能是某个插件。remote 用了很久,没出现过 cpu 满载的问题,大多插件单线程玩意 一般不会把全部核心拉满的。

    @yikyo @luoer 看上面的描述。
    littlewing
        69
    littlewing  
       2022-08-20 10:26:19 +08:00
    还是 CLion 好用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2898 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:34 · PVG 08:34 · LAX 16:34 · JFK 19:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.