正如标题所说 - 我如何找出 Ace Editor 中当前加载的模式是什么?
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;
在艾斯
v1.32.7
:
mode = editor.getOption('mode')
console.log(mode)
打印
ace/mode/javascript