【问题标题】:How to change ace editor autocomplete result order如何更改 ace 编辑器自动完成结果顺序
【发布时间】:2019-07-12 07:50:05
【问题描述】:

我已经使用 Angular 6 为 ace 编辑器启用了自动完成功能。建议在编辑器中添加两个本地关键字以及特定模式的 sn-ps。本地关键字首先显示,然后是 sn-ps 列表。我需要更改自动完成列表的顺序。我需要在任何本地关键字之前显示 sn-ps 列表。我怎样才能做到这一点,因为在角度背景中对 ace 的支持并不多。

【问题讨论】:

  • 如果您包含 MVCE,您将更轻松地获得更多帮助

标签: angular6 latex ace-editor tex


【解决方案1】:

为传递给自动完成的项目设置 score 属性https://github.com/ajaxorg/ace/blob/092b70c9e35f1b7aeb927925d89cb0264480d409/lib/ace/autocomplete.js#L545

修改sn-p完成者分配的分数,你可以这样做

snippetCompleter = ace.require("ace/ext/language_tools").snippetCompleter
snippetCompleter.getCompletionsOrig =
     snippetCompleter.getCompletionsOrig || snippetCompleter.getCompletions;
snippetCompleter.getCompletions = function(editor, session, pos, prefix, callback) {
    return this.getCompletionsOrig(editor, session, pos, prefix, function(err, completions) {
        if (completions) completions.forEach(function(c) { c.score = 1000 })
        callback(err, completions)
    })
}

或将https://github.com/ajaxorg/ace/blob/092b70c9e35f1b7aeb927925d89cb0264480d409/lib/ace/ext/language_tools.js#L76 更改为score: snippetCompleter.snippetScore,以允许通过为sn-pCompleter 分配一个数字来配置sn-pScore。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 2017-06-24
    相关资源
    最近更新 更多