web-dev-qa-db-ja.com

角度でモナコエディターカスタム言語を作成する方法?

私はオートコンプリート(インテリセンス)でカスタム言語を作成しようとしました。うまくいっていません。誰でも私がこれを達成するのを助けることができますか?.

コード

https://stackblitz.com/edit/angular-7-master-emjqsr?file=src/app/app.module.ts

4
bagya

あと少しです。

あなただけのようなオブジェクトを返す必要があります{ suggestions: suggestions }provideCompletionItemsメソッドの配列の代わりに、これで完了です:

monaco.languages.registerCompletionItemProvider('dummy', {
  provideCompletionItems: () => {
    var suggestions = [
      {
        label: 'simpleText',
        kind: monaco.languages.CompletionItemKind.Text,
        insertText: 'simpleText',
      },
      {
        label: 'testing',
        kind: monaco.languages.CompletionItemKind.Keyword,
        insertText: 'testing(${1:condition})',
        insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
      },
      {
        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',
      },
    ];
    return { suggestions: suggestions };
  },
});

Ng-runの例

2
yurzui