問題タブ [monaco-editor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1069 参照

angular - @materia-ui/ngx-monaco-editor - エディターで動作するカスタム json スキーマを取得できません

@materia-ui/ngx-monaco-editorカスタム json スキーマを読み込み、ライブラリを使用してモナコ エディター インスタンスへの入力を検証するために使用する方法がわかりません。

私はここのガイドに従っていますhttps://levelup.gitconnected.com/autocomplete-json-with-angular-and-monaco-f1dcc01e36e1そしてもちろんlibのreadme

ドキュメントに従ってライブラリからそれらを利用しようとしてMonacoEditorLoaderServiceおり、jsonDefaults のさまざまな診断オプションを次のように設定しています。

Ctrl+Space を使用すると、次の$schemaオプションが表示されるだけで、スキーマで定義されたプロパティは表示されません。

ここに画像の説明を入力

明らかに、スキーマの読み込みを正しく設定する方法が間違っており、誤解しています。

私のセットアップの Stackblitz はこちらです - https://stackblitz.com/edit/materia-ngx-monaco-editor-example-y2tcrz?file=src/app/app.component.ts

誰かがここで何が問題なのかを親切に指摘できますか?私は何を間違っていますか?

ありがとう

0 投票する
3 に答える
1541 参照

angular - ngx-monaco-editor - コンテナの変更時にレイアウト サイズを設定できない (タブ パネルを使用)

別のタブに切り替え、エディターにバインドされたモデル値を変更してから、最初のタブに再度切り替えると、サイズの計算ngx-monaco-editorが失われるように見えるprimengタブパネル内のインスタンスに苦労しています。

https://stackblitz.com/edit/primeng9-tabs-monaco-editor

上記の URL を使用して複製する手順:

  • 「エディタ」タブが最初に選択されます
  • 「タブ 2」を選択します
  • 「コードを変更」ボタンをクリック
  • 「エディタ」タブに戻ると、エディタのサイズが縮小されていることがわかります

前:

ここに画像の説明を入力

後:

ここに画像の説明を入力

Dom を調べると、最初に割り当てられたスタイルがまだ存在しています。

サンプル アプリのソース コードからわかるようlayoutに、タブ変更イベントでエディターのメソッドを使用して、コンテナーに基づいてサイズの再計算を強制しようとしましたが、違いはありませんでした

興味深いことに、ウィンドウのサイズを変更すると、エディター コンポーネントが再び正しくサイズ変更されるように見えます。

0 投票する
1 に答える
10556 参照

asp.net-mvc - Web アプリケーションで Monaco エディターを使用する

Powershell をスクリプト エンジンとして使用する MVC Web アプリケーションがあります。現在、textarea 要素がスクリプト編集に使用されていますが、これは非常に面倒です。MicrosoftがMonaco Editorをリリースしたとき、エディタをアプリケーションにウィジェットとして埋め込んで、構文チェックとインテリセンスの機能を活用できないかと考えていました。ドキュメントをチェックした後、関連する情報はあまり見つかりませんでした。これは可能ですか、それとも Microsoft は現在、サードパーティ アプリケーションでの使用をサポートしていませんか?

0 投票する
2 に答える
4851 参照

javascript - ブラウザーの Microsoft Monaco Editor は行の値を取得します

Microsoft Monaco エディターのブラウザー ベースのバージョンを使用して作業してきましたが、エディターの特定の行の値を取得する方法を説明するドキュメントや例がプレイグラウンドで見つかりません。

例えば:

2 行目はprivate m:number;.

その行または行の一部の値を取得し、コードを使用してその値を変更するにはどうすればよいでしょうか。そのアクションをキーボードショートカットに入れたいです。

0 投票する
0 に答える
1116 参照

javascript - モナコでオートコンプリートリストを追加する方法

electron アプリケーションで Monaco Editor を使用しています。オーバーライドするのではなく、オートコンプリート リストを追加したい。オートコンプリート リストを追加する前に:

ここに画像の説明を入力

オートコンプリート リストを追加すると、追加されたキーワードのみがリストに表示されます。しかし、ドキュメントからの単語も必要です:

この画像はモナコの遊び場のものですが、私も同じ動作を経験しています

次のコードを使用しています。

0 投票する
4 に答える
2487 参照

javascript - AngularJS を使用した Electron の Monaco エディター

Monaco エディターを立ち上げて Electron で実行したいと考えています。モナコの電子の例を見つけましたが、私のアプリでは動作しません。

私が得るのは次のようなエラーだけです:

monaco の loader.js がスクリプト ファイルとして含まれていなければ、すべて正常に動作しています。

「fs」モジュールをインクルードしようとすると、ファイルの先頭にある AngularJS サービスの 1 つにエラーが表示されます。

しかし、前述のように、monaco loader.js ファイルが含まれていなくても、これは正常に機能します。

どうすれば修正できますか?私は自分の Electron アプリにモナコ エディターを含めたいと思っています。ACE エディターに比べてアプリが簡素化されます。

0 投票する
1 に答える
2873 参照

javascript - Monaco Editor の状態をリセットする

ユーザーが JSON を挿入する方法として、Monaco エディター ( https://github.com/Microsoft/monaco-editor ) を実装しました。

ユーザーが「投稿」ボタンをクリックすると、エディターが有効になります。問題は、スイッチ関数内でエディターが有効になっていることです。したがって、ボタンが 1 回クリックされると、クライアントが同じボタンをもう一度クリックすると、エディタは最初に作成されたエディタの下に追加します。エディターを「リセット」する方法はありますか?実際には追加されませんが、代わりに新しいものを作成するか、既に作成されたものを使用しますか?

これが私の現在のコードです。

したがってwindow.editor = monaco.editor.create(document.getElementById('codeEditor'), {})、作成済みのものがある場合は同じものを使用するか、このスイッチケースが入力されるたびに新しいものを作成する必要があるため、既に作成されたものに追加されません。

0 投票する
3 に答える
16687 参照

javascript - VSCode/Monaco Intellisence の JavaScript 型ヒントの追加

変数のタイプを VSCode/Monaco のインテリセンスにヒントする方法はありますか。

このようなコードがあります

VSCode はそれlocURL

vscodeは場所を知っています

glしかし、それは何であるかを知りません

vscodeはglを知りません

また、それが何でctxあるかを知りません

vscode は ctx を認識していません

関数がその入力に基づいて異なる型を返すようにすることは、やや珍しいケースです。

しかし、それには型データがありますWebGLRenderingContext

vscode は webglrenderingcontext を知っています

そしてそれは知っているCanvasRenderingContext2D

vscode は canvasrenderingcontext2d を知っています

タイプスクリプトに切り替えることなく、vscode/monacoglが のインスタンスでWebGLRenderingContextあり、それctxが のインスタンスであることを伝える方法はありますか? CanvasRenderingContext2Dたぶん、ある種のコメントを追加することによって?

これは WebGL チュートリアル サイト用であり、実際にはVSCode用ではありませんが、ソリューションが同じであることを願っています。

0 投票する
1 に答える
478 参照

javascript - 制御されていないサードパーティ コンポーネントで React を使用する

React を使用して JSFiddle に似た UI を作成したいと思います。

  • HTML、CSS、JS のパネル
  • プレビュー パネル
  • プレビューを更新する単一の「実行」ボタン

HTML、CSS、および JS パネルにMicrosoft のMonaco エディターを使用して、シンタックス ハイライトとオートコンプリートを取得したいと考えています。

一般的な MonacoEditor コンポーネントを抽象化しました。私のコンポーネント階層は次のようになります。

この UI を Vanilla JS で実装した場合、run()メソッドは各 Monaco インスタンスを呼び出しgetValue()て、各パネルから全文を抽出し、プレビューを生成します。

run()ただし、メソッドは子コンポーネントのインスタンスでメソッドを呼び出すことができないため、React では扱いにくくなります。

1 つの回避策は、すべてのキーストロークで発生するプロップをMonacoEditorに持たせることです。onUpdateコンポーネントはRoot、「実行」ボタンがクリックされたときの各パネルの仮の内容を保存できます。これは、各エディターが<textarea>. しかし、モナコでは先発ではない。キーストロークごとにエディターのテキストをシリアル化すると、使用できないほど遅くなります。

私が考えることができる他の唯一のアプローチは、MonacoEditorコンポーネントに「ゲッターセッター」を渡すことです。

しかし、これは非常にぎこちなく、一方向のデータバインディングの考え方に反しています。より良い、より慣用的なアプローチはありますか?