抢先一步
VMware 提供培训和认证,助您快速进步。
了解更多Scripted 代码编辑器的第一个版本本周已在 github 上发布:https://github.com/scripted-editor/scripted。
尽管 Scripted 是一个通用的代码编辑器,但最初的重点是构建出色的 JavaScript 编辑体验。Scripted 本身完全使用 JavaScript 和 HTML/CSS 构建。它是一个基于浏览器的编辑器,在开发人员的机器上本地运行,并使用 Node.js 实例来提供编辑器代码并执行编辑器操作。运行 Scripted 的唯一先决条件是您安装了最新版本的 Node.js(我们目前正在使用 Node 0.8.11 进行测试)。Scripted 重用了来自 Eclipse Orion 的编辑器组件。
Scripted 实际应用
首先,我们看到许多用户选择不使用 IDE,而是倾向于使用更简单的轻量级编辑器(如 vim、Sublime、textmate)。开发人员通常对于执行常见任务(例如命令行 git)非常熟悉一套工具,并且不觉得有必要通过其他用户界面来学习如何使用这些工具。这些开发人员希望工具能够几乎即时启动并在操作过程中保持极高的响应速度。然而,目前来看,当他们选择放弃 IDE 时,似乎也放弃了他们习惯的一些优势,比如出色的内容辅助、快速导航和早期错误提示。Scripted 提供了一种轻量且快速的方案,同时支持开发人员不可或缺的关键 IDE 功能,例如内容辅助和对常见模块系统的理解。这些是 Scripted 的核心焦点。
其次,我们看到云 IDE 和云工作空间的概念越来越受欢迎。开发人员连接到某个远程系统进行开发工作,通常这些工具(例如 Cloud9 IDE 和 eXo Cloud IDE)提供基于浏览器的编辑体验。用户的工作空间位于远程系统上。这种设置对于某些团队来说效果很好,但根据我们的经验,开发人员并非 100% 时间都能连接到互联网,因此仍然需要离线开发模式;此外,让他们放弃“完全控制”并在远程托管文件可能也很困难。Scripted 遵循基于浏览器的编辑模型并在本地托管服务器,提供的方案既能满足开发人员当前的需求,未来通过简单地将服务器部署到远程,也能支持使用云工作空间。
从根本上说,我们认为许多现有的 JavaScript 工具在某些关键领域存在不足,鉴于我们在语言工具方面的背景,我们想看看能否构建一个轻量级工具来满足这些需求。
但基本步骤如下
Mac/Linuxexport PATH=<pathToUnzipLocationOrClone>/bin:$PATH
Win
set PATH=<pathToUnzipLocationOrClone>\bin;%PATH%
scr foo.js
在客户端方面,我们不想重复造轮子来实现编辑器技术,因此选择了使用 Eclipse Orion 的编辑器。这提供了快速友好的编辑体验,对于使用过“完整版 Eclipse” 编辑器的人来说会非常熟悉——它共享了许多相同的行为和快捷键绑定。我们尽力将我们在内容辅助等功能方面的工作贡献回 Orion 项目。任何需要解析的 JavaScript 代码都会通过我们可恢复的 Esprima 解析器的衍生版本。当开发人员正在 actively 编辑文件时,代码通常处于未完成状态,因此一个即使在有错误时也能返回一个 decent 的 AST 的可恢复解析器非常重要。
我们决定尽早开源以获取反馈。如果您想帮助我们塑造这个编辑器,请加入讨论。有一个 scripted-dev Google 群组用于讨论,还有一个 jira 问题跟踪器用于记录错误、增强功能请求以及对现有问题进行投票,以确保它们得到适当的优先处理。如果您想亲自修改 codebase,我们绝对欢迎提交——请查看 github 页面获取更多信息。