4

ビルドしようとしているプロジェクトでは、エディター コードを使用しました。私はモナコエディタを使用しようとしています。

エディターにサポートしてもらいたい主なものは次のとおりです。

  1. カスタム言語のキーワード、関数などをマーク...
  2. 私のカスタム言語のインテリセンス。
  3. プレビュー関数のパラメーター。

だから今まで:

  • 公式サイトのモナコエディターの例を注意深く見ました。

  • 結果は私が探していたものに非常に近いですが、私にとっての主な問題は、コードに noLib オプションを追加しても追加のキーワードがあることです。下の画像を参照してください。 https://imgur.com/pwDikZI

  • 他のものは機能します。画像を見るhttps://imgur.com/0c4K8wE
  • javascript/typescript 言語モードを使用したため、マーキングに問題があることはわかっています。

これは私が書いたコードです:

require.config({paths: {'vs': 'lib/package/min/vs'}});

require(['vs/editor/editor.main'], function() {
    let editor = monaco.editor.create(document.getElementById('editor'), {
        language: 'typescript',
        minimap: {enabled: false},
    });
    monaco.languages.typescript.typescriptDefaults.addExtraLib([
        'declare function Foo(a: number,b: number, name: string (optional)) :void',
        'const someString: string ',
    ].join('\n'));

    monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
        noLib: true,
        allowNonTsExtensions: true,
    });

    editor.updateOptions({fontSize: 20});
});

私の質問は次のとおりです。

  1. ユーザーがカスタム言語だけを表示できるように、javascript/typescript 追加キーワードを無効にする方法はありますか?
  2. モナコ エディターの例のようにカスタム言語を使用し、上の図のように関数のプレビューを追加する方法はありますか? (js/ts 言語を使用せずに)。
4

1 に答える 1