Мне было интересно, возможно ли объединить список предложений по умолчанию с пользовательскими предложениями, созданными в 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};