Integrare l'editor monaco con il supporto di Linguaggio di query Kusto nell'app
È possibile integrare l'editor monaco con Linguaggio di query Kusto supporto (monaco-kusto) nell'app. L'integrazione di monaco-kusto nell'app offre un'esperienza di modifica, ad esempio il completamento, la colorazione, il refactoring, la ridenominazione e la definizione go-to-definition. È necessario creare una soluzione per l'autenticazione, l'esecuzione di query, la visualizzazione dei risultati e l'esplorazione dello schema. Offre una flessibilità completa per modellare l'esperienza utente adatta alle proprie esigenze.
In questo articolo si apprenderà come aggiungere monaco-kusto all'editor di Monaco e integrarlo nell'app. Il pacchetto è disponibile in GitHub e in npm.
Seguire questa procedura per integrare monaco-kusto nell'app usando npm.
Passaggio 1: Installare il pacchetto monaco-kusto
Passaggio 2: Configurare l'app per usare il pacchetto monaco-kusto
Passaggio 3: Aggiungere lo schema del database all'editor
Provare l'integrazione con il progetto Di esempio!
Prerequisiti
- Node.js (v6.10.3 o versione successiva)
Installare il pacchetto monaco-kusto
Installare il pacchetto npm editor di Monaco:
npm i monaco-editor
Nota
Per personalizzare l'editor di Monaco nativo, vedere Repository GitHub editor di Monaco.
Installare il pacchetto monaco-kusto npm:
npm i @kusto/monaco-kusto
Configurare l'app per usare il pacchetto monaco-kusto
È possibile configurare l'app per usare monaco-kusto usando uno dei metodi seguenti:
Aggiungere il codice HTML seguente alle pagine in cui viene usato l'editor di Monaco, ad esempio il file index.html . Sono necessari a causa di una dipendenza che il pacchetto ha su
kusto-language-service
.<script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/bridge.min.js"></script> <script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/kusto.javascript.client.min.js"></script> <script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/newtonsoft.json.min.js"></script> <script src="%PUBLIC_URL%/monaco-editor/min/vs/language/kusto/Kusto.Language.Bridge.min.js"></script>
Copiare i file statici dai pacchetti monaco emonaco-kusto nella cartella monaco-editor nel server Web. L'app dovrà accedere a questi file statici.
Usare monaco per caricarli. Per esempi, vedere gli esempi.
Aggiungere lo schema del database all'editor
Il pacchetto monaco-kusto consente di aggiungere lo schema del database all'editor. Lo schema consente all'editor di fornire suggerimenti completi automatici e altre funzionalità.
Usare la struttura seguente per definire lo schema:
const schema = {... <YOUR_DATABASE_SCHEMA> ...};
export function setSchema(editor) {
window.monaco.languages.kusto.getKustoWorker().then((workerAccessor) => {
const model = editor.getModel();
workerAccessor(model.uri).then((worker) => {
//EITHER: Set schema from a show schema command
// worker.setSchemaFromShowSchema(
// schema,
// clusterURI,
// database
// );
//OR: Set schema from a manually created schema
// worker.setSchema(schema);
});
});
}
È possibile ottenere lo schema del database usando uno dei metodi seguenti:
Nel menu a sinistra dell'interfaccia utente Web di Azure Esplora dati selezionare Query.
Selezionare il database per il quale si vuole creare uno schema.
Nella finestra della query eseguire la query seguente:
.show schema as json
Copiare il risultato della query e incollarlo come costante dello schema . Il risultato della query è un elenco di database (vedere l'interfaccia
Result
nel file schema.ts ).Usare il metodo per impostare lo
setSchemaFromShowSchema()
schema nell'editor. È anche necessario specificare l'URI del cluster e il nome del database da usare nell'editor.
Progetto di esempio
È possibile trovare un progetto di esempio che usa il pacchetto monaco-kusto . Per usare l'esempio, clonare il repository GitHub monaco-kusto. Si troverà l'esempio nella cartella samples/react .
Configurare e testare il progetto di esempio
Eseguire i comandi seguenti dalla radice del repository clonato:
Installare le dipendenze e compilare il progetto:
npm install
Verificare che il progetto funzioni. In caso di esito positivo, il index.html verrà aperto.
npm run watch
Contenuti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per