今天( 北京时间 2019 年 5 月 3 日 ),在 PyCon 2019 大会上,微软发布了 VS Code Remote,开启了远程开发的新时代!这次发布包含了三款核心的全新插件,它们可以帮助开发者在容器,物理或虚拟机,以及 Windows Subsystem for Linux (WSL) 中实现无缝的远程开发。通过安装 Remote Development Extension Pack ,你可以快速上手远程开发。
详情介绍请见: https://zhuanlan.zhihu.com/p/64505333
考虑到一些读者的阅读习惯,我还建立了“玩转 VS Code ”微信公众号,满足不同人群的阅读需求~ 欢迎大家关注!
1
wellwell 2019-05-03 10:34:57 +08:00
官方版的 code server?
|
2
Nasei 2019-05-03 10:37:35 +08:00
问题来了, vs 本家 ssh 早就有了, 容器和 wsl 会加上去吗
|
3
lekai63 2019-05-03 11:24:37 +08:00 via iPhone
所以以后可以用 surface-go 开发了么…… 2333
|
4
visitantzj 2019-05-03 12:06:46 +08:00 1
https://code.visualstudio.com/blogs/2019/05/02/remote-development
VM,docker,wsl 都支持, 看说明是本地跑 IDE UI 相关,远程跑 debug 相关 和简单 ssh 挂文件系统上去不一样,整个运行环境是用远程系统的, 这个是真 remote 了 不过现在还是 insider 版 vscode 才能用 |
5
clavichord93 2019-05-03 12:16:34 +08:00 via iPhone
会不会延迟很高啊…
|
6
mamahaha 2019-05-03 12:27:58 +08:00 2
有了这个可以用 ipad 搞开发吗? ipad 有手写笔还能写代码,那就太方遍了。
|
7
damngood 2019-05-03 12:51:52 +08:00 via iPhone
第一反应也是有兼容的 ipad 客户端不 如果有就上一个 iPad pro
|
8
xunco 2019-05-03 13:01:48 +08:00
https://appleinsider.com/articles/19/04/23/mouse-support-over-usb-c-could-arrive-for-ipad-pro-in-ios-13
ios13,ipad pro 可能会支持鼠标,超期待 |
9
formulahendry OP @wellwell 哈哈,应该比 code server 的 scope 更大 ~
|
10
formulahendry OP @Nasei 哈哈~ 好问题!
|
12
formulahendry OP @lekai63 必须的
|
13
formulahendry OP @visitantzj 你的总结很到位~ Stable 版的 VS Code 也快了
|
14
formulahendry OP @clavichord93 不会的~ 试试就知道了
|
15
sobigfish 2019-05-03 13:12:44 +08:00
monaco-editor 也支持 VS Code Remote 就好了
话说 vsc 什么时候出个 for iOS 版本啊 |
16
secsilm 2019-05-03 13:18:13 +08:00 via Android
终于来了,忍 remote workspace 很久了
|
17
dacapoday 2019-05-03 13:19:03 +08:00
VS Code 野心很大! JB 家的 IDE 还剩啥,用户习惯?
|
18
CallMeReznov 2019-05-03 13:22:51 +08:00
感觉上还是不够轻便啊......是好的开始,在等几个版本在装上玩..
|
19
oisc 2019-05-03 14:05:21 +08:00
是发布了三个预览版插件,Remote Extension、Remote-SSH 和 Remote-Containner,分别对应 WSL、SSH 和 类似 Vagrant 的虚拟机开发和调试环境。微软的出发点是不应该为了远程开发放弃丰富的本地体验,具体方案和 Jetbraine 的远程开发是一致的。对于炼丹工程师来说,重大利好啊,感觉终于可以放弃 PyCharm EDU 了。
|
20
abcbuzhiming 2019-05-03 14:38:31 +08:00 1
@dacapoday JB 系列纯粹是山中无老虎,猴子称大王,又笨又重的 IDE
|
21
formulahendry OP @sobigfish 我也很期待有 iOS 版 😄
|
22
zjsxwc 2019-05-03 15:09:23 +08:00 via Android
不能局域网内单独部署的远程开发都死掉了
|
23
plqws 2019-05-03 16:01:15 +08:00 5
楼里不少人是不是认为世界上只剩下 web 开发了……还想取代 jetbrains,不可能的
|
24
EvilCult 2019-05-03 16:18:30 +08:00 via iPhone
这是骗我买 iPad pro 啊………………
|
25
yujincheng08 2019-05-03 16:24:40 +08:00 via Android
所以服务器上面的 docker 容器怎么办😂在容器里面装个 ssh server 吗
|
26
formulahendry OP @plqws “世界上只剩下 web 开发了”? 这是啥推论
|
27
justfortest 2019-05-03 17:47:43 +08:00
看来要尝试下了
|
28
SorryChen 2019-05-03 17:48:27 +08:00
试了试,远程之后,代码补全好慢。。。。感觉没法用
|
29
zjsxwc 2019-05-03 17:54:10 +08:00 via Android 2
不能局域网内单独部署的远程开发都死掉了。
- 代码可能会被别人获取 - 网络不稳定,外部光纤被铲断了全公司放假? - 如何应对需要与三方接口对接的半线上式的调试? - 单独部署的话微软什么价格? |
30
easylee 2019-05-03 18:48:07 +08:00 1
JetBrains 系列有你们说的那么差么?我觉得非常好用啊......
|
32
formulahendry OP @bccoder 我们说的是 VS Code, 不是 VS IDE ~ Jetbrains 是 IDE,VS Code 是编辑器,各有各的优势,各有各的粉丝,没必要分个高下。 如果都是编辑器的话,倒是可以有些比较。
|
33
k9982874 2019-05-03 19:29:08 +08:00 via iPhone
@plqws vsc 啥写不了?反正我是用 vsc 通吃包括 c/c+、go、python 以及 web 开发相关的前后端技术栈 /
|
36
zjm5s 2019-05-03 19:38:43 +08:00 via Android
为什么要踩一下 jb,我用得挺好的啊。
|
37
cuebyte 2019-05-03 20:14:47 +08:00
臥槽,居然夢想成真了!吹爆!
|
38
luozic 2019-05-03 20:19:23 +08:00 via iPhone
更关键的是看 lsp language server procotol 的支持程度,新语言已经把这个作为默认支持 c# haskell 也是第一位支持,后面就看 old 语言支持情况了,这个比啥 ide 的进步更重要,现在语言优化暂时进入的瓶颈期,大部分的优化实际是 bing to 硬件支持的指令的这种。
|
39
a554340466 2019-05-03 20:34:58 +08:00 via iPhone
@easylee 慢半拍。没有 vscode 顺
|
40
weiqk 2019-05-03 21:21:05 +08:00 via Android
我用 editplus,各位如果有意见请保留
|
41
ibegyourpardon 2019-05-03 22:00:30 +08:00
VSCODE 内存占起来比我的 JB 系列 IDE 高。。
|
42
airborne007 2019-05-03 22:05:34 +08:00
@ibegyourpardon 是的,有笨又难用,还不如直接用 IDE 呢
|
43
xrlin 2019-05-03 22:17:37 +08:00 via Android
@ibegyourpardon 装一堆插件后资源占用和 ide 没多大区别
|
44
coderfox 2019-05-03 22:21:53 +08:00
@yujincheng08 #25 有一个插件是给容器用的,「 Remote - Container 」。
@zjsxwc #29 这个东西不需要连接到微软的服务器,是通过本地连接进行通信的,只不过最开始要安装一个 vscode-server 需要联网。 |
45
ik2h 2019-05-03 22:23:17 +08:00
中国队都进世界杯多少年了,还有人把 web 开发等同于前端网页开发。
|
46
zjsxwc 2019-05-03 22:53:22 +08:00 via Android
|
47
zjsxwc 2019-05-03 23:00:08 +08:00 via Android
|
49
a852695 2019-05-03 23:47:17 +08:00
之前 vs 也有这个功能了,但是还不如这个好用,期待实际使用反馈
|
50
6260628 2019-05-03 23:49:18 +08:00 via iPhone
然并卵
|
51
jss 2019-05-04 00:45:56 +08:00 via iPhone
用 VS code 的 是不是习惯用免费的
|
53
xiadong1994 2019-05-04 01:06:12 +08:00
我一直是内网远程机器开 samba,本地 Mac/Windows/Linux vpn 进内网,挂载网络磁盘+ssh 上去+vscode,代码编辑基本上跟本地没有区别。
|
54
sobigfish 2019-05-04 01:08:23 +08:00
补充 #51 而且 VSC 够用就行, 不一定非要去买其他收费的,而且 VSC 社区本来就很能倾听大家的想法。(举例:比如图标 你让其他收费软件听大家的改改试试?)
|
55
showgood163 2019-05-04 01:55:07 +08:00 via Android
正愁远程 debug 呢。。。。真是福音
|
57
toono 2019-05-04 03:03:51 +08:00
真的是跨时代的作品啊,只需要在一台公网访问的机器上设置开发环境,其他机器都是装个简单的 vscode 就好了
|
58
yanaraika 2019-05-04 03:23:28 +08:00 via Android
jetbrains 本来就有这个功能,支持 ssh sftp vagrant docker 等
|
59
sola97 2019-05-04 03:24:06 +08:00 via Android
vscode 各种插件配置文件好烦,还没 jb 开箱即用
|
61
dangyuluo 2019-05-04 03:32:53 +08:00
@xiadong1994 完全不同,你挂载网络磁盘到本地目录,代码分析这种功能很受限。这时候你想全局搜索一个东西,VS Code 就得真的把文件从 remote 拖到本地再进行搜索。你也能想到这得多慢,尤其是有上万个文件的时候。
有了 VS Code Server,所有搜索都是在服务器上完成的,你的笔记本只是一个展示和编辑工具。基本上体验和本地开发没有区别了。 |
62
tsui 2019-05-04 04:12:15 +08:00
@dangyuluo 真不受限,而且很快,如果你不用 VS Code
大把大把 SSHFS + Idea 的,唯一限制就是 indexing 时间因为 SSHFS 性能不如本地磁盘 |
63
dangyuluo 2019-05-04 04:35:57 +08:00
@tsui 可能和开发的项目有关?你说的方法我试过,在 5G 1,300M WiFi 环境下,Clion 要花上十几分钟生成 index,所以抛弃了。去年我也在用 clion 和 pycharm,临时的解决方案是本地和远程均有一份拷贝(近代码约 1GB ),然后通过 SFTP 插件监测变动然后上传。
|
64
xiadong1994 2019-05-04 04:42:32 +08:00
@dangyuluo 这个我知道,所以我不会这么用比较 heavy 的 IDE 或者插件。但是只是编辑器是足够了。
|
65
Kaiyuan 2019-05-04 04:43:02 +08:00
code-server 加 VS Code Remote 才是完整的云 IDE 啊。单纯的 VS Code Remote 还是要本地运行 VS Code。
|
66
tsui 2019-05-04 05:50:17 +08:00
@dangyuluo 我感觉瓶颈还是在 SSHFS random read 和 sequential read 的性能远远达不到 interface 的速度,估计和 WiFi 无关
你这个代码仓库确实大了,我一般 Java 的话每个 Project 也就不到 100M 的纯代码,home folder 会生成大概 600M 左右的 index,SSHFS 比本地的文件系统大概要慢 2 倍以上,但是只要 index 完成了就基本没有区别了 |
67
Leonscd 2019-05-04 06:49:22 +08:00
不错
|
68
jinliming2 2019-05-04 08:00:52 +08:00 via iPhone 1
@abcbuzhiming 你要是写过 Go,就知道 VSCode 是有多么的渣了,连 JB 的 Goland 边都摸不着……
不要说 JB 占内存了,开个 Go mod,VSCode 卡出翔…… 我一气之下买了一年 Goland 单软件授权…… |
69
JaguarJack 2019-05-04 08:02:57 +08:00 via iPhone
@easylee jb 的非常好用 没他们说的不堪
|
70
rophie123 2019-05-04 08:42:43 +08:00 via Android
@jinliming2 对对对
|
71
abcbuzhiming 2019-05-04 09:20:58 +08:00
@jinliming2 所以我才说,山中无老虎,猴子称霸王啊。我用来对比的不是 vscode,而是 visual studio,但是 visual studio 不像 IDEA 有那么多系列支持那么多语言。
|
72
BCy66drFCvk1Ou87 2019-05-04 09:32:07 +08:00 via Android
我选 jetbrains
|
73
halk 2019-05-04 09:37:13 +08:00
|
74
wangxiyu191 2019-05-04 09:40:54 +08:00
clion 有这玩意啊,代码传到远端,CMake + index 在远端跑,远端编译,远端运行 /debug。然后就可以在 mac 上面很自由的开发一些和 linux 强绑定的程序。
这功能用来写一些用 AIO 之类的 linux 独有的功能的程序的时候非常香。 VSC 也支持这玩意了要给个赞。 |
75
zqguo 2019-05-04 09:57:16 +08:00 1
jb 和 vscode 都挺好用的,没必要踩一个吧。
|
76
newlifeinsc 2019-05-04 09:59:20 +08:00
功能非常棒, 但要 Insider 才能用,不想升级 insider. 有用过的同志讲讲这个体验如何呢
|
77
iwtbauh 2019-05-04 10:55:01 +08:00 via Android
“新时代”???
这不就类似于上个世纪的无盘工作站吗。 而且人家还是通用协议 X11,想远程跑什么软件都可以。2333 |
78
formulahendry OP @iwtbauh 对啊,新时代! 请具体说说“类似”,让大家学习学习。 😄 233333
|
79
iwtbauh 2019-05-04 11:08:51 +08:00 via Android
|
81
formulahendry OP @iwtbauh 那我只能说你没用过 VS Code Remote 😄
自己去用一下都懒得用吗? |
82
iwtbauh 2019-05-04 11:23:15 +08:00 via Android 2
@formulahendry #81
完全没必要,我已经看了官方发布文档和视频,剥开花里胡哨的包装,实质上就等价于上个世纪玩剩下的那一套。 其实你也可能没用过 X protocol,我就说用一下都懒得用了。你去看看文档就可以。 |
84
formulahendry OP @iwtbauh 哈哈哈,不要着急呀。 打字慢慢打 😁
|
85
iwtbauh 2019-05-04 11:31:43 +08:00 via Android
|
86
formulahendry OP @iwtbauh 🤭
|
87
agagega 2019-05-04 12:09:00 +08:00 via iPhone
这种东西我以前在 GitHub Trending 看到过,现在出了个官方的?感觉原理像 Emacs 的 Client 和 Server 模式
|
88
easylee 2019-05-04 12:20:44 +08:00
@cdwyd #34
@a554340466 #39 是的,这个我有体会,我猜是 ox 环境优化会更好。 我之前用游戏本( win10+i7 标压+16g+512g 固态)运行 spring boot 项目 demo 需要 4.7 秒,后面买了 mbp ( i5+16g+256g 固态)启动运行只要 1.7 秒。 |
89
liuxey 2019-05-04 12:30:57 +08:00 1
|
90
formulahendry OP |
91
wly19960911 2019-05-04 13:12:44 +08:00
@liuxey wsl 局限性太大了,而且环境还在自己电脑上,你没看到上面说 iPad 也可以开发了吗,主要的意义在于低性能设备上也允许你开发。
|
92
wly19960911 2019-05-04 13:22:20 +08:00
我试了下这个远程,。至少 前端开发 是没有障碍的。同时试了下 spring 开发,测试了消耗真的不高,但是服务器要炸了(开玩笑。
目前发现的缺点。 1. 登录不要用密码,用证书,否则端口转发的时候配置会出错。你没法解决,导致没法启动。 |
93
wly19960911 2019-05-04 13:41:35 +08:00
@liuxey 为了感觉让你看起来我不是杠精,实际上 vscode 早就可以用 wsl 开发了,只需要把 vscode 的 terminal 设置成 Ubuntu 或者 bash 就可以了,我一直是这么开发的。
|
94
liuxey 2019-05-04 14:48:41 +08:00 1
你说的我之前也试过,但和这个 wsl 模式有本质区别,开启 wsl 模式后,插件也是安装在 wsl 环境中,编辑器中的提示和引用都是基于 wsl 的 lib,对于跨平台能力很强的语言你可能感觉不到,但是平台依赖性很高的就玩不了了
|
95
jjx 2019-05-04 14:50:46 +08:00
|
96
wsseo 2019-05-04 15:02:06 +08:00
刚才配置了一下 go 语言环境 remote-ssh,使用的是 ubuntu1804,godoc 等工具(服务器上要代里)都是自动安装在远程服务器上,编译也是,终端也是远程服务.
``` Starting linting the current package at /home/v2ex/workspace/gowork/src/hello Starting "go vet" under the folder /home/v2ex/workspace/gowork/src/hello /home/v2ex/workspace/gowork/src/hello>Finished running tool: /home/v2ex/workspace/gowork/bin/golint Starting building the current package at /home/v2ex/workspace/gowork/src/hello /home/v2ex/workspace/gowork/src/hello>Finished running tool: /usr/local/go/bin/go vet ./... /home/v2ex/workspace/gowork/src/hello>Finished running tool: /usr/local/go/bin/go build -i -o /tmp/vscode-goOXCLF2/go-code-check hello ``` |
97
wsseo 2019-05-04 15:08:40 +08:00
|
98
wly19960911 2019-05-04 15:17:54 +08:00
@jjx 别用密码,没用的,用密码要在 vscode 自带的 terminal 里面输入密码,但是创建 tunnel 的时候还是会失败,
|
99
alphatoad 2019-05-04 15:22:48 +08:00 via iPhone
静态分析没有超过 JetBrains 的
没有 |
100
wly19960911 2019-05-04 15:33:44 +08:00
@alphatoad 如果仅仅是 spring 的话,vscode 可以做到不是太落后于 jetbrain 的体验,因为他们俩加上插件之后使用的自动补全的 server 都是 spring tools 的,这意味着 java 上可以做到同等级的。
但是论其他方面的体验,远远落后,我就谈谈 git 插件,vscode 的 git 插件只能说是仅仅够用。 另外就是,楼上说 jetbrain 重的人,我曾经分析过,就 idea 和 vscode 同样跑基于 spring tools 的 demo 项目,vscode 仅仅比 idea 少占用 300M,这还是一开始,如果到了后面,我感觉占据的都一样,反而 idea 的扩展性和插件还比 vscode 多。这一点瞬间让我对 idea 改观了。 |