云端编辑器-Theia使用体验报告

Theia IDE简介

Theia IDE(eclipse-theia)是Eclipse 基金会打造的云端及桌面IDE框架,该产品旨在替代微软的 Visual Studio Code,Theia是完全开源的,由多元化开发者社区进行开发。

官网地址:https://theia-ide.org/

GitHub地址:https://github.com/eclipse-theia/theia

Theia的官网上的介绍是这样的描述的:

Eclipse Theia is an extensible platform to develop multi-language Cloud & Desktop IDEs with state-of-the-art web technologies.

可以从这句话中看出:Theia整合了云端IDE和桌面IDE,可扩展,支持多语言。

当作为云端IDE时,Theia会分为两个独立的进程,一个前端,一个后端(对应的就是本地浏览器和远程服务器),前后端通过WebsocketsJSON-RPC消息或HTTPREST API进行通信。而作为桌面IDE时,前端和后端均在本地运行。

官方提到Theia可以作为Visual Studio Code的替代方案,因此其界面也和Visual Studio Code极其相似。为了更进一步的替代VScode Theia原生支持VScode扩展协议,也就是说我可以在Theia上安装和重用VScode扩展,对于习惯使用VScode作为日常编辑器的程序员们尤其是前端程序员可以说是可以无痛迁移。进行云端开发。

腾讯云版Theia

Theia官网并没有直接给出安装包,是因为Theia并不是一个最终产品,它仍然处在一个高速开发阶段,用户需要根据自己的使用习惯及语言来进行安装。利用腾讯云轻量服务器可以一键配置云端Theia。

腾讯云服务器的镜像中的Theia IDE是1.5.0版本具有,官方最新版本是1.9版本。内置了Go、Python、Node.js、Clang及OpenJDK开发环境。

这是安装结束之后的界面,可以看出是基于Ubuntu Server 18.04 LTS 64bit版本,点击管理应用。

管理页面

要登录云端IDE需要获取访问地址,管理员账号及密码。

点击登录按钮会弹出远程登录页面,复制粘贴获取密码的代码即可获得账号及密码

获取密码:cat ~lighthouse/credentials.txt

修改密码:sudo htdigest -c ~lighthouse/passwd.digest lighthouse admin

修改密码时输入的密码不会显示在命令行中,需要输入两次相同密码

点击登录地址的http链接,用户确认,输入管理员账号密码即可

用户界面

进入之后用户初始页面如下,下面进行一些插件安装配置让它更符合我们的使用需求。

再装上几个常用的前端插件

代码测试

需要注意一点,云端编辑器还是要看服务器配置,小型项目无所谓,大型项目如果要上云端还是需要一个给力一点的服务器。

云端IDE最大的体验就是随时随地编程,只要有电脑有网就行。特别适合出差、旅游这种情况。配置好了哪怕自己的电脑不在身边也可以暂时用网吧电脑或者同事电脑临时码一下代码。

购买地址:https://curl.qcloud.com/qoxFL8HT

国内:1C1G3M只需要123一年100%CPU性能保证

国际:1C1G30M只需要24元/月,288/年

docker安装

项目地址:https://github.com/theia-ide/theia-apps#theia-docker

安装docker

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh

推荐选择含有自己开发语言的版本镜像而不是标准版镜像,以full版本(含多种语言)为例

docker pull theiaide/theia-full
docker run -it --init -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia-full:latest

打开 http://localhost:3000即可

需要注意的是Theia本身并未含有认证机制,所有知道这个公网IP和端口号的人都可以使用。

安全的版本

Theia-https-docker 增加了 token 认证和 https,可以在标准镜像中加入 security layer,强烈建议使用它构造自己的镜像。构建也非常简单,按以下三个步骤操作即可,其中第三步的 –build-arg app= 填入需要使用的语言版本,这里使用的也是 full 版本。

git clone https://github.com/theia-ide/theia-apps.git
cd theia-apps/theia-https-docker
docker build . --build-arg app=theia-full -t theiaide/theia-full-sec

耐心等到构建完成,输入docke images就可看到自己构建的 theiaide/theia-full-sec 镜像。

之后就可运行,token 后接的是访问口令:

docker run --init -it -p 10443:10443 -e token=mysecrettoken -v "$(pwd):/home/project:cached" theiaide/theia-full-sec

但一般我们都需要后台运行,可以这样让容器后台运行:

docker run --init -itd -p 10443:10443 -e token=mysecrettoken -v "$(pwd):/home/project:cached" theiaide/theia-full-sec

如果要指定使用 /home/coding目录,后台运行,则是:

docker run --init -itd -p 10443:10443 -e token=mysecrettoken -v "$(pwd):/home/project:cached" theiaide/theia-full-sec

打开 https://ip地址:10443,输入 token 便可打开 Web IDE。也可直接使用 https://ip地址:10443/?token=mysecrettoken 直接打开。

变更权限

Theia默认使用了1000的userID,于宿主机不一致从而会造成权限问题。

解决方法有以下几种:

  1. 将挂载的文件权限改为 777,这种方法不太安全: chmod -R 777 /home/coding
  2. 指定用户运行,但如果使用的是 root,仍会有些不安全: docker run --user=root --init -it -p 10443:10443 -e token=mysecrettoken -v "$(pwd):/home/project:cached" theiaide/theia-full-sec
  3. 将挂载的文件夹属主改为1000,推荐这种方法: chown -R 1000 /home/coding

这样就可以愉快的使用啦。

小工具

网盘翻车不断,我是如何低价自建一个自用网盘

2020-11-22 18:08:59

小工具

腾讯云轻量服务器 DD windows结合自定义镜像直接起飞

2021-3-5 16:07:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索