BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

GitHub新功能,可以在浏览器中直接修改文件和提交

| 作者 Werner Schuster 关注 6 他的粉丝 ,译者 王瑜珩 关注 0 他的粉丝 发布于 2011年8月26日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

GitHub又多了一项新功能:可以在浏览器中直接编辑库中的文件并提交。在提交之前,还可以预览本次提交所做的修改。

GitHub用户登陆后,可以发现一个新按钮。对于项目成员,按钮上写的是“Edit”,点击按钮就可以直接编辑文件并提交;非项目成员则会看到“Fork And Edit this file”,点击后会先创建分支,然后在分支上编辑文件。

这项编辑功能使用了ACE编辑器,居有语法高亮、自动折行等功能。ACE编辑器还被用于Cloud9 IDE等项目中,它取代了Mozilla推出的基于Canvas技术的Bespin/Skywriter项目

ACE诞生于2010年末,它使用了与Bespin/Skywriter不同的渲染方式:不再使用Canvas元素,也不像CodeMirror 1那样在DOM元素上使用contentEditable属性。

ACE将文本作为HTML字符串显示在DOM元素中,每次内容发生改变、移动滚动条、或移动光标时都会重新绘制。看起来,这种方式很低效,但实际上这一类的DOM更新在现代浏览器上非常迅速。

CodeMirror 1的升级版CodeMirror 2也使用了这种方式。作者Marijn Haverbeke详细的解释了为什么要放弃contentEditable属性。此外,contentEditable还有另一个问题。移动浏览器通常不会在可编辑元素获得焦点时显示屏幕键盘,虽然Eclipse Orion项目尝试用其他方式实现,但问题仍然没有得到解决。

GitHub并不是第一个实现此功能的代码托管服务商,今年早些时候,Google Code就已经实现了类似的功能

目前,编辑器功能纷纷在Git客户端上出现,比如GitHub的GitHub For Mac基于JGit的EGit。Git客户端与IDE之间的界限正在变得模糊,前面提到的Cloud9等基于浏览器的IDE也在和Git紧密集成,你可以直接在IDE中打开GitHub上的代码库进行编辑。Eclipse的Orion也增加了对Git的支持,它基于JGit/EGit(通过Orion的服务器组件实现),并包含在Orion 0.3中。

查看英文原文:GitHub Adds Web-Based File Edit and Commit Feature

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT