7

正如标题所说 - 我如何找出 Ace Editor 中当前加载的模式是什么?

editor.getSession().getMode() 并没有真正返回任何我可以使用的东西 - 已经查看了返回的对象 - 但找不到任何东西。

editor.getTheme() 向我返回一个我可以使用的字符串 - 如果他们对模式没有做同样的事情,这似乎很有趣

4

3 回答 3

7

要检索您使用的模式的名称:

editor.getSession().getMode().$id
于 2012-09-28T08:10:48.613 回答
3

我尝试了 Hugeen 的回答并遇到了undefinedlorefnon 报告的错误。这对我有用:

// get the editor instance
var editor = ace.edit('editorid');

// get the current mode
var mode = editor.session.$modeId;

// modeid returns the full string (ace/mode/html), cut to the mode name only
mode = mode.substr(mode.lastIndexOf('/') + 1);

希望对某人有所帮助!

于 2015-08-07T16:00:19.107 回答
0

没有任何翻筋斗的干净方法:

var mode = editor.session.mode;
于 2021-01-06T19:30:10.503 回答