当前位置: 首页 > 科技观察

13,000颗星星!网友表示要秒杀VSCode的新利器

时间:2023-03-18 19:35:22 科技观察

【导读】:可能你最近在很多地方看到一篇文章《Eclipse 官宣,干掉 VS Code》。事实上,这是2020年3月的又一次冷餐。Eclipse基金会并没有正式说“干掉VSCode”,而是“VisualStudioCode的真正开源替代品”。本文将带你了解这个VSCode的替代品:EclipseTheia。Theia是一个基于TS开发的开源IDE框架。基于它,我们可以开发自己定制化的开发工具,可以部署到云端使用,也可以打包成桌面应用。忒伊亚是什么?EclipseTheia不是IDE,而是开发IDE的框架。它是一个可扩展的平台,基于现代网络技术(TypeScript、CSS和HTML)实现,非常适合开发成熟的多语言云和桌面类。在docker中运行使用docker启动基于Theia的IDE是最简单的,你只需要确保你当前的系统上安装了docker即可。我们可以直接使用它提供的镜像theiaide/theia启动:#Linux、macOS、PowerShell终端dockerrun-it--init-p3000:3000-v"$(pwd):/home/project"theiaide/theia:next#Windows(cmd.exe)dockerrun-it--init-p3000:3000-v"%cd%:/home/project"theiaide/theia:next执行以上命令后,会自动拉取theiaide/theia:next并在http://localhost:3000启动TheiaIDE,它将使用您的当前目录作为工作目录。其中--init参数用于避免死进程问题。假设当前目录为:/Users/jerry/workspace/testbox,在该目录下执行上面的命令,我们看看结果:dockerruntheiaimage从日志中可以看到TheiaIDE已经成功启动,并监听3000端口,我们打开浏览器看看它的真面目:dockerruntheiaimage的结果是不是感觉很亲切?哈哈,是的,它看起来和VSCode几乎一模一样,不仅如此,它还支持VSCode中的插件,让你在Theia中尽情享受VSCode的插件市场。先跑个helloworld来体验下这个IDE的能力:docker的用法runtheiaimage搭建自己的IDE如果不想用docker,可以自己搭建一个TheiaIDE。接下来,我们将基于Theia在本地运行我们自己的IDE。1、环境要求Node.js版本>=12.14.1和<13Yarn版本>=1.7.02。创建项目mkdirmy-theiacdmy-theia,然后创建package.json文件:{"name":"MyCoolIDE","dependencies":{"@theia/callhierarchy":"next","@theia/file-search":“下一个”,“@theia/git”:“下一个”,“@theia/markers”:“下一个”,“@theia/messages”:“下一个”,“@theia/mini-browser”:“下一个”,"@theia/navigator":"下一步","@theia/outline-view":"下一步","@theia/plugin-ext-vscode":"下一步","@theia/preferences":"下一步","@theia/preview":"next","@theia/search-in-workspace":"next","@theia/terminal":"next"},"devDependencies":{"@theia/cli":"next"}}通过package.json我们可以看出Theia其实是一个Node包。依赖关系中有很多依赖关系。大致可以推断出Theia的功能就是由这些包组合而成的。比如@theia/search-in-workspace负责搜索模块,@theia/terminal负责终端模块等;另外,@theia/cli作为devDependencies,我们在构建和运行的时候会用到它的一些命令。3.安装依赖yarn。如果下载依赖比较慢,建议切换镜像源地址。安装成功的结果应该是这样的:installtheiadepsbuildprojectyarntheiabuild该命令主要用于生成项目代码,包括源代码、webpack配置文件和webpack打包文件。运行成功的结果如下:theiabuild运行TheiaIDE,直接运行yarntheiastart可以看到我们的IDE运行在3000端口:theiastart,我们打开http://localhost:3000可以看到:本地运行theiaimage的用法也是几乎与VSCode体验一致。封装npmscripts,在package.json中加入:{//.....others"scripts":{"start":"theiastart","build":"theiabuild"}}之后我们就可以直接使用yarnxxx执行方式。至此,我们已经在本地成功搭建了一个IDE~(进阶)安装插件其实上一步我们已经有了一个IDE,但是作为开发工具,可能并没有什么意思。它以前如何?写点代码就知道:没有插件的theia是的,结果一目了然,没有高亮,编码过程中也没有任何提示,相当于一个好看的记事本。这还不足以称之为IDE,让我们安装这些插件来让我们的IDE更强大。此时,我们需要更新package.json:{//...others"scripts":{"prepare":"yarnrunclean&&yarnbuild&&yarnrundownload:plugins","clean":"theiaclean","build":"theiabuild--modedelopment","start":"theiastart--plugins=local-dir:plugins","download:plugins":"theiadownload:plugins"},"theiaPluginsDir":"plugins","theiaPlugins":{"vscode-builtin-css":"https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/css-1.39.1-prel.vsix","vscode-builtin-html“:”https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/html-1.39.1-prel.vsix“,”vscode-builtin-javascript“:"https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/javascript-1.39.1-prel.vsix","vscode-builtin-json":"https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/json-1.39.1-prel.vsix","vscode-builtin-markdown":"https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/markdown-1.39.1-prel.vsix"}}我们更新了脚本并添加了theiaPluginsDirTheiaPluginsDir和theiaPlugins用于设置我们插件的存放地址,TheiaPlugins就是我们要安装的插件,在运行项目之前,我们需要运行yarnprepare来准备环境,我们会在日志中看到插件的下载状态:downloadplugins这些plugins会放在当前目录的plugins文件夹下,我们再启动IDE看看效果,注意这时候start有参数,指定插件的目录:theiawithplugins可以看到,借助于插件,我们真的可以把这个IDE当作生产工具来使用。打包桌面应用还是比较容易的,只需要几个简单的步骤,我们就可以直接参考它的repo:https://github.com/theia-ide/yangster-electron总结通过上面的例子,我们已经可以搭建一个自己的IDE了。如果你有自己的服务器,那么就按照上面的步骤搭建一个CloudIDE,出门再也不用带着电脑了。平板电脑,甚至手机都可以在线编程。