Pular para o conteúdo principal

Kikwiflow Craft para VS Code

A mesma tela visual do Kikwiflow Craft (web), disponível como editor de arquivos .kikwi dentro do VS Code. Você abre qualquer .kikwi e recebe o canvas de arrastar e soltar em vez do JSON cru — e, como está dentro do editor, ganha uma ponte direta para o código Java do seu workspace: o botão "Ir para o bean".

  • Extensão: Kikwiflow Craft — publisher Atoxfy
  • Status: early preview (histórico de versões na página do Marketplace)
  • Requisitos: nenhum — a extensão empacota tudo o que precisa.

É o que o tutorial de abertura de conta faz ao abrir o conta-service: visualizar o .kikwi como diagrama e pular direto do nó para o bean que o implementa.


Quickstart

Instalação

  1. No VS Code, abra o painel de Extensões (Ctrl/Cmd+Shift+X).
  2. Busque por Kikwiflow Craft (publisher Atoxfy) no Visual Studio Marketplace.
  3. Clique em Install. Não há mais nada a configurar.

Primeiro uso

  1. Crie um processo. Paleta de comandos (Ctrl/Cmd+Shift+P) → Kikwiflow Craft: New Process File. A extensão cria um .kikwi mínimo válido (início → fim) e o abre já no canvas.
  2. Desenhe exatamente como no Craft web — arraste nós da paleta, conecte, ajuste no Inspector (botão flutuante no canto superior direito do canvas).
  3. Valide. O linter roda a cada alteração; os problemas aparecem no painel Problems do VS Code, cada um com link para a documentação da regra.
  4. Salve (Ctrl/Cmd+S) — o arquivo é gravado como JSON .kikwi normal, versionável no Git.

Referência

Editor visual (custom editor)

  • Registrado para o padrão de arquivo *.kikwi como editor padrão. Dê duplo-clique em qualquer .kikwi e ele abre no canvas.
  • Canvas idêntico ao do Craft web: paleta, Inspector, linter, controles de tela, tela cheia.
  • O Hub de Exportação está disponível para JSON, PNG e SVG. A geração de um projeto Spring Boot inteiro por download do navegador não mapeia bem para "já estou dentro de um projeto em disco num editor" — para gerar/atualizar os beans a partir de um .kikwi de dentro do projeto, use o botão "Ir para o bean".

Comandos

ComandoO que faz
Kikwiflow Craft: New Process FileCria um .kikwi mínimo válido (início → fim) e o abre no canvas.
Kikwiflow Craft: Reopen with Text EditorAbre o .kikwi atual como JSON cru, com validação de schema, autocomplete e hover docs. Também disponível no menu de contexto do Explorer para arquivos .kikwi.

Validação de schema no modo texto

A extensão associa *.kikwi a JSON e registra um JSON Schema (schemas/kikwi.schema.json) para esses arquivos. No editor de texto você tem autocomplete de campos, validação estrutural e documentação ao passar o mouse.

"Ir para o bean"

Ao lado dos campos de executor / provider-bean no Inspector, a extensão mostra um botão que liga o nó ao código Java do workspace:

  • Cobre: Tarefa Executável (executor), bean de decisão do Gateway Exclusivo, e o bean de prazo (due-date) da Tarefa Temporizadora e do boundary de SLA.
  • Se já existe uma classe @Component("<nome>") correspondente no workspace aberto, o botão abre essa classe.
  • Se não existe, o botão oferece gerar o stub — a partir dos mesmos templates Java que a exportação Spring Boot usa.
  • Configuração do pacote Java: na primeira vez que você cria um bean, a extensão pergunta o pacote base (auto-detectado de um pom.xml / build.gradle, quando possível) e a raiz src/main/java. Depois disso, os valores ficam guardados por workspace:
    • kikwiflowCraft.javaPackageName — pacote Java base para o stub gerado.
    • kikwiflowCraft.javaSourceRoot — caminho absoluto da raiz src/main/java onde o stub é escrito.

Linter no painel Problems

Sem um Inspector aberto, os diagnósticos do linter aparecem no painel Problems do VS Code. Cada item referencia sua regra (KIKWI-00X) e linka para a documentação correspondente. Lista completa das regras no Apêndice.


Limitações conhecidas

  • Editar o mesmo arquivo simultaneamente no canvas e em uma divisão de texto reseta a seleção/viewport do canvas a cada alteração externa (o conteúdo continua sincronizado; só o estado visual transitório é perdido).
  • As traduções de rótulos de nós/conexões usam inglês por ora; paridade com o idioma de exibição do VS Code está planejada.
  • Exportar com escopo "projeto" exporta apenas o processo atual aqui — a lista de processos irmãos é um conceito do dashboard web, backed por localStorage, que este host não compartilha.
  • "Ir para o bean" só procura em arquivos .java do workspace aberto — um bean que já existe num módulo Maven/Gradle que você não abriu aqui não é encontrado (você acabaria criando um stub duplicado). Também cobre apenas os beans de Tarefa Executável, Gateway Exclusivo e Tarefa Temporizadora/SLA — beans de correlação de Captura/Lançador de Evento ainda não estão ligados.