在ace.js编辑器中自动完成

时间:2013-11-15 11:31:32

标签: javascript autocomplete editor ace-editor

我想知道当用户在编辑器ace.js中输入时是否可以启用自动完成功能。 在我的项目中,当用户输入时,启用自动完成:ctrl + space。 那么,是否可以在自动完成列表中添加一些关键字?

由于

2 个答案:

答案 0 :(得分:17)

用于触发自动填充use

editor.commands.on("afterExec", function(e){
     if (e.command.name == "insertstring"&&/^[\w.]$/.test(e.args)) {
         editor.execCommand("startAutocomplete")
     }
})

要添加一些关键字,您可以在编辑器中添加另一个completer或在模式上覆盖getCompletions方法。

答案 1 :(得分:4)

它已经内置了!查看我在editor.setOptions下选择的选项:

    var langTools = ace.require("ace/ext/language_tools");
    var editor = ace.edit("editor");

    editor.setTheme("ace/theme/monokai");
    editor.getSession().setMode("ace/mode/yaml");

    editor.setOptions({
        enableBasicAutocompletion: true,
        enableSnippets: true,
        enableLiveAutocompletion: true
    });