ace.js中的多个自动完成

时间:2016-04-18 12:04:48

标签: ace-editor

我试图通过使用两个不同的快捷键在ace编辑器中添加两个不同的自动完成列表。 Ctrl-T应仅列出表格,Ctrl-Space应列出特定关键字以及表格。请任何人帮我这个,因为我是ace-editor的新手

1 个答案:

答案 0 :(得分:0)

您可以在不同的快捷键上更新 wordList 并更新 自动完成。 ace使用Ctrl-Space来触发基本的自动完成器。我建议您使用任何其他快捷方式进行新的自动完成。

editor.commands.addCommand({
       name: "myCommand2",
       bindKey: { win: "Ctrl-T", mac: "Cmd-T" },
       exec: function () {
           //Update the Worldlist with tables here and make a call for the autocomplete
           wordList=['table1','table2']; //set of table names
       }
});

同样,您可以绑定其他快捷方式并更新自动填充的wordList

var staticWordCompleter = {
    getCompletions: function(editor, session, pos, prefix, callback) {

        callback(null, wordList.map(function(word) {
            return {
                caption: word,
                value: word,
                meta: "static"
            };
        }));

    }
}