基于远程工作区的IDE,帮你完成开发环境一键搭建

基于远程工作区的IDE,帮你完成开发环境一键搭建

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个基于远程工作区的集成开发环境(IDE)——SmartIDE。

SmartIDE可以帮助你完成开发环境的一键搭建,如果你熟悉命令行操作,那么么安装我们的cli,然后你只需要学会一个命令 smartide start 就可以在自己所需要的环境中,使用自己喜欢的开发工具进行编码和开发调试了,不再需要安装任何工具,SDK,调试器,编译器,环境变量等繁琐的操作。如果不喜欢命令行操作,也可以使用 SmartIDE Server 通过网页完成全部操作。如果我们把Vscode和JetBrain这些IDE称为传统IDE的话,这些传统IDE最大的问题是:他们虽然在 I (Integration) 和 D (Development) 上面都做得非常不错,但是都没有解决 E (Environment) 的问题。

当前SmartIDE包括4个组件

  • CLI:一个简单易用的命令行工具,可以运行在Windows/MacOS/Linux上,开发者使用一个简单的指令 smartide start 即可一键搭建开发环境,直接打开环境内置的WebIDE开始进行编码和调试。
  • Server:支持私有部署的开源容器化开发环境管理服务。Server版继承CLI的所有能力,但是提供网页化的操作,同时针对团队使用进行扩展和支持。
  • Marketplace:SmartIDE插件市场是 open-vsx.org 的一个fork,我们进行了汉化并提供中国本地部署和插件自动同步服务。企业也可以选择在内网部署 SmartIDE插件市场,为内部开发者提供安全可控的VSCode插件管理服务。
  • 开发者镜像和模板:开发者镜像是一系列预先构建好的开发环境容器,我们提供7种开发语言的开发者镜像,并且同时托管在国内的阿里云和DockerHub,方便全球的开发者使用。

功能示例

远程开发、本地体验

使用SmartIDE,你可以将运行在任何地方(AWS,Azure,阿里云,腾讯云,甚至你家里的笔记本上)的主机作为你本地开发环境的扩展,利用这些云端资源的同时,仍然保持本地开发体验。

比如下图所示的IDE环境:我正在使用一台运行在微软Azure云数据中心的主机作为SmartIDE的开发环境,而所有的访问地址全部都是 localhost。

图中所展示的是我正在使用SmartIDE维护本网站的现场截图,图中所标注的几个关键点解释如下:

1、在远程主机的开发环境中启动了 hugo server 并且运行在 1313 端口上

2、SmartIDE 本地驻守程序自动完成远程主机上的1313端口到本地1313端口的转发动作,同时转发的还有WebIDE所使用的3000端口,被转发到了本地的6800端口

3、通过 http://localhost:6800 可以直接访问远程主机上的 WebIDE

4、通过 http://localhost:1313 可以直接访问远程主机上的 hugo server

说明:

Hugo 是一个用Go语言实现的静态站点生成器,你当前所浏览的 smartide.dev 站点所使用的就是hugo。我在使用hugo进行 smartide.dev 开发的过程中遇到了一个很麻烦的问题:因为hugo通过git submodule的方式引入了大量GitHub代码库,在我本地环境中获取这些资源非常的缓慢。通过SmartIDE的远程主机模式,我可以使用一台云中的主机,这样我的git submodule获取时间可以从20-30分钟(本地模式)减少到2分钟(远程主机模式)

IDE即代码 (IDE as Code)

开发人员最头疼的事情莫过于阅读其他人写的代码了,更不要说把其他人写好的代码运行起来了,各种环境搭建,工具配置,脚本参数足够你折腾几天的。SmartIDE通过一个放置于代码库中的 .ide.yaml 文件解决这个问题,以下是一个典型的 .ide.yaml 文件示例。

通过这个文件,我们将开发者需要启动当前代码库所需要的环境,工具,脚本全部完整描述出来,SmartIDE就是通过解析这个文件完成自动化的开发环境创建和复制的。

有了这个.ide.yaml文件,开发者再也不用考虑如何启动开发环境的事情了,你所需要掌握的只有一个命令 smartide start 就够了。

version: smartide/v0.2orchestrator: type: docker-compose version: 3workspace: dev-container: service-name: boathouse-calculator webide-port: 6800 ports: webide: 6800 ssh: 6822 application: 3001 ide-type: vscode volumes: git-config: true ssh-key: true command: – npm install – npm start docker-compose-file: docker-compose.yaml

示例程序

Boathouse计算器应用是为社区提供的一个全功能的node.js示例程序,你可以通过以下方式迅速启动这个应用进行体验。

## 完整指令smartide start https://gitee.com/idcf-boat-house/boathouse-calculator.git## 简化版指令se up https://gitee.com/idcf-boat-house/boathouse-calculator.git

然后就可以进行开发和调试,是不是很爽?

图中重点:

  • 通过右下角的的终端,你可以看到仅用一个简单的命令(smartide start)就完成了开发环境的搭建
  • 在右上角的浏览器中运行着一个大家熟悉的Visual Studio Code,并且已经进入了单步调试状态,可以通过鼠标悬停在变量上就获取变量当前的赋值,vscode左侧的调用堆栈,变量监视器等的都在实时跟踪应用运行状态
  • 左侧的浏览器中是我们正在调试的程序,这是一个用node.js编写的计算器应用并处于调试终端状态
  • 以上全部的操作都通过浏览器的方式运行,无需提前安装任何开发环境,SDK或者IDE。你所需要的只有代码库和SmartIDE。
  • 以上环境可以运行在你本地电脑或者云端服务器,但开发者全部都可以通过localhost访问,无需在服务器上另外开启任何端口。

—END—

开源协议:GPL3.0

安装文档:https://smartide.cn/zh/docs/install

开源地址:https://gitee.com/smartide/SmartIDE

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月15日 06:22
下一篇 2022年6月15日 06:22

相关推荐

  • ios手游模拟器(手游模拟器ios)

    本文主要讲的是ios手游模拟器,以及和手游模拟器ios相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 哪个iOS模拟器能多开手游账号?可以推荐个好用的模拟器给我吗…

    2022年11月27日
  • 存储过程语法(sql server存储过程语法)

    今天小编给各位分享存储过程语法的知识,其中也会对sql server存储过程语法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! oracle存储过程基本语法…

    2022年11月26日
  • 妻子发微信:“我老公不在,快来”,同事:“下了班就来找你”

    在现如今网络如此发达的时代,大家可以从各个地方了解到全国大事小事,正所谓世界之大无奇不有,每天都发生着奇奇怪怪的事情,今天小编突然看到这样一件事,看完之后都不知道说什么好了。 王某…

    2022年11月26日
  • 游戏平台有哪些(游戏平台有哪些)

    简要回答 游戏平台指的是多人通过互联网在线游戏的平台,例如qq游戏,联众世界,浩方电竞平台,VS竞技游戏平台等,只要你下载平台,下载相关游戏,就能实现对战,摆脱了局域网的限制。 详…

    2022年11月25日
  • 《乐队的海边》第二场live秀开启 赵梦为郑秀妍写中文歌词

    今日(11月25日),芒果TV女性经营励志奋斗真人秀《乐队的海边》第二期即将上线。张俪、赵梦、郑秀妍、于文文、刘恋、张天爱在海南省琼海市经营的“炸厨”音乐餐厅蒸蒸日上,收获顾客满满…

    2022年11月25日
  • 自由的工作

    02我国把自由职业者分为三类第一类是小本生意人,如个体零售店小餐馆印刷店装修公司老板,还有路边小摊经营者第二类是没有底薪的推销员,如买保险的人地产经纪房子中介直销人士,卖卡的人。 …

    2022年11月25日
  • 淘宝直播开通后带货链接怎么做(淘宝直播需要开通淘宝店铺吗)

    直播带货无论是对于商家来说还是主播收益都是非常可观的,所以不少平台都有直播带货功能,一些小伙伴也想加入淘宝直播,那么淘宝直播开通后带货链接怎么做?下面小编为大家带来淘宝直播开通后带…

    2022年11月24日
  • 科比19岁女儿遭自称与她生“科比式孩子”男子跟踪骚扰

    极目新闻记者王亮亮黄佳琪 据福克斯新闻网报道,当地时间11月21日,已故篮球巨星科比·布莱恩特的长女娜塔莉亚·布莱恩特21日向法院提交临时限制令,声称这位32岁的前科从十几岁起就骚…

    2022年11月24日
  • 免费清理c盘的软件(清理c盘空间不影响系统)

    电脑用久了慢如龟速,还卡顿,这最大的原因啊就是C盘空间不足造成的。 即使电脑配置再好,或者硬盘再快,如果长时间没有打扫C盘,打开文件或者稳定之类的,都卡得让人头大。 这时候呢不要去…

    2022年11月24日
  • 本人由于个人原因辞职30字(最简单的个人辞职原因)

    做人留一线,日后好相见!我们不断地被职场潜规则着,同时也在制造一些潜规则,每一个离职理由的背后都有一段难以言说的辛酸!离职的时候如果不想说明真实原因,究竟该怎么说合适呢?1、 想读…

    2022年11月24日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息