添加命令的正确语法
Correct syntax for adding a command
命令对象的语法有变化吗?我一直在使用以下内容:
editor.addCommand({
name: "find",
bindKey: {win: "Ctrl-F", mac: "Cmd-F"},
exec: findKeyboardHandler});
我应该写出 "Command-F" 而不是 "cmd-f" 吗?
- 是否区分大小写?
- 如果我添加一个已经定义的键绑定会怎样?
- 命令名是否唯一?
- 监听器是在捕获阶段还是冒泡阶段添加的?
- 命令名称重要吗?是否有任何保留名称,"save"、"render"?
- 参数计数是否改变过?总是传回一个参数吗?
Ace命令语法很久没变了
- 所有
Command
、cmd
、Cmd
都一样,请参阅 ace/lib/keys.js#L51-L52
- 键绑定不区分大小写
- 如果已经定义了键绑定,新的将添加到命令堆栈,最后添加的将首先调用,如果不可用,将添加下一个。
- 命令名称是唯一的,如果存在同名命令,旧的将被删除。
- 监听器被添加到冒泡阶段ace/lib/event.js#L348
- 没有保留名称,但使用名为
__proto__
的命令会中断 keyboard/hash_handler.js#L40
- 命令总是有两个参数,
editor
和 args
对象 ace/commands/command_manager.js#L24
要调用 addCommand,您必须调用命令:
editor.commands.addCommand({
name: 'quit',
exec: function(){
yourQuitFunctionHere();
}
});
那么你可以使用命令进行键绑定或直接执行:
editor.execCommand('quit');
命令对象的语法有变化吗?我一直在使用以下内容:
editor.addCommand({
name: "find",
bindKey: {win: "Ctrl-F", mac: "Cmd-F"},
exec: findKeyboardHandler});
我应该写出 "Command-F" 而不是 "cmd-f" 吗?
- 是否区分大小写?
- 如果我添加一个已经定义的键绑定会怎样?
- 命令名是否唯一?
- 监听器是在捕获阶段还是冒泡阶段添加的?
- 命令名称重要吗?是否有任何保留名称,"save"、"render"?
- 参数计数是否改变过?总是传回一个参数吗?
Ace命令语法很久没变了
- 所有
Command
、cmd
、Cmd
都一样,请参阅 ace/lib/keys.js#L51-L52 - 键绑定不区分大小写
- 如果已经定义了键绑定,新的将添加到命令堆栈,最后添加的将首先调用,如果不可用,将添加下一个。
- 命令名称是唯一的,如果存在同名命令,旧的将被删除。
- 监听器被添加到冒泡阶段ace/lib/event.js#L348
- 没有保留名称,但使用名为
__proto__
的命令会中断 keyboard/hash_handler.js#L40 - 命令总是有两个参数,
editor
和args
对象 ace/commands/command_manager.js#L24
要调用 addCommand,您必须调用命令:
editor.commands.addCommand({
name: 'quit',
exec: function(){
yourQuitFunctionHere();
}
});
那么你可以使用命令进行键绑定或直接执行:
editor.execCommand('quit');