Ace 是否指示哪个命令是 运行?

Does Ace indicate which command is running?

我在容器中使用 Ace Editor,需要将命令传递给容器。

通过事件,您可以看到正在发生的事件,因为系统向您传递了一个包含 event.type 属性 的事件对象。有没有办法知道当前正在执行什么命令?看起来 editor 传递给了 exec 函数:

editor.commands.addCommand({
    name: "mycommand",
    bindKey: {win: "Ctrl-M", mac: "Command-Option-M"},
    exec: function(editor) {
        // how to check what command is occurring here?
    }
});

如果您需要从命令本身检查命令名称,请使用 this.name。 否则你可以使用 editor.curOp.command https://github.com/ajaxorg/ace/blob/v1.2.6/lib/ace/editor.js#L149。 您还可以使用 editor.prevOp 来获取之前的操作。