@materia-ui/ngx-monaco-editor
カスタム json スキーマを読み込み、ライブラリを使用してモナコ エディター インスタンスへの入力を検証するために使用する方法がわかりません。
私はここのガイドに従っていますhttps://levelup.gitconnected.com/autocomplete-json-with-angular-and-monaco-f1dcc01e36e1そしてもちろんlibのreadme。
ドキュメントに従ってライブラリからそれらを利用しようとしてMonacoEditorLoaderService
おり、jsonDefaults のさまざまな診断オプションを次のように設定しています。
constructor(private monacoLoaderService: MonacoEditorLoaderService) {
this.monacoLoaderService.isMonacoLoaded$
.pipe(
filter(isLoaded => isLoaded),
take(1)
)
.subscribe(() => {
console.log("loaded");
monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
enableSchemaRequest: true,
validate: true,
schemas: [
// @ts-ignore
{
fileMatch: ["file:///schema"], // associate with our model
schema: {
type: "object",
properties: {
scopes: {
description: "something useful here",
type: "array",
items: {
type: "object",
properties: {
include: {
type: "array",
items: [
{
type: "string"
}
]
},
exclude: {
type: "array",
items: [
{
type: "string"
}
]
},
asset_types: {
type: "array",
items: [
{
type: "string"
}
]
}
},
required: ["include"]
}
}
},
required: ["scopes"]
}
}
]
});
});
}
Ctrl+Space を使用すると、次の$schema
オプションが表示されるだけで、スキーマで定義されたプロパティは表示されません。
明らかに、スキーマの読み込みを正しく設定する方法が間違っており、誤解しています。
私のセットアップの Stackblitz はこちらです - https://stackblitz.com/edit/materia-ngx-monaco-editor-example-y2tcrz?file=src/app/app.component.ts
誰かがここで何が問題なのかを親切に指摘できますか?私は何を間違っていますか?
ありがとう