摩纳哥编辑器-创建自定义智能感知

时间:2019-02-04 07:42:03

标签: intellisense monaco-editor

我想知道是否可以将默认建议列表与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};

0 个答案:

没有答案