V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kiduu
V2EX  ›  程序员

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

  •  
  •   kiduu · 2020-12-30 16:03:39 +08:00 · 1573 次点击
    这是一个创建于 1229 天前的主题,其中的信息可能已经有所发展或是发生改变。

    云端编辑器-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

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

    更多精彩内容请访问原文链接:

    https://2demo.top/168.html

    推荐阅读:

    1 、利用 onedrive 搭配腾讯云轻量服务器搭建一个高速网盘

    2 、搭建一个无线存储的在线图床

    3 、利用腾讯云轻量服务器+宝塔快速搭建负载均衡网站

    4 、WordPress 在 NGINX 和 Litespeed 下的性能对比测试

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1149 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:31 · PVG 02:31 · LAX 11:31 · JFK 14:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.