Integrar o Editor do Mónaco com Linguagem de Pesquisa Kusto suporte na sua aplicação
Pode integrar o Editor do Mónaco com Linguagem de Pesquisa Kusto suporte (monaco-kusto) na sua aplicação. Integrar o monaco-kusto na sua aplicação oferece-lhe uma experiência de edição, como conclusão, coloração, refatorização, mudança de nome e ir para a definição. Requer que crie uma solução para autenticação, execução de consultas, apresentação de resultados e exploração de esquemas. Oferece-lhe toda a flexibilidade para criar a experiência do utilizador que se adequa às suas necessidades.
Neste artigo, irá aprender a adicionar monaco-kusto ao Editor do Mónaco e integrá-lo na sua aplicação. O pacote está disponível no GitHub e no npm.
Utilize os seguintes passos para integrar monaco-kusto na sua aplicação com o npm.
Passo 1: instalar o pacote monaco-kusto
Passo 2: configurar a sua aplicação para utilizar o pacote monaco-kusto
Passo 3: adicionar o esquema da base de dados ao editor
Experimente a integração com o nosso Projeto de exemplo!
Pré-requisitos
- Node.js (v6.10.3 ou posterior)
Instalar o pacote monaco-kusto
Instale o pacote npm do Editor do Mónaco:
npm i monaco-editor
Nota
Para personalizar o Editor nativo do Mónaco, consulte o repositório GitHub do Editor do Mónaco.
Instale o pacote monaco-kusto npm:
npm i @kusto/monaco-kusto
Configurar a sua aplicação para utilizar o pacote monaco-kusto
Pode configurar a sua aplicação para utilizar monaco-kusto com um dos seguintes métodos:
Adicione o seguinte HTML às páginas em que o Editor do Mónaco é utilizado, como o ficheiro index.html . São necessários devido a uma dependência que o pacote tem em
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>
Copie os ficheiros estáticos dos pacotes monaco e monaco-kusto para a pasta monaco-editor no seu servidor Web. A sua aplicação terá de aceder a estes ficheiros estáticos.
Utilize o mónaco para carregá-los. Por exemplo, veja os exemplos.
Adicionar o esquema da base de dados ao editor
O pacote monaco-kusto fornece uma forma de adicionar o esquema da base de dados ao editor. O esquema permite que o editor forneça sugestões de conclusão automática e outras funcionalidades.
Utilize a seguinte estrutura para definir o esquema:
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);
});
});
}
Pode obter o esquema da base de dados com um dos seguintes métodos:
Na IU do Azure Data Explorer Web, no menu esquerdo, selecione Consulta.
Selecione a base de dados para a qual pretende criar um esquema.
Na janela de consulta, execute a seguinte consulta:
.show schema as json
Copie o resultado da consulta e cole-o como a constante de esquema . O resultado da consulta é uma lista de bases de dados (veja interface
Result
no ficheiro schema.ts ).Utilize o
setSchemaFromShowSchema()
método para definir o esquema no editor. Também tem de especificar o URI do cluster e o nome da base de dados a utilizar no editor.
Projeto de exemplo
Pode encontrar um projeto de exemplo que utilize o pacote monaco-kusto . Para utilizar o exemplo, clone o repositório monaco-kusto GitHub. Encontrará o exemplo na pasta samples/react .
Configurar e testar o projeto de exemplo
Execute os seguintes comandos a partir da raiz do repositório clonado:
Instale dependências e crie o projeto:
npm install
Verifique se o projeto está a funcionar. Se for bem-sucedido, o index.html será aberto.
npm run watch
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários