如何在ace编辑器中添加我自己的完成者

时间:2017-05-31 05:59:38

标签: ace-editor

现在我正在为我的数据库后端开发一个简单的基于Web的编辑器。我发现ace带有自动填充功能,如果我只需要完成SQL关键字,我应该如何添加自己的规则?

2 个答案:

答案 0 :(得分:4)

Zanecat好日子

非常抱歉,您必须等待这么长时间才能回答问题,让我们看看我们能为您做些什么。

所以要在这里获得铜税。

首先,如您所述,您希望激活 enableLiveAutocompletion ,但解决方案可能会延伸一些。

editor.session.setMode("ace/mode/sql");
editor.setOptions({
    enableBasicAutocompletion: true,
    enableSnippets: true,
    enableLiveAutocompletion: true
});

所以要进一步为编辑器添加自己的完成符,你可以在github(here)上提到 eemp

您所要做的就是需要语言工具扩展程序

let langTools = ace.acequire('ace/ext/language_tools');

然后使用addCompleter方法添加如下所示的完整性

var customCompleter = {
  getCompletions: function(editor, session, pos, prefix, callback) {
       // your code
       /* for example
        * let TODO = ...;
        * callback(null, [{name: TODO, value: TODO, score: 1, meta: TODO}]);
        */
  }

 }
langTools.addCompleter(customCompleter);

您还可以查看以下内容:

Ace docs on Completers

答案 1 :(得分:1)

只需添加:

editor.session.setMode("ace/mode/sql");
editor.setOptions({
    enableBasicAutocompletion: true,
    enableSnippets: true,
    enableLiveAutocompletion: true
});

enableLiveAutocompletion 属性将允许实时弹出