2015-01-09 90 views
0

我正在玩ACE编辑器,我试图创建一个简单的Markdown工具栏,其中使用可以插入粗体文本。斜体等ACE编辑器插入短语后选择单词/标记

我在给定的按钮上放置了一个事件,一旦点击了,我就向编辑器插入了给定请求的正确标记。举例来说,大胆的标签具有以下语法,我插入:

**bold_text**

我试图做的是同样选择bold_text令牌,以便用户可以开始输入马上他大胆内容。

我有ace编辑器实例化,一切正常,但我不知道如何在编辑器中找到一个单词并选择它。

我看到ACE有一个名为selectWordselectAWord的方法,但它们中没有一个使用任何参数。有任何想法吗?

回答

1

您可以使用editor.selection.setRange(...)的方法,但这种用例snippetManager提供好得多的API

var snippetManager = require("ace/snippets").snippetManager 
snippetManager.insertSnippet(editor, "**${0:$SELECTION}**") 

在王牌片段具有相同的格式,在TextMate中/崇高的片段。

请注意,您需要包含ext-language_tools.js才能够使用snippetManager