如何直接在Atom Editor的视图中工作

时间:2015-06-12 23:38:51

标签: overlay text-editor atom-editor layer

我想做的事情有些奇怪 - 我想在一些不属于源代码的视图中添加行。我们的想法是在包装上使用它允许“图层” - 例如,键入信息或差异信息。

我想要做的是如下图所示:注意第45行和第46行之间,有一个用户无法选择的间隙,也不可编辑 - 这只是我的另一个信息放在那里。

This is an example created in GIMP

到目前为止,我尝试使用叠加创建一个标记,但标记“浮动”在文本上,因此它与已经写入的内容重叠(并且出现了“图层”的概念)。我试图直接编辑DOM,但是当我滚动时,如果我添加行,它们会失效或滚动不正确(并且需要更新光标,装订信息等等)

有可能吗?有解决方法吗?

1 个答案:

答案 0 :(得分:0)

这已经过时了,但据我了解,将成为Atom 1.6一部分的Block Decorations将完全符合您的要求。

如博客文章中所述,"块装饰是一种特殊的装饰,允许您在某一行之前或之后插入DOM节点,并在缓冲区更改时跟随该行。您可以通过在DevTools":

中运行下面的代码段来查看它的实际效果
var element = document.createElement('div')
element.textContent = 'Block decorations!'
var editor = atom.workspace.getActiveTextEditor()
var marker = editor.markScreenPosition([0, 0])
editor.decorateMarker(marker, {type: 'block', position: 'before', item: element})

请注意,截至目前,这仅适用于Atom 1.6测试版。