如何在浏览器中运行 VS Code?
摘要: WEB IDE新时代!
Fundebug按照原文要求转载,版权归原作者所有。
众所周知,Visual Studio Code
是基于 Electron
的,而Electron
又是一个“双头怪”——基于 Web 技术的桌面应用平台。但在最近,Coder 的开发者最近做了有趣的尝试,让我们可以把整个 VSCode
放到浏览器中去运行,并且我们也可以很容易地去亲身体验他们的工作成果。如果你有兴趣的话,不妨跟我一起尝试一下。
本地运行服务
简单地说,Coder
对 VSCode
进行了一些修改,以允许其作为可托管的 Web 服务来运行,该服务称为 Code-Server
。要在我们自己的机器上运行该服务,目前有两种用法:基于 Docker
容器,或者自己下载运行服务程序。
以下示例均基于 Coder
当前版本(1.691)。后续版本中可能会发生变化,因此如果运行有问题的话,建议参考 Coder 官网。
基于 Docker
假如你的机器已经安装了 Docker
的话,那么该方式是最简便的。由于Docker
对 Linux
系统支持最佳,而 Windows
/MacOS
虽然也能运行但比较别扭,所以以下示例均以 Ubuntu
为环境。运行容器只需要如下一行命令(你可以自行决定在什么位置加载文件卷):
docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:${PWD}" codercom/code-server:1.621 --allow-http --no-auth
等待 Docker
完成容器下载和启动后,在浏览器中打开 http://localhost:8443
即可看到 VSCode
界面。对于国内环境,为提高网络速度,可考虑使用代理或国内的镜像源。
自行下载运行程序
自己下载并运行的步骤要略微麻烦一些,如果不希望使用 Docker
的话,可参考如下命令:
wget https://github.com/codercom/code-server/releases/download/1.691-vsc1.33.0/code-server1.691-vsc1.33.0-linux-x64.tar.gz tar zxf code-server1.691-vsc1.33.0-linux-x64.tar.gz cd code-server1.691-vsc1.33.0-linux-x64 ./code-server -d $HOME --port 8443
这时控制台将输出服务器启动的日志信息,其中包含服务器的启动密码(Password
),请记住该信息,以防后续输出内容太多难以找到。在后面我们要用它来登录。
启动后在浏览器中导航到 https://localhost:8443/
。注意这里和 Docker
的运行方式有一点不同,本地运行时是强制使用 https
的,但使用了 Coder
开发者证书,因此如果你看到浏览器提示证书问题的话,请选择接受并继续。接下来会提示你输入控制台显示的密码:
输入密码,等服务器启动完毕后会自动进入与 Docker
方式相同的界面。
这里还有一点需要提醒。按照主流浏览器的安全策略,一旦你用 https
方式浏览了某个网站,那么后续都会要求你继续使用该方式,即使手动输入 http
前缀也会强制跳转 https
。因此,如果你先用本地方式启动,再尝试 Docker
的话就会遇到无法使用的问题(因为 Docker
方式并不支持 https
)。这时清空一下浏览器缓存再运行就可以了。
运行界面
无论使用哪种方式,启动后在浏览器中都会看到熟悉的界面:
如果你尝试使用一下会发现,这个 VSCode
在某种程度上是经过“魔改”的,和本地运行的 VSCode
在很多方面会有微妙的差别。比如,菜单和标题栏都是在浏览器中绘制的,不像本地程序那样使用系统 UI,而右上角的最小化/最大化/关闭按钮也是没用的。此外,打开文件/文件夹界面也是 Coder
团队提供的网页内置界面,不再是系统的文件对话框:
当然,这种行为是可以理解的,因为网页中无法直接调用操作系统 UI,因此相关功能都是 Coder
团队修改后才能正常使用的。
如果你使用 Docker
运行方式的话,那么你还会注意到其他一些不同。例如,从终端的显示你会发现该命令是运行在容器中的,所以在终端中执行的结果在容器运行结束后也不会保留下来。如果你希望保留工作结果的话,那么应当使用版本控制系统。
使用体验
那么,在浏览器中编辑的实际体验如何呢?我尝试着编辑并运行了一些程序(当然要安装对应的编译器)、修改并提交 Markdown
文件,过程非常顺畅,感觉和本地版的 VSCode
没有什么不同。
但是,至少在目前,Code-Server
存在一个重大问题:无法在 VSCode
中正常安装各种插件。我们都知道VSCode
要想好用的话通常要安装大量第三方插件,这就使得该工具的使用受到了很大的限制。按照官方说明,这似乎是由于插件安装机制的一些内在限制,并且开发团队也在努力解决该问题,相信再过一段时间我们会看到一个比较完善的解决方案。
使用场景
浏览器中运行的 VSCode
可以用来干什么呢?一个很容易想象到的场景是远程/在线开发。既然我们已经可以从 Docker
容器中运行 VSCode
,那么在此基础上添加必要的开发包以后,我们不难据此创建一个标准镜像,从而让开发者拥有一个统一、标准化的开发环境,本地安装、维护开发组件从此将不成为问题。这应该是很多程序员和项目管理者所乐见的。此外,在运维、在线教学等领域也可以发挥很大作用。
事实上,眼下已经有不少类似思路的 Web IDE,比如 AWS Cloud9, Eclipse Che,国内也有 Coding 的 WebIDE(目前似乎是合并到了腾讯云)等。和类似产品比较起来,VSCode
的主要优势应该是有着更好的社区和生态环境,因而使用前景也更为广阔。
当然我们也看到,目前在浏览器中运行 VSCode
仍然存在一些有待解决的技术问题,因此还不适合广泛采用。但这已经是一个不小的成就,在程序员社区中已经讨论和研究多年的完全在线开发,可以说是又大大迈进了一步。
关于Fundebug
Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了20亿+错误事件,付费客户有阳光保险、核桃编程、荔枝FM、掌门1对1、微脉、青团社等众多品牌企业。欢迎大家免费试用!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
简单几招助您加速 ARM 容器应用开发和测试流程
随着5G时代的临近,低延迟网络、AI硬件算力提升、和智能化应用快速发展,一个万物智联的时代必将到来。我们需要将智能决策、实时处理能力从云延展到边缘和IoT设备端。阿里云容器服务推出了边缘容器,支持云-边-端应用一体协同。在IoT和边缘计算场景,我们不但需要支持X86芯片也要提供对ARM架构芯片的支持。此外随着国产ARM CPU的快速发展,也需要我们在产品测提供ARM版本的容器产品支持。本文将介绍一些简单的技术来加速 ARM 容器应用的开发和测试流程。 X86环境构建ARM架构Docker镜像 今年4月24日,Docker公司与ARM公司宣布合作伙伴计划,为Docker的工具优化面向ARM平台的开发者体验。Docker开发者可以在x86桌面端为ARM设备构建容器镜像,并可将容器应用部署至云端、边缘以及物联网设备。整个容器构建流程非常简单
- 下一篇
优惠对比:阿里云服务器优惠活动如何选择适合自己的活动
现在阿里云服务器越来越受到用户喜爱,阿里云推出的云服务器优惠活动也越来越多,但是活动多了之后,作为用户,我们往往不知道选择参加哪个活动好了,因此我们特意来比较下阿里云几个用户参加最多且活动时间属于长期的优惠活动来比较下,看下根据自己的需求配置和预算,到底哪个优惠活动更加适合自己。 阿里云服务器长期优惠活动有:1.阿里云全民云计算,云服务器3折起2.高性能云服务器特惠,高性能云服务器4折起3.HI拼团,云产品拼购2.4折起,云主机低至190元/年4.云上爆款-云服务器ECS-云主机优惠具体每个活动推出了哪些优惠配置和优惠价格,大家自行到活动页面查看即可。 对比一:首先我们看下阿里云最低款的云服务器配置,也就是T5实例的1核1G1M带宽云服务器的优惠价格:全民云计算优惠价格为366元1年,买2年和3年的优惠价格都是658.8元HI拼团的优惠价格为拼团购买190元/年,不拼团购买价格为245.75元 云上爆款活动价格为313.2元,同时如果我们要增加带宽,且购买时长为1-2年的话,带宽也可以享受5折优惠。 结论:1.如果我们是要购买最低配置的T5实例1核1G1M阿里云服务器的话,参加HI拼团...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果