无法注册条件代码段

时间:2019-02-16 15:06:50

标签: monaco-editor

我正在尝试注册一些自动完成的功能。对于原始函数文本,它也可以正常工作,但是,我无法将其分配给条件代码段函数。

        //Register the custom completion function into Monaco Editor
        monaco.languages.registerCompletionItemProvider(lang, {
            provideCompletionItems: function(model, position, context, token) {
                return [
                    {
                        label: 'sop',
                        kind: monaco.languages.CompletionItemKind.Function,
                        documentation: "Show a debug message on console terminal",
                        insertText: 'show_debug_message();'
                    },
                    {
                        label: 'ifelse',
                        kind: monaco.languages.CompletionItemKind.Snippet,
                        insertText: [
                            'if ${1:condition} {',
                            '\t$0',
                            '} else {',
                            '\t',
                            '}'
                        ].join('\n'),
                        insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
                        documentation: 'If-Else Statement'
                    }
                ];
            }
        });

找不到以下代码:insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,,引发此错误:Uncaught TypeError: Cannot read property 'InsertAsSnippet' of undefined。相反,即使我为“ insertTextRules”属性指定了4,也没有任何反应。

1 个答案:

答案 0 :(得分:0)

您确定您没有运行摩纳哥的精简版吗?我检查了一下,但据我所知,您的代码没有任何问题,我是从自己的代码的一部分复制下面的代码。

insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet