如何在 Ace Editor 中找到当前加载的模式(语法)?

问题描述 投票:0回答:4

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

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

editor.getTheme() 返回一个字符串给我,我可以使用它 - 如果他们没有对模式做一些相同的事情,那就显得很有趣

ace-editor
4个回答
8
投票

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

editor.getSession().getMode().$id

4
投票

我尝试了 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);

希望对某人有帮助!


0
投票

无需翻筋斗就能获得此效果的干净方法:

var mode = editor.session.mode;

0
投票

在艾斯

v1.32.7

mode = editor.getOption('mode')
console.log(mode)

打印

ace/mode/javascript
© www.soinside.com 2019 - 2024. All rights reserved.