| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> Eclipse Theia技术揭秘——初识Theia -> 正文阅读 |
|
[开发工具]Eclipse Theia技术揭秘——初识Theia |
概述自从接触IDE这方面的技术以来,一直关注其他厂商是如何做IDE的,刚开始了解IDE是从微信、百度、支付宝等这些开发者工具知道这些开发者工具是基于electron或NW.js去构建的,但是从头开始写成本比较高。后来也看了一些其他的IDE,像 Weex Studio、白鹭Egret Wing、快应用IDE、APICloud Studio这类的是基于VSCode源码定制的,技术相对成熟,大部分功能现成的,工作量相对较少,于是就基于VSCode去定制了第一版的开发工具,详情可以看之前写的VSCode技术揭秘。直到后面了解到Theia这个框架,发现样式和功能与VSCode差不多,而且也部分支持VSCode的插件,最主要是能够通过扩展的形式去丰富IDE的视图功能,与VSCode修改UI源码相比,Theia的方式更加好用,只不过前提是要对Theia的源码有所了解才可以去定制,所以当时就把Theia作为IDE的主要研究方向。 总体架构Theia被设计成一个桌面应用程序,也可以在浏览器和远程服务器的环境中工作。为了支持这两种情况,Theia在两个单独的进程中运行。这些进程分别称为前端和后端,它们通过WebSocket上的JSON-RPC消息或HTTP上的REST API进行通信。对于Electron,后端和前端都在本地运行,而在远程上下文中,后端将在远程主机上运行。前端和后端进程都有它们的依赖注入(DI)容器方便扩展功能。 扩展Theia是以一种非常模块化和可扩展的方式设计的。它支持以下三种扩展方式,相比VSCode只支持插件扩展而言,可定制化的成都更高。
下图显示了所有三个选项的高级体系结构。VSCode扩展和Theia插件运行在一个专用进程中,可以在运行时安装,并针对定义的API工作。Theia扩展在编译时添加,并成为Theia应用程序的核心部分。他们可以访问Theia的完整API。 VSCode与Theia区别
环境搭建刚开始研究Theia的时候版本是1.11.0,那时候相对环境问题比较多,windows兼容性也有,文档不全面等各种问题,不过现在文档相对全面一点,环境问题可以看这篇文章Windows下运行Eclipse Theia源码指南相对详细一些。 接下来我们研究Theia那肯定先把官方项目运行起来,我们可以学习一下官方文档Eclipse Theia文档,如果文档访问不了可以查看文档的github源码 https://github.com/eclipse-theia/theia-website。当然我们也可以查看快速入门,注意这里面的基础环境:
然后就拉取代码,安装依赖,在这里如果安装依赖很慢甚至报错,基本上是网络问题,可以翻墙去下载,也可以在项目根目录下添加.npmrc配置帮助快速安装。
这里介绍一下windows环境的配置。 python3版本为Python 3.6 或更高版本 Visual Studio构建工具17,构建工具可以参考Windows下运行Eclipse Theia源码指南这篇文章。 如果安装了多个版本的python或Visual Studio,可以通过 npm config 调整使用的版本。
安装windows-build-tools,以前,windows-build-tools在 Windows 上构建 Native Nodes 模块是必需的。npm 包现在是deprecated因为 NodeJS 安装程序现在可以安装它需要的所有必需工具,包括 Windows 构建工具。 我们使用管理员身份打开PowserShell,然后运行命令安装
这样我们的环境配置完成。 构建自己的IDE工具Theia官方文档提供了两种构建基于Theia的产品方式:
当然官方文档介绍了从零配置Theia工程的步骤。首先创建一个工程目录
然后在工程根目录创建package.json
其中可以看到Theia核心依赖都是一个一个的扩展包,@theia/cli列为构建时依赖项。它提供脚本来构建和运行应用程序。其中还有一些其他配置项。
然后安装依赖包
然后,使用Theia CLI 构建应用程序
yarn在我们的应用程序的上下文中查找由theia提供的可执行文件@theia/cli,然后build使用theia. 这可能需要一段时间,因为默认情况下应用程序是在生产模式下构建的,即经过混淆和缩小。当然我们也可以使用yarn build调用scripts脚本。 构建完成后,我们调用命令来启动。
也可以调用yarn start来执行scripts脚本。 启动后默认运行在3000端口上,然后打开浏览器可以看到运行起来的Theia IDE。 我们也可以启动的时候指定特定网络和端口。
以上是我们简单启动一个Theia的工程,作为一个WEB IDE在浏览器中访问,后续我们会介绍如果开发一个桌面客户端版的IDE。 相关源码参考源码由于文档内容比较欠缺,可以参考其他定制Theia的代码。 che-theia 参考文章KAITIAN IDE 是如何构建扩展能力极强的插件体系的? 其他IDE产品 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:55:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |