モナコエディタを使用して、JavaScriptのエディタにインテリセンス/コード補完を提供しようとしています。コードはtypescriptではなく、有効なjavascriptである必要があります。私はのt.dsを持っており、実行時に推測することができますtypescriptですクラスでイベントパラメータ、上のコード補完を提供したいモナコエディタにタイプヒントを提供
function onMyEvent(event)
{
event.someProperty
}
:
は、このようないくつかのユーザが入力したスクリプトを考えます。
理想的には、event
のタイプがSomeEventClass
であることをモナコに伝えておき、残りのことをさせてください。 これは、スクリプトにタイプヒントを追加することを意味していました。しかし、私はそれを行う方法を見ることができません。 ザッツはFTB参照ブロックされたように私はJSDocの構文と、ユーザースクリプト内の様々な組み合わせを使用してみましたが、それはなります https://github.com/Microsoft/monaco-editor/issues/203 、私はまたごとに、ダイナミックd.tsを注入しようとしたAdding JavaScript type hints for VSCode/Monaco Intellisence
しかし、この関数を宣言しても、エディタには何も意味がないようです。確かに新しいクラスを宣言すると、その機能の中でevent
が特定のタイプであることをモナコに伝える方法を考えることができません。
私はregisterCompletionItemProvider APIを見ることができますが、それはアイテムがどこに宣言されたかなどのコンテキストを提供しませんし、私が望むd.tsファイルを自動的に使用させません。
となります。ありがとうございます - 私はモナコのplaygroudでそのスニペットを試しましたが、何かを完了することができませんでした。ユーザーは 'function onMyEvent(event){}'という関数を記述し、イベントでコードを完成させることができますか? onMyEventを呼び出すのとは対照的に? –
私は上記の私の答えを編集して、遊び場の完全な実例を与えました。 –
編集してくれてありがとうございますが、私はあなたが私のユースケースを得ているとは思いません。私は、ユーザーがjavascript関数で入力し、コードにパラメータを完全に取得する必要があります。たとえば、ユーザーはonMyEvent(event){}関数でタイプし、関数内ではエディターはイベントのタイプを知っています。 –