Monaco Editor - Создание пользовательского intellisense - PullRequest
0 голосов
/ 04 февраля 2019

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