偷渡 VS Code Server

2022-07-15 22:30:45 +08:00
 kouhe3

0.前言

有些人可能申请了 https://aka.ms/vscode-server-signup 但是还没有通过,一直在等。

那我这里直接水一篇写教程出来好了。

1.下载 code server launcher

Linux 和 macOS 运行

wget -O- https://aka.ms/install-vscode-server/setup.sh | sh

Windows x64 运行

New-Item "$HOME\.vscode-server-launcher\bin" -ItemType "directory" -Force
Invoke-WebRequest "https://aka.ms/vscode-server-launcher/x86_64-pc-windows-msvc" -OutFile "$HOME\.vscode-server-launcher\bin\code-server.exe"
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$HOME\.vscode-server-launcher\bin", "User")

Windows ARM 运行

New-Item "$HOME\.vscode-server-launcher\bin" -ItemType "directory" -Force
Invoke-WebRequest "https://aka.ms/vscode-server-launcher/aarch64-pc-windows-msvc" -OutFile "$HOME\.vscode-server-launcher\bin\code-server.exe"
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$HOME\.vscode-server-launcher\bin", "User")

2.启动

刷新环境变量

运行

code-server serve-local

然后 launcher 会去下载

https://update.code.visualstudio.com/commit:b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a/server-win32-x64-web/stable

并启动 server.cmd

3.使用

浏览器打开 localhost:8000

4.总结

如果不想用微软的 tunnel 做端口映射, 其实完全不需要申请就能用...

7794 次点击
所在节点    Visual Studio Code
38 条回复
beginor
2022-07-15 22:36:33 +08:00
code server 很早就有了呀,只是没有 tunnel ,通过一个 token 就能访问
kouhe3
2022-07-15 22:51:15 +08:00
微软整的这个 code server 和 https://github.com/coder/code-serverhttps://github.com/gitpod-io/openvscode-server

的 2 个区别

1.支持 Windows 跑 code server
2.扩展市场用 https://marketplace.visualstudio.com/
raysonlu
2022-07-15 23:39:51 +08:00
所以楼主在搞什么?我一直在吃灰云上用 docker 的 code-server 了,不得不用 docker ,直接安装在机子上的话,打开页面几乎能翻看机子所有文件!
limerence
2022-07-15 23:44:46 +08:00
搞不明白这个和 github.dev 这种网页编辑器,和 wsl 中 code server 的区别是什么
kouhe3
2022-07-15 23:56:46 +08:00
@raysonlu Microsoft VS Code Server 和 coder/code-server 和 gitpod-io/openvscode-server 的区别我不是列出来了吗。

这个虽然看起来和 coder code server 差不多,但是他用的后端是和 VS Code Remote SSH 一样的啊。
kouhe3
2022-07-15 23:59:24 +08:00
@limerence 也许你可以考虑一下在 Windows 跑 VS Code Server , 然后安装 remote WSL 扩展。
limerence
2022-07-16 00:27:26 +08:00
@kouhe3 所以和 wsl/linux 中 code server 的区别就是能跑在 windows 中吗
secondwtq
2022-07-16 00:52:39 +08:00
我一直都在用 OSS 版的 code-server ,好处是一可以把所有环境都扔在一台机器上(哪怕没有 GUI )方便编译和调试,二是可以用 Firefox 跑缓解 Electron 的内存占用问题

我记得 OSS 版最开始是第三方自己 hack 出来的,后来微软和 GitHub 也开始搞。然后我这边感觉做得越来越完善
理论上来说官方支持浏览器运行,有利于减小浏览器版和 standalone 版的差距
kouhe3
2022-07-16 02:48:27 +08:00
@secondwtq 你说的 [OSS 版 code-server] 是不是上面的 coder/code-server
kouhe3
2022-07-16 03:03:02 +08:00
微软这个 code server 能在 win 上跑是有原因的啊,你注意看上面图里那个文件夹 .vscode-server , 这是 VSCode SSH 远程开发的后端。
用过 VSCode SSH Remote 扩展的话都知道 VSCode 的 SSH 远程开发支持 Linux/macOS/Windows.
这个 code server 和 ssh 远程开发用了同一个后端,那它肯定支持 win 啊。
itplanes01
2022-07-16 12:25:07 +08:00
这个相当于完全体版 Code Server ,Pylance IntelliCode 这些只能官方 VS Code 使用的插件都能用
CokeMine
2022-07-16 12:37:27 +08:00
lichao
2022-07-16 14:18:54 +08:00
kouhe3
2022-07-16 16:34:15 +08:00
@CokeMine
@lichao

确实,这两个 linux 的链接以前就有了。

我本来想直接放 win 版 server 的链接出来的。

不过我发现新出来的需要申请的内测的 code-server 其实就是个加了 tunnel 的启动器。

然后就写了这篇水贴,说一下这个启动器其实不需要申请内测就可以跑 localhost(

当然,要是有链接的话直接下载链接就行了。
honus
2022-07-17 01:36:29 +08:00
linux 版的 https 有办法没
kkocdko
2022-07-17 02:13:07 +08:00
楼主请看:
https://kkocdko.site/post/202201140225
这个其实不算“偷渡”,因为源码都是公开的(个人认为 fleet 那种才算偷渡),n 年前就可以直接运行“yarn web”直接启动了,wiki 里头也有写如何构建 web-server 的 target 。
kkocdko
2022-07-17 02:45:56 +08:00
看到楼主的回复了,抱歉刚刚没注意。由于最近看到很多很混乱的解释(特别是某些半吊子营销号的文章),在这大致总结一下 VSCode 的各种变体:

Desktop:
- 最常用。Electron 构建,本地运行。

VS Code for the Web:
- 例如 vscode.dev , github.dev
- UI 和扩展都运行在浏览器中。
- 功能半残,支持的扩展较少,只有 Prettier 等可以完全在浏览器环境中运行的扩展(纯 JS 或 WASM ),无法使用其他依赖原生功能的扩展。

Code Server Web:
- 例如 GitHub Codespace ,本次预览的 VS Code Server ,coder.com 的 code-server 。
- 扩展运行在服务器,UI 运行在浏览器。
- 功能上约等于 Desktop 变体。相当于把标准版的 UI 渲染部分挪到浏览器。

一些补充:
- VSCode 是开源的(废话),其本体(不含扩展)对普通开发者很友好,关于如何构建上述三种变体,在 [Wiki / How to Contribute]( https://github.com/microsoft/vscode/wiki/How-to-Contribute#code-server-web) 中都能找到。
- 由于微软的协议限制,coder.com 的 code-server 等第三方无法使用原版扩展市场。这也导致例如 Pylance 等闭源扩展无法从正常渠道安装。
- 本次预览的 VS Code Server 约等于 自行构建的 Code Server Web 变体 + 官方扩展市场 + 微软提供的类似内网穿透的工具。
kkocdko
2022-07-17 02:49:08 +08:00
@honus 开个 Nginx 反代一下就行。
kouhe3
2022-07-17 09:07:35 +08:00
@kkocdko 补充的好! 都明白这个启动器就是个 tunnel 就行了 🌚
secondwtq
2022-07-17 12:58:03 +08:00
@kouhe3 #9 是,其实俩应该差不多

单说“Visual Studio Code”这个名字的话是微软自己的专有版本,开源的那个其实叫"Code - OSS",Linux 系统和社区里这种区分一直都有很强的存在感,就像现在的 NVIDIA 闭源内核驱动和 open-gpu-kernel-modules

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/866535

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX