我已使用Angular 6启用了ace编辑器的自动完成功能。建议在编辑器中添加两个本地关键字以及特定模式的代码段。首先显示本地关键字,然后显示摘要列表。我需要更改自动完成列表的顺序。我需要在任何本地关键字之前显示摘要列表。我怎么能做到这一点,因为角度背景中对ace的支持不多。
答案 0 :(得分:0)
在传递给自动完成https://github.com/ajaxorg/ace/blob/092b70c9e35f1b7aeb927925d89cb0264480d409/lib/ace/autocomplete.js#L545的项目上设置得分属性
要修改摘要完成者分配的分数,您可以
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
,以允许仅通过向snippetCompleter分配一个数字来配置snippetScore。