Integracja edytora Monaco z obsługą język zapytań Kusto w aplikacji

Edytor Monaco można zintegrować z obsługą język zapytań Kusto (monaco-kusto) w aplikacji. Zintegrowanie aplikacji monaco-kusto oferuje środowisko edycji, takie jak uzupełnianie, kolorowanie, refaktoryzacja, zmienianie nazw i przechodzenie do definicji. Wymaga to utworzenia rozwiązania do uwierzytelniania, wykonywania zapytań, wyświetlania wyników i eksploracji schematu. Zapewnia ona pełną elastyczność w zakresie dostosowywania środowiska użytkownika, które odpowiada Twoim potrzebom.

W tym artykule dowiesz się, jak dodać aplikację monaco-kusto do edytora Monaco i zintegrować ją z aplikacją. Pakiet jest dostępny w witrynie GitHub i w witrynie npm.

Wykonaj poniższe kroki, aby zintegrować aplikację monaco-kusto z aplikacją przy użyciu narzędzia npm.

Krok 1. Instalowanie pakietu monaco-kusto

Krok 2. Konfigurowanie aplikacji do korzystania z pakietu monaco-kusto

Krok 3. Dodawanie schematu bazy danych do edytora

Wypróbuj integrację z naszym przykładowym projektem!

Wymagania wstępne

  • Node.js (wersja 6.10.3 lub nowsza)

Instalowanie pakietu monaco-kusto

  1. Zainstaluj pakiet npm edytora Monaco:

    npm i monaco-editor
    

    Uwaga

    Aby dostosować natywny edytor Monaco, zobacz repozytorium GitHub Editor Monaco.

  2. Zainstaluj pakiet npm monaco-kusto :

    npm i @kusto/monaco-kusto
    

Konfigurowanie aplikacji do korzystania z pakietu monaco-kusto

Aplikację można skonfigurować do korzystania z usługi monaco-kusto przy użyciu jednej z następujących metod:

  1. Dodaj następujący kod HTML do stron, na których jest używany edytor Monaco, na przykład plik index.html . Są one wymagane ze względu na zależność, którą pakiet ma w elemecie 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. Skopiuj pliki statyczne z pakietów monaco i monaco-kusto do folderu monaco-editor na serwerze internetowym. Aplikacja będzie musiała uzyskać dostęp do tych plików statycznych.

  3. Użyj monako, aby je załadować. Aby zapoznać się z przykładami, zobacz przykłady.

Dodawanie schematu bazy danych do edytora

Pakiet monaco-kusto umożliwia dodanie schematu bazy danych do edytora. Schemat umożliwia edytorowi udostępnianie sugestii autouzupełnianych i innych funkcji.

Użyj następującej struktury, aby zdefiniować schemat:

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

Schemat bazy danych można uzyskać przy użyciu jednej z następujących metod:

  1. W internetowym interfejsie użytkownika usługi Azure Data Explorer w menu po lewej stronie wybierz pozycję Zapytanie.

  2. Wybierz bazę danych, dla której chcesz utworzyć schemat.

  3. W oknie zapytania uruchom następujące zapytanie:

    .show schema as json
    
  4. Skopiuj wynik zapytania i wklej go jako stałą schematu . Wynikiem zapytania jest lista baz danych (zobacz interfejs Result w pliku schema.ts ).

  5. setSchemaFromShowSchema() Użyj metody , aby ustawić schemat w edytorze. Należy również określić identyfikator URI klastra i nazwę bazy danych do użycia w edytorze.

Przykładowy projekt

Przykładowy projekt korzystający z pakietu monaco-kusto można znaleźć. Aby użyć przykładu, sklonuj repozytorium monaco-kusto GitHub. Przykład znajdziesz w folderze samples/react .

Konfigurowanie i testowanie przykładowego projektu

Uruchom następujące polecenia z katalogu głównego sklonowanego repozytorium:

  1. Zainstaluj zależności i skompiluj projekt:

    npm install
    
  2. Sprawdź, czy projekt działa. W przypadku pomyślnego otwarcia index.html .

    npm run watch