2017-02-03 2 views
0

Hat sich die Syntax für Befehlsobjekte geändert? Ich habe mit dem folgenden:Korrekte Syntax zum Hinzufügen eines Befehls

editor.addCommand({ 
    name: "find", 
    bindKey: {win: "Ctrl-F", mac: "Cmd-F"}, 
    exec: findKeyboardHandler}); 
  • Soll ich schreiben, "Befehl-F" anstelle von "cmd-f"?

  • Ist die Groß- und Kleinschreibung zu beachten?
  • Was passiert, wenn ich eine bereits definierte Schlüsselbindung hinzufüge?
  • Ist der Befehlsname eindeutig?
  • Werden Zuhörer in der Capture- oder Bubble-Phase hinzugefügt?
  • Ist der Befehlsname wichtig? Gibt es reservierte Namen, "Speichern", "Rendern"?
  • Ändert sich die Anzahl der Argumente jemals? Wird immer ein Parameter zurückgegeben?

Antwort

2

Ace Befehlssyntax für eine lange Zeit

  • Alle Command, cmd, Cmd Arbeit nicht verändert hatte sehen die gleiche ace/lib/keys.js#L51-L52
  • keybindings nicht empfindlich
  • die Groß- wenn Keybinding bereits definiert Der neue wird zum Befehlsstapel hinzugefügt, und der zuletzt hinzugefügte wird zuerst aufgerufen. Wenn dieser nicht verfügbar ist, wird der nächste hinzugefügt.
  • Der Befehlsname ist eindeutig, wenn ein Befehl mit demselben Namen existiert, wird der alte entfernt.
  • Zuhörer werden die Blasenphase gegeben ace/lib/event.js#L348
  • es keine reservierten Namen, aber mit dem Befehl __proto__ genannt wird keyboard/hash_handler.js#L40
  • Befehl bekommt immer zwei Argumente, editor und args Objekt ace/commands/command_manager.js#L24
+0

Dank brechen. Was sind "Args" beim letzten Bulletpoint? – icarito

+1

args ist normalerweise ein leeres Objekt, aber mit editor.execCommand können Sie etwas anderes an den Befehl übergeben –

Verwandte Themen