获取 ace 编辑器的令牌字符串
Posted
技术标签:
【中文标题】获取 ace 编辑器的令牌字符串【英文标题】:get token string for ace editor 【发布时间】:2012-11-23 09:24:53 【问题描述】:我刚刚看了厨房水槽演示,发现有一个选项“显示令牌信息”,它显示了鼠标所在的文本类型(变量、函数等)
我想创建类似的东西,可以在当前光标位置获取单词的当前标记字符串。有谁知道怎么做?
谢谢!
【问题讨论】:
【参考方案1】:这样:
editor.on('mousemove', function(e)
var position = e.getCursorPosition();
var token = editor.session.getTokenAt(position.row, position.column);
);
它将返回一个对象:
token =
type: "paren.rparen",
value: "",
index: 0,
start: 0
【讨论】:
谢谢老兄,正是我要找的 谢谢,正是我需要的!看起来好像检索位置的函数发生了变化:e.getCursorPosition()
。
仅供参考如果您不想使用 mousemove 事件,也可以在光标更改时获取令牌。
请注意 mouse 位置与 cursor 位置不同。您可能应该使用editor.onCursorChange
而不是mousemove
事件。 (除非你想检测鼠标指针在哪个标记上,在这种情况下我被难住了!)
您现在应该使用 e.getDocumentPosition() 来获取行和列值。以上是关于获取 ace 编辑器的令牌字符串的主要内容,如果未能解决你的问题,请参考以下文章