正如标题所说 - 如何找出 Ace 编辑器中当前加载的模式是什么?
editor.getSession().getMode() 并没有真正返回我可以使用的任何内容 - 已经查看了返回的对象 - 但找不到任何东西。
editor.getTheme() 向我返回一个我可以使用的字符串 - 如果他们没有对模式做同样的事情,这看起来很有趣
要检索所用模式的名称,请执行以下操作:
editor.getSession().getMode().$id
我尝试了Hugeen的答案,并经历了undefined
错误,就像lorefnon报告的那样。这是对我有用的:
// 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);
希望对某人有所帮助!
没有任何翻筋斗的干净方法:
var mode = editor.session.mode;