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

微软发布 VS Code Server 了~ 目前是 private preview 阶段

  •  
  •   formulahendry ·
    formulahendry · 2022-07-10 15:15:30 +08:00 · 14812 次点击
    这是一个创建于 627 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近,微软在 VS Code 官方博客中宣布了 Visual Studio Code Server !

    远程开发的过去与未来

    2019 年,微软发布了 VS Code Remote ,开启了远程开发的新时代

    2020 年,微软发布了 GitHub Codespaces —— 一个全托管的远程开发解决方案。

    如今,Visual Studio Code Server 来了!

    什么是 VS Code Server ?

    Visual Studio Code Server 是一项可以在远程开发机器上运行的服务,例如桌面 PC 或者虚拟机 (VM)。它允许开发者通过 vscode.dev URL 从任何地方安全地连接到这个远程计算机,而且不需要通过 SSH 。

    目前,微软发布了 private preview 版本的 VS Code Server ,以及一个可以轻松安装、更新、管理和连接到 VS Code Server 服务的 CLI ( code-serverCLI )。开发者可以将服务器安装在您喜欢的任何位置(比如本地的开发机器、云端的虚拟机等),并使用 VS Code for Web ( vscode.dev )通过浏览器安全地访问它,而无需进行设置 SSH 或 https 。

    目前,code-serverCLI 是区别于 codeCLI 的一个独立的 CLI 。未来,codeCLI 将会统一,让开发者可以同时管理桌面和服务器。

    架构

    VS Code Server 的 CLI 在 VS Code 客户端 (vscode.dev) 和你的远程计算机之间建立隧道。隧道( Tunneling )也被称为端口转发,将数据从一个网络安全地传输到另一个网络。

    VS Code Server 包括以下两个核心组件:

    • VS Code 服务器:运行在远程机器上的后端服务器,以及一个便于安装、更新、管理和连接到 VS Code 服务器的 CLI 。
    • Remote-Server 扩展:它会被自动加载到本地的 VS Code 客户端,方便连接到远程机器。

    使用场景

    VS Code Server 允许开发者以新的方式使用 VS Code ,例如:

    • 在 SSH 支持可能受限的远程计算机上进行开发,或者你需要基于 Web 进行访问。
    • 在不支持安装桌面版 VS Code 的机器上进行开发,比如 iPad/平板电脑 或者 Chromebook 。
    • 体验所有代码都可以在浏览器沙箱中执行的安全优势。

    注册申请

    目前 VS Code Server 还处于 private preview 阶段,可以访问下面的链接进行注册申请:

    https://aka.ms/vscode-server-signup


    原文链接: https://zhuanlan.zhihu.com/p/539411629

    124 条回复    2022-07-23 14:44:11 +08:00
    1  2  
    BeautifulSoap
        1
    BeautifulSoap  
       2022-07-10 15:19:24 +08:00 via Android   ❤️ 9
    vs code 在远程开发这块是真的把 idea 全系远远甩在身后了。只希望 fleet 给点力吧
    leverestfish
        2
    leverestfish  
       2022-07-10 15:26:07 +08:00
    请问 coder server 什么时候会有通过 server 连接其他 ssh 目标机器的功能?
    formulahendry
        3
    formulahendry  
    OP
       2022-07-10 15:29:46 +08:00
    @BeautifulSoap 也是挺期待 fleet 有没有啥新的体验。之前申请试用 fleet ,一直还没排上。
    cyp0633
        4
    cyp0633  
       2022-07-10 15:32:23 +08:00   ❤️ 1
    看起来形态和第三方做的这个 [code-server]( https://github.com/coder/code-server) 有点出入
    BeautifulSoap
        5
    BeautifulSoap  
       2022-07-10 15:35:36 +08:00
    @formulahendry 我也没排上,刚开放申请的时候就申请了
    wanghr64
        6
    wanghr64  
       2022-07-10 17:51:24 +08:00
    学校里有一个大数据综合实验,要跑 Hadoop 以及小组合作。小组成员对于 Linux 使用经验不是很多,就用宿舍一个挂 PT 的机器搭建了 Hadoop 开发环境,用那个第三方的 Code Server 当开发工具让他们用(就大家都在同一个目录下开发,这当然不优雅但确实能用)。
    biabia123456
        7
    biabia123456  
       2022-07-10 18:00:31 +08:00
    没看懂和 code server 的区别是啥,目前在服务器上搭建了 code server 体验还不错
    WOLFRAZOR
        8
    WOLFRAZOR  
       2022-07-10 18:11:10 +08:00
    jetbrains 要加油了
    James369
        9
    James369  
       2022-07-10 18:14:06 +08:00
    @formulahendry 厉害厉害,发现现在 vscode 的工作模式越来越多了,也越来越有意思了。有没有详细介绍这方面的资料呢,对于新人理解还是有一点深度
    humpy
        10
    humpy  
       2022-07-10 18:14:08 +08:00
    以后就可以搞个 ipad 做开发
    christin
        11
    christin  
       2022-07-10 18:46:06 +08:00 via iPhone
    @formulahendry
    fleet 已经用上了 但是没什么特别好的功能让我更换编辑器的。现在最多拿来打开一些 json yaml 之类的文件,用 webstorm 打开太慢了。
    daveh
        12
    daveh  
       2022-07-10 18:56:54 +08:00
    @BeautifulSoap 看到很多人吹 vs code 远程开发强,很好奇到底强在哪?还是说只是不会使用 JetBrains 系?
    zhuangzhuang1988
        13
    zhuangzhuang1988  
       2022-07-10 19:01:47 +08:00
    微软牛逼 啊。
    BeautifulSoap
        14
    BeautifulSoap  
       2022-07-10 19:09:56 +08:00 via Android   ❤️ 8
    @daveh 作为主用 idea 的表示,idea 居然有所谓的远程开发体验?
    从最早的 ssh ,到后来简单粗暴传图实现所谓远程开发的 projector ,再到现在还处于 beta 中的 gateway 。有哪个是把远程开发做到了 vs code 那样的?
    jb 自己在 idea 上折腾了这么多年都没折腾出什么名堂,直到折腾到新冠大家都在家办公,远程开发需求暴涨,然后因为 idea 远程开发体验不好流失了很多用户后才下定决心从头重写出个 fleet
    frinstioAKL
        15
    frinstioAKL  
       2022-07-10 19:11:37 +08:00   ❤️ 1
    用上了, 很舒服. 之前第三方的 code-server 很多插件用不了或者兼容性有问题. 现在插件兼容性问题没有了, 太棒了. 我爱 ms
    leeyuzhe
        16
    leeyuzhe  
       2022-07-10 19:28:29 +08:00   ❤️ 2
    @daveh projector 跟 gateway 体验实在太差太差了。跟 vs remotebi 根本就是半成品。无论 wsl 还是 ssh ,目前 idea 全是一堆问题跟 bug
    hamsterbase
        17
    hamsterbase  
       2022-07-10 20:03:31 +08:00 via iPhone
    vscode 的 server 是不开源的。 我选择用阿里的 opensumi 搭建。
    kkocdko
        18
    kkocdko  
       2022-07-10 20:50:18 +08:00
    lixiang2017
        19
    lixiang2017  
       2022-07-10 21:06:27 +08:00 via Android
    @biabia123456 大概是把 ssh 换成 web, 类似 github1s
    devtiange
        20
    devtiange  
       2022-07-10 21:28:12 +08:00
    web 版的话, 不少快捷键会被浏览器吃掉吧?
    lanlanye
        21
    lanlanye  
       2022-07-10 22:11:16 +08:00
    想了半天感觉没有什么实际需求,可能我没怎么遇到过 「 ssh 受限」 的场景吧……
    包括远程开发我也不是特别能理解,以前尝试过,后来发现远程到测试环境不如在本地搞,远程到生产就更离谱了。
    所以有没有大佬分享一下远程开发的主要场景?
    felixcode
        22
    felixcode  
       2022-07-10 22:15:01 +08:00
    不都是本地性能不够或兼容性不行才跑远程的吗?
    avv
        23
    avv  
       2022-07-10 22:22:59 +08:00
    申请起来
    MarlonFan
        24
    MarlonFan  
       2022-07-10 22:23:29 +08:00
    有通过的老哥么, 大概需要多久呀~
    cest
        25
    cest  
       2022-07-10 22:35:29 +08:00
    @lanlanye #21
    监管要求资料存放必须符合 n 个条件之下
    你要是在其他地方 onsite 或 wfh 就只能远端了
    真正的远端桌面 跟 这种实际上会有档案暂存在你电脑 file system 的远端
    出事了就够律师吵的了
    genesislive
        26
    genesislive  
       2022-07-10 22:45:39 +08:00
    感觉比如 code-server 。搭建了服务器,为什么还要通过微软网站才能访问?有保密要求的话,公司用审核过不了。
    frinstioAKL
        27
    frinstioAKL  
       2022-07-10 22:53:08 +08:00
    @genesislive #26 有两个选择的, 可以不走微软的穿透, 本地伺服, 加一个 serve-local 就好, 就喝 code-server 一样了
    ytmsdy
        28
    ytmsdy  
       2022-07-10 22:54:29 +08:00
    要申请起来了,Windows 党的 python 开发来说真的是福音啊!
    kealm
        29
    kealm  
       2022-07-10 22:57:33 +08:00
    @frinstioAKL 哪里有资料么?申请了还没通过。
    frinstioAKL
        30
    frinstioAKL  
       2022-07-10 23:00:20 +08:00
    @kealm #29 我没申请, 不需要走微软的穿透. 直接根据文档把可执行程序下载下来, -h 一下就能看到详细的帮助了
    Yien
        31
    Yien  
       2022-07-10 23:00:35 +08:00
    @genesislive 安全性考虑?等于走一层微软中转?如果是,觉得挺好。
    kkocdko
        32
    kkocdko  
       2022-07-10 23:20:30 +08:00
    @devtiange 是的,但注册为 PWA 并以独立窗口打开之后,就没有问题了。
    mway
        33
    mway  
       2022-07-10 23:37:57 +08:00
    已申请。
    AkideLiu
        34
    AkideLiu  
       2022-07-11 00:18:42 +08:00 via iPhone
    jetbrains fleet 看他们的 blog 想法很大,但是现阶段的版本我试了试只能说功能不要老全家桶,remote 不如 vscode....
    sprite82
        35
    sprite82  
       2022-07-11 00:41:53 +08:00
    @BeautifulSoap #14 还少了一个 code with me
    huangsen365
        36
    huangsen365  
       2022-07-11 01:56:22 +08:00 via Android
    会被墙吗?
    DeWjjj
        37
    DeWjjj  
       2022-07-11 02:41:45 +08:00
    我在 OREilly 中心用过一个类似的,代码补全居然要延迟,不是作为本地机子运行的一部分的。
    rebeccaMyKid
        38
    rebeccaMyKid  
       2022-07-11 07:35:17 +08:00
    @daveh 不知道你有没有搞过 linux 服务器管理或者开发?你用 jetbrains 的 remote 功能连一下和用 vscode 的 remote 功能连一下就知道区别了,但凡用 15~20 分钟比较过不至于说出这样的话
    rebeccaMyKid
        39
    rebeccaMyKid  
       2022-07-11 07:35:52 +08:00
    你要是 vim 或者 emacs 专家,当我没说
    sarices
        40
    sarices  
       2022-07-11 08:41:35 +08:00
    我用了很久了啊,about 里面也没有写着是 private preview 版本啊
    一直都是更新这个 https://update.code.visualstudio.com/latest/server-linux-x64-web/stable
    formulahendry
        41
    formulahendry  
    OP
       2022-07-11 08:50:32 +08:00
    @sarices VS Code Server 是后端,UI 是 VS Code Web 。
    你这个是哪里下载的,Linux Desktop 版本吧?
    lifanxi
        42
    lifanxi  
       2022-07-11 08:55:42 +08:00 via Android
    @lanlanye
    最典型是跨平台,比如用 Macbook Pro 或者 Windows 终端开发 Linux 原生应用。

    当然,你可以用 WSL 或者其他虚拟机在本地满足这个需求。但是这就引来第二个问题:本地编译不动的场景,我的代码在 96 核心 512G 内存的服务器上编译要一个小时。如果放到本地 Macbook Pro 上再套一层虚拟机要搞多久?
    daveh
        43
    daveh  
       2022-07-11 09:21:42 +08:00 via iPhone   ❤️ 1
    @BeautifulSoap 之前 idea 没有专门去吹所谓的远程开发,但这不代表它不支持,Remote Host + Deployment (SSH+Web+rsync) 就能搞定你们所谓的远程开发。

    另外 projector 传图像也是一个不错的方案,基本上可以用上一个功能齐全的 IDE ,我有同事在用,也推荐这个方案。但我个人并不使用,嫌它与 OS 及三方软件工具结合还不够紧密,因为总有些功能 IDE 的不一定满足要求,这时要能快递方便的调用三方工具。
    现在的 gateway 方案,还是 beta 阶段,除了不少界面 BUG(都能规避),基本上也能满足要求。

    所以很好奇,你所谓的 vs code 远程到底叼在哪,就一个基本的调用三方 Win 工具处理文件场景,你估计都得折腾半天。

    fleet 连 JB 自己定位,都是一个轻量级文件编辑器,貌似用来吸引 vs code 用户的,并不是专门解决什么“远程开发”问题的。用现有的 projector 和 gateway 就能获得一个功能齐全远程 IDE ,已经很好用,JB 也一直在支持,而且方案都很明确,没有新的变化,可以抽人出来搞什么 fleet 编辑器了。

    PS: 新冠远程在家办公,我们都是直接远程桌面,甚至直接用远程桌面放视频都不卡,更别提直接用功能齐全的 IDE 开发环境,以及使用各类专有工具软件。很少有人用什么远程 IDE ,想想也是,你都可以通过远程桌面很方便获得一个功能齐全的 IDE+各类专有工具软件,谁还有兴趣折腾一些功能弱化不齐全的远程 IDE ?
    LavaC
        44
    LavaC  
       2022-07-11 09:32:32 +08:00
    我服务器上装的 code-server 经常会因为高 IO 把服务器给干沉默,不知道这个官方出的会不会好点。
    daveh
        45
    daveh  
       2022-07-11 09:37:05 +08:00 via iPhone
    @leeyuzhe 能说说具体差在哪吗?具体有哪些 BUG ?请拿场景来说话,别张嘴就来。

    projector 我有同事在用,说比较好用,基本没 BUG ,也比较推荐,别人说的我不一定信,但他作为一个年入 200~300 万的专家我还是信服的。当然我个人不用 projector ,因为现有 JB IDE 的远程已经满足我要求。

    另外,好不好用也要看整体以及复杂场景处理问题的能力,别以为远程开发就是能方便远程编辑一个文件,就说好用。
    registerrr
        46
    registerrr  
       2022-07-11 09:38:26 +08:00
    方向对了
    daveh
        47
    daveh  
       2022-07-11 09:47:58 +08:00 via iPhone
    @rebeccaMyKid 我就是搞 Linux 服务端程序开发的,用的就是 JetBrains IDE 自带的远程功能,基本上没有什么问题。
    vscode remote 不太了解,但看介绍并没有什么优势。
    所以就来问问,不如你来说说 vscode 叼在哪?我来教你们 JB 中怎么搞?
    daveh
        48
    daveh  
       2022-07-11 09:50:16 +08:00 via iPhone
    @lifanxi 你这种场景,用 JB 的远程工具链,代码开发在本地,编译在远程,爽的起飞。
    SlYyWc
        49
    SlYyWc  
       2022-07-11 09:55:04 +08:00
    @daveh 用了远程桌面就说明你不是 vscode 刚需用户,vscode 远程到服务器开发的体验(可以去搜 remote-ssh 试试),jb 系真的赶不上。本地开发我还是喜欢 jb 系,我也买了 jb 全家桶,各有各的优点,只能说图个顺手。
    sarices
        50
    sarices  
       2022-07-11 09:57:43 +08:00
    @formulahendry 不是啊,就是 server 版本啊,和第三方版本差不多,区别是使用官方插件市场
    daveh
        51
    daveh  
       2022-07-11 10:04:37 +08:00 via iPhone
    @SlYyWc JB 也支持 Remote Host ,配合 Deployment + Remote SSH Tools + Remote Toolchain ,只会比 vscode remote 强。

    可能大家不会用,或者不知道有。
    qW7bo2FbzbC0
        52
    qW7bo2FbzbC0  
       2022-07-11 10:05:09 +08:00
    vscode remote-ssh 和 jetbrains 的都试过,都有各种各样的小问题,个人感觉半斤八两
    lujiaosama
        53
    lujiaosama  
       2022-07-11 10:15:00 +08:00   ❤️ 1
    @daveh 你说你自己不了解 vscode remote, 怎么得出的“只会比 vscode remote 强” 的结论? 起码得两个都深入使用过吧?
    aitaii
        54
    aitaii  
       2022-07-11 10:16:41 +08:00
    fleet 用了之后只能说还在 pre pre 阶段,太难用了
    lichao
        55
    lichao  
       2022-07-11 10:18:28 +08:00
    感觉就是 40 楼 @sarices 发的这个啊,没感觉有啥区别
    ScepterZ
        56
    ScepterZ  
       2022-07-11 10:25:20 +08:00   ❤️ 1
    @daveh 你打的字太多了,有点不知道从何说起,就这么说,我们这边之前推荐的远程开发方式就是你说的这种,但是 vsc 做起来之后,几乎没见过有人用了,全都换了 vsc
    这些和 vsc remote 可以说根本不是一个思路吧,也就 gateway 是差不多的,但是 gateway 现在 bug 实在是太多了,如果他完善了,我估计会换 gateway ,毕竟 vsc 插件的能力还是不如 jb 系
    wolfie
        57
    wolfie  
       2022-07-11 10:32:55 +08:00
    code-server 不是出了好多年吗。
    daveh
        58
    daveh  
       2022-07-11 10:37:25 +08:00 via iPhone
    @lujiaosama 我是看微软网站介绍 vscode remote ,以及网上教程,发现并没有什么特别的地方,所以才好奇想问一下吹 vscode remote 的人,到底是哪点、什么场景下比较叼?
    如果只比较网上介绍这些功能,我认为 JB 确实要更强,而且可定制性更高,用起来更简单。

    不一定要深入使用,从 IDE 使用角度讲,vscode 已经劝退我,也就轮不到 vscode remote 了。
    也不是说 vscode 不行,但是相比 JB 系,vsc 的工作流太复杂了,功能也弱,出了问题修复成本也比较高。
    lujiaosama
        59
    lujiaosama  
       2022-07-11 10:48:29 +08:00
    @daveh 你这没有说服力啊, 还是纸上得来终觉浅. 你觉得 vsc 工作流复杂, 让一个 vsc 主力使用者去体验 jb 的远程开发可能得出来的结论是完全相反的, 这根本就是先入为主的印象了, 类似 mac 和 win 哪个更好上手.
    daveh
        60
    daveh  
       2022-07-11 10:53:35 +08:00 via iPhone
    @ScepterZ 不排除以前 JB 系远程开发支持还不够,有问题,但现在已经很完善了。我们这刚好相反,一旦解决了使用上的问题,换 JB 系体验功能更强大 IDE ,提高自己效率,大家都乐意。
    你们这种估计还是旧的成见,或者没有找对工作流?

    另外 vs remote 最多对标 JB 的 Remote Host 等,至少微软官方发布的 remote 是这样,还对不上 gateway ,新增的 Visual Studio Code Server 才对标 gateway ,在远程跑 IDE 核心功能。
    当然不排除可能网上有不少魔改 vscode remote 的,也用了类似 gateway 这种方式。
    daveh
        61
    daveh  
       2022-07-11 11:04:57 +08:00 via iPhone
    @lujiaosama 所以最好来比较一下,相同场景下,哪种更顺手,拿最常用、以及不常用的,进行综合比较。
    还有人的习惯也可以改变,今天说这个更适合,也只是有可能另外一个还没找对路。

    所以想问问 V 友,哪个 vsc remote 场景比较好用,比较独一无二,没有替代的?
    daveh
        62
    daveh  
       2022-07-11 11:21:52 +08:00 via iPhone
    @lujiaosama 另外人的习惯性力量确实强大,确实很多人先入为主,曾经有个问题,我跟公司一位 vscode 专家说,你这个功能用 JB 系,直接选文件右键对应功能菜单就搞定,然后他的 vscode 方案,要魔改一个 vsc 插件,维护一个配置文件,有新增代码得不停新改配置文件。。。
    然后他说,JB 系方案并没有什么优势,我。。。
    zxCoder
        63
    zxCoder  
       2022-07-11 11:30:15 +08:00
    @daveh Remote Host + Deployment 请问一下这个怎么自动双向同步文件,代码执行生成的文件本地默认是没有的,要自己手动同步一遍
    huntzhan
        64
    huntzhan  
       2022-07-11 11:46:17 +08:00
    想问一下,这个与 https://update.code.visualstudio.com/latest/server-linux-x64/stable 里的 code server 相比有什么差异?
    daveh
        65
    daveh  
       2022-07-11 12:06:35 +08:00 via iPhone
    @zxCoder 你是说代码编译后的生成文件?这种输出文件可能很大,还是手工按需下载保险一些,自动同步下载大文件可能很占带宽。或者写个远程脚本在 IDE 中触发执行,直接将远程编译输出文件,传输到运行环境,不一定要经过本地。
    除了下载,本地也可以设置一下同步,设置好同步 Mirror 方向,手工点目录同步。
    itemqq
        66
    itemqq  
       2022-07-11 12:30:17 +08:00   ❤️ 2
    看这个贴子下面的回复就知道,真正好用的东西是不需要专门来讲的,大家自然会觉得好用。。。
    adoal
        67
    adoal  
       2022-07-11 12:38:36 +08:00 via iPhone   ❤️ 2
    油腻腻的 Java GUI 和黏糊糊的前端 GUI 之圣战
    sidkang
        68
    sidkang  
       2022-07-11 12:54:53 +08:00
    每次路过舌战群雄的帖子,都倍感欢乐。
    zxCoder
        69
    zxCoder  
       2022-07-11 12:57:34 +08:00
    @daveh 这个需求还挺普遍的,我们搞炼丹的,写些小脚本,生成输出文件或者日志,如果用 vscode 相当于直接访问远程的文件,用 jetbrains development 就得一直手动同步,才能看到即时的输出文件
    lingxi27
        70
    lingxi27  
       2022-07-11 13:41:22 +08:00
    我还是喜欢 clion 的 remote toolchain 这种代码在本地,环境 remote 的方式
    jin5354
        71
    jin5354  
       2022-07-11 14:28:23 +08:00
    有趣,一个工具而已,哪个好用我就用脚投票,我哪来的闲心还要教别人用啊。
    lysS
        72
    lysS  
       2022-07-11 14:36:36 +08:00
    不好,感觉巨硬要 VS code 的收费了
    lifanxi
        73
    lifanxi  
       2022-07-11 15:02:27 +08:00
    @daveh 至少两年前非常难用,本来我们团队人均 CLion ,VS Code Remote 出来以后,除了美国同事因为访问国内的服务器太慢还在用 CLion ,其它人都换 VS Code 了。但是我听你在其它楼层的描述,现在的 CLion 的远程还是原来那套 Deployment+rsync 的方案,那我主观上认为不会有什么大的改变。
    leeyuzhe
        74
    leeyuzhe  
       2022-07-11 15:14:55 +08:00   ❤️ 1
    @daveh projector 这玩意,第一:经常绿屏,完全不知道为啥只能重启。
    第二:浏览器打开的时候经常错位或者字体大小很奇怪需要拖动一下浏览器边框缩放一下画面才正常。
    第三:鼠标放到方法上弹出方法说明文档的时候,字体跟背景一个颜色,需要选中才能看到白色的字体,类似的还有很多,总体来说就是配色有问题。

    gateway 就不说了,只能单例,十个项目就要启动十次 server 端,之前还需要下载十次,现在还凑合。
    然后不支持语义高亮,无故挂起,多个模块的 maven 项目十次有三次无法正确索引。总之恨不得杀入 jetbrain 总部。

    最后 vscode wsl 目前没有遇到任何影响使用的 bug ,也没遇到任何 remote 特有而本地使用没有的 bug 。remote 的使用体验跟本地完全一致。我认为远程开发的最高境界就是感觉不到你的项目在远程,vscode remote 做到了。
    rebeccaMyKid
        75
    rebeccaMyKid  
       2022-07-11 15:45:18 +08:00
    @daveh 用 vs remote 的原因之一就是不需要本地和远程同步啊。。我干嘛要 sync ,我直接在服务器编译不就完事了。另外举个例子,我本地要查看比如 unistd.h 的头文件源码。在 vscode remote 你跳转就是可以选到服务器的 system include 头文件。你本地怎么弄?你在本地自己装个 MinGW ?然后要看源码跳转?如果我改了某个 glibc 的库的头文件的呢?
    rebeccaMyKid
        76
    rebeccaMyKid  
       2022-07-11 15:49:03 +08:00
    而且不懂你说的 vscode remote 的工作流复杂在哪。装个 remote plugin 直接开箱即用了,客户端点点装几个插件就能开始干活了。我又不是没用过 jetbrains 。local editor, fully remote environment 。哪里不好?
    zhangchongjie
        77
    zhangchongjie  
       2022-07-11 16:02:36 +08:00   ❤️ 2
    什么时候 vscode 能把代码的流程,可配置流程做好了再说吧,java ,c++,要配置一套连 ui 和 json 都乱糟糟的配置,maven 也是,远远达不到好用,c++开发更是,各种语法不兼容,我 clion c++11 标准的代码放到 vscode ,各种语法报错,怎么用?怎么用!
    daveh
        78
    daveh  
       2022-07-11 16:39:37 +08:00 via iPhone
    @zxCoder 如果只是改改远程脚本,你直接从 Remote Host 打开编辑就行,改完保存上传;看输出文件也是,直接在 Remote Host 中浏览打开。

    用 Development 是用它的自动管理同步文件功能,本地改完,远程自动更新,对用户来讲远程就像本地一样,感觉没差别。其本质上还是以本地为主,远程为辅,远程新文件不会自动下载本地。
    daveh
        79
    daveh  
       2022-07-11 16:48:01 +08:00 via iPhone
    @lifanxi 我现在用 Oracle Cloud 远程,有时节点会被运营商限速,但远程开发体验完全没问题,速度都能接受,除了首次使用同步远程工具链、新建工程同步代码耗时一点,后续改动都是增量的,网速低一点也没问题。而且新建工程同步代码,也有办法加速的。
    xingyuc
        80
    xingyuc  
       2022-07-11 17:14:06 +08:00
    好奇问一下有多少公司是远程开发的,在线 debugger
    Jakarta
        81
    Jakarta  
       2022-07-11 17:23:33 +08:00 via Android
    @lingxi27 jetbrains 的 ide 的远程,看似代码在本地,实际上是代码一更新就上传到远端,有时候能感觉到这个上传的过程。vsc 的远程,代码和环境都在远程,但是跟在本地感觉一样。
    daveh
        82
    daveh  
       2022-07-11 17:33:26 +08:00 via iPhone
    @leeyuzhe 网速不行还是服务器没配置好? projector 就一个远程桌面投屏而已,先保证远程 X11 时使用是否正常?它就一个原生 Linux X11 app 投屏,如果没配置好远程 X11 环境,在 X11 桌面如 GNOME 下看起来也会有问题。
    其次开启 https 、保证浏览器 websocket 功能正常。很多所谓问题都是外部因素。

    gateway 还是 beta 阶段,有问题可以去提。语法语义高亮,这是最基本功能,从没碰到过,先保证远程服务器 maven 能使用正常。其实我好奇你用 vscode remote ,是怎么开十个实例的?

    IDEA 也支持 wsl ,都是像本地一样无感使用,无感到你可能都不知道有这个功能存在,它也不像 vscode 一样归类到 remote 。
    吹 vscode remote 是远程开发的最高境界,这真是吹牛皮了,就前面我问的那个场景,比如有个远程文件,你要用本地三方软件工具处理,你该怎么办?也感知不到远程的存在吗?用 JB 的 remote 方式,本质上本地还有文件存在,所以直接三方工具打开处理就行,改完自动同步到远程。
    tomari
        83
    tomari  
       2022-07-11 17:33:52 +08:00
    我能想到的为数不多的使用场景就是。。。用 ipad 做开发。。
    daveh
        84
    daveh  
       2022-07-11 17:45:44 +08:00 via iPhone
    @rebeccaMyKid 你看来没用过 JB 的远程工具链,本地代码是自动同步到远程的,不需要人工干预和感知,编译都是发生在远程服务器。你首次设置远程工具链,对应的系统头文件本地会缓存,后续只有头文件变化才会更新缓存。
    你在代码中,CTRL+鼠标点击头文件名,就能直接打开 unistd.h 了,不需要去哪个目录选,而且打开的就是你用的对应工具链的,不会其他的。
    你改 glibc 头文件,可以直接改远程,或者改本地缓存。
    imKiva
        85
    imKiva  
       2022-07-11 17:46:06 +08:00
    @leeyuzhe #73
    > 最后 vscode wsl 目前没有遇到任何影响使用的 bug ,也没遇到任何 remote 特有而本地使用没有的 bug 。remote 的使用体验跟本地完全一致。我认为远程开发的最高境界就是感觉不到你的项目在远程,vscode remote 做到了。


    如果远端是 WSL ,JB 系的 ide 是可以直接用 \\wsl$ 这样的路径打开的,wsl 和 Windows 本地的路径映射做的非常好,体验上和打开 Windows 目录里的项目一模一样,并不需要 gateway 或者 projector 。

    远端不是 WSL 的情况我还没怎么用过,就不瞎说了。
    daveh
        86
    daveh  
       2022-07-11 18:07:14 +08:00 via iPhone
    @rebeccaMyKid #76 #77 楼回答了你这个问题。
    leeyuzhe
        87
    leeyuzhe  
       2022-07-11 18:42:14 +08:00   ❤️ 1
    @imKiva @daveh 我从 2021.1.3 开始使用的 idea + wsl 。期间提过无数 bug ,有时候简直气得想打人。实在没办法只能换回 wlsg ,另外 wsl2 也天天一堆 bug ,就不在这里展开了。

    我真不知道有什么好争的,idea 功能性,易用性上确实秒杀 vscode ,但是承认远程开发就是一坨屎这么难吗?

    自从 idea 上线 wls 功能整整一年多了,截止到今天还有两个致命 bug 影响我的使用。
    https://youtrack.jetbrains.com/issue/IDEA-297004/WSL2-Cannot-assign-requested-address-bind-when-etcresolvconf-changed-Cannot-obtain-Windows-host-IP-alternatively-failed-to

    https://youtrack.jetbrains.com/issue/IDEA-293604/IntelliJ-is-hanging-during-build-process-and-indexing-process-when-working-on-the-WSL-projects

    还有一个 git 一直-1 的问题,只有临时解。
    https://youtrack.jetbrains.com/issue/IDEA-276250/WSL2-The-Git-process-exited-with-the-code-1
    leeyuzhe
        88
    leeyuzhe  
       2022-07-11 18:45:12 +08:00
    @imKiva wsl 还有一个问题,一旦换过 sdk 位置或者重装过 idea ,反正搞坏了之前 idea 中 maven 插件对应的 jdk 位置,就会打不开项目,闪退。唯一的解法是禁用 maven 插件,打开项目,设置项目 sdk ,然后启用 maven
    lingxi27
        89
    lingxi27  
       2022-07-11 19:18:42 +08:00
    @Jakarta 这就是优点啊,可以在本地编辑代码,随时方便切换不同的 remote
    开发环境,跨平台开发很舒服
    MasterMonkey
        90
    MasterMonkey  
       2022-07-11 20:00:41 +08:00 via iPhone
    太过份了,把我家 jetbrains 往死了打!
    daveh
        91
    daveh  
       2022-07-11 20:16:42 +08:00 via iPhone
    @leeyuzhe 网络、本地文件性能等等,这些都是微软 WSL 2 的问题,以及 WSL 1/2 都存在的执行 wsl.exe 结果随机不一致问题 ,微软祖传 BUG ,JB 这也属于躺枪,只能尽量去适配。
    要怪只能怪微软不去积极修复,他自家 vscode 不用 wsl.exe 这个模式,也不去修复问题,阴谋论讲微软是故意留这些 BUG 的。

    从技术上讲,本地软件调用执行 WSL 中程序,JB 采用的 wsl.exe 模式更合理,不用一直挂后台占内存,而且对各种 WSL distro 兼容性更好; JB 以前对 WSL 也使用 sshd ,这种也属于挂后台,而且配置麻烦,但不会触发 wsl.exe 的 BUG 。而微软 vscode 采取的是往 WSL 中上传自家闭源二进制文件方式,规避了 wsl.exe 的 BUG ,但兼容性不好,不知你用过非标准的 Linux 比如不用 glibc 用 uClibc 的 WSL distro 没有,明显 vscode 不支持,但 JB 的方式就没有问题。

    对你的建议是,如果不是特别要求某些 WSL 2 才支持的特性,请切换成 WSL 1 ,你会发现不再有网络问题,本机文件访问性能大增,还能直接用 Windows 版的 git ,再配置 git 忽略 fileMode ,从此不再有 git 问题。
    如果强依赖 WSL 2 ,还不如搞个远程服务器,但你用 IDEA ,我想不到哪个特性要强依赖 WSL 2 。
    rebeccaMyKid
        92
    rebeccaMyKid  
       2022-07-12 01:08:47 +08:00
    @daveh 嗯我确实没仔细用过远程工具链,不过你既然说了那我就信了。我记得我用那个 remote IDE 的时候,就是挺卡。可能 vscode 还是胜在不要配置任何东西吧。装个 plugin 就行了。people would make their choices.
    imKiva
        93
    imKiva  
       2022-07-12 01:29:05 +08:00
    @leeyuzhe #86

    > 我真不知道有什么好争的,idea 功能性,易用性上确实秒杀 vscode ,但是承认远程开发就是一坨屎这么难吗?


    没有在争谁更好用,也没有不承认 JB 远程开发一坨屎。我只是在分享我开发的时候的体验,至少我的体验很好罢了,可能是我的 workflow 跟你不一样造成的。我们组的项目没有用到需要跟网络有关的,遇到 indexing 也是文件太多 index 起来很慢(我设置了存储 index 到本地,但是 IDEA 似乎并不听话;并且组内经常有人怒喷 IDEA 性能低下),我们更依赖命令行工具( Makefile 或者 gradlew )进行编译而 IDEA 只作为代码提示工具和调试窗口等等…… 不同的工作流程会有很不一样的体验,我看你提到 WSL 就顺手把自己的体验说一下而已。
    ghostheaven
        94
    ghostheaven  
       2022-07-12 10:40:51 +08:00
    vim 天下第一[doge]
    ghostheaven
        95
    ghostheaven  
       2022-07-12 10:56:35 +08:00
    刚才用 code-server serve-local 简单体验了一下,跟 VSCode 原生的环境非常接近,Terminal 、Extension 都有。就发现了一个问题,缺少了自动端口转发功能,前后端开发都受限。不知道 VSCode 将来会不会提供通过 Remote 扩展连接到 code server 的功能,这样只要安装一个 VSCode ,配好 Server ,一个办公电脑就可以搞前后端开发了。

    如果 VSCode 再做的极致一点,把 Server 的多用户环境也管理起来,团队的人都可以通过一台或几台 XX 云服务器集群来开发,如果性能不足就升级云主机规格,甚至可以搞成 serverless 那种按需启动的的服务,用的时候启动,断开以后就关闭服务。存储通过 NAS 共享。

    只要保证有一个比较好的宽带,一个可以收发邮件的轻薄本,哪里都可以 coding 。
    byte10
        96
    byte10  
       2022-07-12 14:54:41 +08:00
    @daveh 远程快发很强大的。我讲一个使用场景,最近很多学生经常要搭建环境运行项目,而我只要在我的云服务器搭建好服务器就可以直接给他们使用了。遇到问题,我只要在这台服务器上看到并修复即可。如果没有这个玩意,每个人都帮他们搭建一个服务器。那得多头疼。每个人都要搭建一个 mysql ,搭建一个 mongodb ,在搭建 nodejs ,搭建 jdk 。这是一个使用场景。而最场景的就是在公司开发,然后回家也能继续开发,上次也有人说用远程开发桌面开发啊,不一样的概念。
    @devtiange 对!快捷键头疼,应该可以用一个浏览器,去掉所有快捷键来使用。
    @lanlanye 自己用就很舒服啊。远程开发配置和环境都一样。
    3282361
        97
    3282361  
       2022-07-12 17:49:52 +08:00
    @christin 朋友,Fleet 的代码配色方案你可以访问到吗,能不能帮忙导出一份,谢谢了
    christin
        98
    christin  
       2022-07-12 18:08:00 +08:00 via iPhone
    @3282361 在哪里能找到?
    3282361
        99
    3282361  
       2022-07-12 18:23:28 +08:00
    @christin 抱歉我也不知道。。也许设置界面里、也许有配置文件,找不到就算了
    daveh
        100
    daveh  
       2022-07-12 19:10:01 +08:00 via iPhone
    @byte10 你这种适合用 Docker ,跟是否远程开发也关系不大,本机一样可以开发,JB 系 IDE 支持直接使用 Docker 工具链。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1551 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 17:12 · PVG 01:12 · LAX 10:12 · JFK 13:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.