7

私はAce Editorの実装に取り​​組んでおり、Ctrl+は組み込みの「検索」ダイアログでうまく機能しますが、 +を+に変更してデフォルトの動作を防ぐF方法を見つけようとしています。CtrlHCtrlR

キーバインディングの操作に関するドキュメントとフォーラムを調べましたが、「置換」ダイアログをインスタンス化するために呼び出されているメソッドや、それを上書きする方法を特定できません。

4

2 に答える 2

14

置換コマンドはここで定義されています。Ctrl次のコードを使用して+HCtrl+に変更することができますR

editor.commands.addCommand({
    name: "replace",
    bindKey: {win: "Ctrl-R", mac: "Command-Option-F"},
    exec: function(editor) {
        require("ace/config").loadModule("ace/ext/searchbox", function(e) {
             e.Search(editor, true)  
             // take care of keybinding inside searchbox           
             // this is too hacky :(             
             var kb = editor.searchBox.$searchBarKb
             command = kb.commandKeyBinding["ctrl-h"]
             if (command && command.bindKey.indexOf("Ctrl-R") == -1) {
                 command.bindKey += "|Ctrl-R"
                 kb.addCommand(command)
             }
         });
    }
});

replaceしかし、内部コマンドの部分は非常に醜いので、通常の名前を使用するか、コマンドキーを自動的に取得するように ace リポジトリで問題を作成することをお勧めします

于 2013-07-14T03:06:03.067 に答える