基于远程工作区的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)删除。
(0)
用户投稿
上一篇 2022年6月15日
下一篇 2022年6月15日

相关推荐

  • 企业微信更新-4.0.8

    一、效率工具与基础优化1.文件保密模式新增文件保密模式,开启后,企业可统一管理聊天、邮件及应用中的文件操作权限,追溯文件浏览、下载、编辑、转发等行为,降低信息泄露风险;管理员可在管…

    2022年6月29日
  • 游戏引擎做车机?主机厂答应吗?

    Cocos。当我初次见到这个名词的时候,我的第一反应是「椰子」。 而事实上,Cocos 是一家提供开源数字引擎、开发工具等方案的数字互动内容开发底座平台公司。简而言之,就是做基础数…

    2022年8月2日
  • openssl 如何生成自签证书

    1. 创建 openssl 配置文件 openss.cnf 创建目录 mkdir certscd certs 创建 openssl 配置文件 openss.cnf [req_dis…

    2022年6月20日
  • 4399团队出的「古荒遗迹」手游-首日体验评测

    小杨今天新开的栏目《新游推荐》,主要是发布当天市面首发的游戏攻略,均为个人体验后的原创评测,没有被充值!没有被充值!没有被充值!我只会发有意思的游戏,喜欢的小伙伴可以一键三连,谢谢…

    2022年8月6日
  • 有了这个开源工具后,我五点就下班了

    前言   「一个优秀的开发者,一定是会利用各种工具来提升自己的开发效率。」 前段时间,博主在Gitee/Github开源了一个提升开发效率的工具,工具内集成了各种常用工具如csv、…

    2022年9月25日
  • 学点汇编吧,它让你懂得更多

    我是从学foxbase开始接触编程的(当foxbase是编程语言吧)。很容易学,不多久就可以就可以设计自己的数据库,配合简单的菜单来操控数据库:增加、删除、插入、排序、查找、打印都…

    2022年8月22日
  • 最好的生活是什么样子?

    最好的生活没有办法被定义成一个样子,因为每个人所追求的生活都有所不同。 有些人站在高处,却羡慕市井生活里烟火人间。有些人身处温暖里,却渴望体会高处不胜寒的生活。 没有人定义它,但它…

    2022年5月1日
  • 深入理解select count(*)

    深入理解select count(*)底层究竟做了什么 2019-06-11 12:58·Java技术架构 专注于Java领域优质技术,欢迎关注 作者:贾春生 SELECT COU…

    2022年7月6日
  • 刘强东的代码水平如何?

    刘强东代码水平非常厉害啊。高考是宿迁市的状元,省前几名,智商是非常高的。后来去了人大,他的成绩去清华妥妥的,典型的学霸。他出生农村,家里的经济条件不好,学费都还是村里的老乡凑的。 …

    2022年8月3日
  • 蜡烛也能补充!美妆生活「补充包」盘点,保养也能爱地球

    挑选补充包产品,爱美同时一起爱地球。 生活中充满选择,我们会挑选护肤与香氛产品的成分、质地、气味,让每一个选择都帮助我们更加贴近理想中的生活样貌。在繁多选择中也可以迈向绿色生活,像…

    2022年5月16日

联系我们

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