摩纳哥编辑器定义的语言未关闭括号

Adr*_*eon 4 monaco-editor

这是我定义的摩纳哥语言,它不会自动关闭括号:在初始化语言时传递的参数中,自动关闭括号是“true”。我也尝试过自动关闭括号=“always”,但它不起作用

monaco.languages.setMonarchTokensProvider('CustomExpressionLanguage', {


                brackets: [
                    { open: '{', close: '}', token: 'delimiter.curly' },
                    { open: '[', close: ']', token: 'delimiter.square' },
                    { open: '(', close: ')', token: 'delimiter.parenthesis' },
                    { open: '<', close: '>', token: 'delimiter.angle' }
                ],
                surroundingPairs: [
                    { open: '{', close: '}' },
                    { open: '[', close: ']' },
                    { open: '(', close: ')' },
                    { open: '<', close: '>' },
                    { open: '\'', close: '\'' },
                    { open: '"', close: '"' },
                ],
                autoClosingPairs: [
                    { open: '{', close: '}' },
                    { open: '[', close: ']' },
                    { open: '(', close: ')' },
                    { open: '\'', close: '\'', notIn: ['string', 'comment'] },
                    { open: '"', close: '"', notIn: ['string', 'comment'] },
                ],

            });
Run Code Online (Sandbox Code Playgroud)

Ahm*_*sef 8

我相信您正在寻找的方法setLanguageConfiguration

另外,我不确定这是否是正确的配置方法brackets

这是一个工作示例

const config = {
  surroundingPairs: [
    { open: '{', close: '}' },
    { open: '[', close: ']' },
    { open: '(', close: ')' },
    { open: '<', close: '>' },
    { open: "'", close: "'" },
    { open: '"', close: '"' },
  ],
  autoClosingPairs: [
    { open: '{', close: '}' },
    { open: '[', close: ']' },
    { open: '(', close: ')' },
    { open: "'", close: "'", notIn: ['string', 'comment'] },
    { open: '"', close: '"', notIn: ['string', 'comment'] },
  ],
};
monaco.languages.setLanguageConfiguration('YOUR_CUSTOM_LANGUAGE', config);
Run Code Online (Sandbox Code Playgroud)