Share via


De Monaco Editor integreren met Kusto-querytaal ondersteuning in uw app

U kunt de Monaco Editor met Kusto-querytaal-ondersteuning (monaco-kusto) integreren in uw app. Integratie van monaco-kusto in uw app biedt u een bewerkingservaring zoals voltooiing, inkleuring, herstructureren, hernoemen en go-to-definition. Hiervoor moet u een oplossing bouwen voor verificatie, query-uitvoering, weergave van resultaten en schemaverkenning. Het biedt u volledige flexibiliteit om de gebruikerservaring aan te passen die aan uw behoeften voldoet.

In dit artikel leert u hoe u monaco-kusto toevoegt aan de Monaco-editor en deze integreert in uw app. Het pakket is beschikbaar op GitHub en op npm.

Gebruik de volgende stappen om monaco-kusto te integreren in uw app met behulp van npm.

Stap 1: het monaco-kusto-pakket installeren

Stap 2: uw app instellen voor het gebruik van het monaco-kusto-pakket

Stap 3: Uw databaseschema toevoegen aan de editor

Probeer de integratie met ons Voorbeeldproject!

Vereisten

Installeer het monaco-kusto-pakket

  1. Installeer het npm-pakket van de Monaco-editor:

    npm i monaco-editor
    

    Notitie

    Zie Monaco Editor GitHub-opslagplaats als u de systeemeigen Monaco-editor wilt aanpassen.

  2. Installeer het npm-pakket monaco-kusto :

    npm i @kusto/monaco-kusto
    

Uw app instellen voor het gebruik van het monaco-kusto-pakket

U kunt uw app op een van de volgende manieren instellen voor het gebruik van monaco-kusto :

  1. Voeg de volgende HTML toe aan pagina's waarop de Monaco-editor wordt gebruikt, zoals uw index.html-bestand . Ze zijn vereist vanwege een afhankelijkheid van het pakket op 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>
    
  2. Kopieer de statische bestanden van de pakketten monaco en monaco-kusto naar de map monaco-editor op uw webserver. Uw app moet toegang hebben tot deze statische bestanden.

  3. Gebruik monaco om ze te laden. Zie de voorbeelden voor voorbeelden.

Uw databaseschema toevoegen aan de editor

Het monaco-kusto-pakket biedt een manier om uw databaseschema toe te voegen aan de editor. Met het schema kan de editor suggesties voor automatisch aanvullen en andere functies bieden.

Gebruik de volgende structuur om het schema te definiëren:

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);
    });
  });
}

U kunt uw databaseschema op een van de volgende manieren ophalen:

  1. Selecteer in de webinterface van Azure Data Explorer in het menu links de optie Query.

  2. Selecteer de database waarvoor u een schema wilt maken.

  3. Voer in het queryvenster de volgende query uit:

    .show schema as json
    
  4. Kopieer het resultaat van de query en plak deze als de schemaconstante . Het resultaat van de query is een lijst met databases (zie interface Result in het bestand schema.ts ).

  5. Gebruik de setSchemaFromShowSchema() methode om het schema in de editor in te stellen. U moet ook de cluster-URI en de naam van de database opgeven die in de editor moet worden gebruikt.

Voorbeeldproject

U kunt een voorbeeldproject vinden dat gebruikmaakt van het monaco-kusto-pakket . Als u het voorbeeld wilt gebruiken, kloont u de github-opslagplaats monaco-kusto. U vindt het voorbeeld in de map samples/react .

Uw voorbeeldproject instellen en testen

Voer de volgende opdrachten uit vanuit de hoofdmap van de gekloonde opslagplaats:

  1. Installeer afhankelijkheden en bouw het project:

    npm install
    
  2. Controleer of het project werkt. Als dit lukt, wordt de index.html geopend.

    npm run watch