我想知道是否可以将默认建议列表与registerCompletionItemProvider中创建的自定义建议合并。 我尝试这样做,但是我创建的习惯总是会覆盖编辑器的默认建议,导致仅包含我手动编码的建议。 一种解决方案可能是创建从头开始获取建议的算法,但是仍然会覆盖默认关键字等。 有什么建议吗?
编辑: 我通过在我的registerCompletionItemProvider函数中添加以下内容来解决该问题。我仍然无法获得默认建议,例如包含在我的自定义语言中的Javascript。
let variables = model.getValueInRange({startLineNumber: 1, startColumn: 1,
endLineNumber: 10000000,
endColumn: 10000000}).match(/[^\W\d](\w|[-']{1,2}(?=\w))*/g) || [];
_.each(variables, function (val,key){
if (!(suggestions.some(function (el) {
return el.label === val;
}))){
suggestions.push({
label: val,
kind: monaco.languages.CompletionItemKind.Variable,
insertText: val
})
}
})
return {suggestions: suggestions};