Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>DataSeed XMLNew to Visual Studio Code? Get it now.
DataSeed XML

DataSeed XML

Murilo Braz

|
1 install
| (0) | Free
Editor visual de XML no VS Code: estrutura editável guiada por schema para qualquer XML, e campos, geração de dados de teste e chave de acesso para NF-e e CT-e.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

DataSeed XML

Editor visual de XML para o VS Code, sem sair do arquivo.

Abra qualquer XML e clique em Abrir no DataSeed XML no topo do editor. Ao lado do texto abre um painel. O que você muda no painel vai direto para o arquivo, e o que você muda no texto aparece no painel.

  • Qualquer XML abre direto na estrutura: a árvore do documento, com filtro, para editar valores e inserir, duplicar ou remover tags.
  • NF-e e CT-e ganham, além da estrutura, abas com os campos da nota, geração de dados de teste e a chave de acesso.

É a versão para VS Code do editor de XML do DataSeed, com a mesma identidade visual. O painel usa a paleta clara ou escura do site conforme o tema do VS Code.

NF-e e CT-e

No topo fica o resumo do documento: número, série, emitente → destinatário e total. As abas mostram só os campos mais usados; o resto fica em Mais campos, e o nome técnico e a documentação de cada campo aparecem ao passar o mouse.

Aba
Geral Natureza da operação, série, número, datas, tipo, finalidade e ambiente. Campos codificados viram listas com a descrição de cada código
Participantes Emitente, destinatário, remetente, expedidor, recebedor e transportadora: CNPJ/CPF, nome e IE, com endereço e contato recolhidos
Itens Produtos (<det>) e volumes (<vol>) em tabelas. Duplicar e remover item renumera nItem e refaz os totais
Totais Total da nota e dos produtos em destaque; impostos e outros valores recolhidos. Botão para recalcular a partir dos itens
Chave A chave em partes coloridas (o nome de cada parte aparece ao passar o mouse) e uma chave nova a partir do número e do código
Estrutura A árvore inteira do XML, guiada pelo schema oficial (veja abaixo)

Recálculos:

  • Com Recalcular totais ligado (padrão, na aba Itens), mudar qCom ou vUnCom atualiza o vProd do item e depois ICMSTot/vProd e vNF.
  • qTrib, uTrib e vUnTrib acompanham os campos comerciais correspondentes.

Gerar dados de teste

Ao passar o mouse sobre um campo que tem gerador, aparece um botão ✦ dentro dele. Clicar troca o valor por um fictício e válido, com os mesmos geradores do DataSeed:

O que gerar Como
Um campo ✦ no campo: CNPJ e CPF com DV válido, IE, razão social, nome fantasia, endereço, CEP, telefone, e-mail, natureza da operação, data de emissão, código, CFOP, quantidade, valor unitário, espécie do volume…
Um participante Gerar outro na seção do participante: CNPJ, IE, nome, endereço e contato de uma vez
Um item ✦ na linha do produto: descrição e NCM reais, código, unidade, quantidade e valor, com total e totais refeitos
A nota inteira Nova nota (ou Novo CT-e) na barra do topo: participantes, itens, natureza, datas, número e chave novos, mantendo a estrutura do XML

Campos que dependem uns dos outros mudam juntos:

  • município, código IBGE e UF sempre batem;
  • trocar o CNPJ do emitente ou a data de emissão refaz a chave de acesso, que contém os dois;
  • o emitente regenerado continua na mesma UF, porque a UF também está na chave;
  • na nota inteira nova, cUF e o município de origem seguem a cidade do novo emitente.

Tudo vira uma edição normal no arquivo. Ctrl+Z desfaz.

Inserir tags, guiado pelo schema oficial

A aba Estrutura usa os XSDs oficiais da NF-e 4.00 (pacote PL_010, com IBS/CBS) e do CT-e 4.00 (PL_CTe_400_RTC, incluindo CT-e OS, CT-e Simplificado, GTV-e e os modais):

  • + em cada grupo abre as tags que o schema permite ali, com a descrição oficial de cada uma. As obrigatórias que faltam aparecem primeiro. Escolhas já feitas são respeitadas: com CNPJ no emitente, CPF não é sugerido; com ICMS40, nenhum outro grupo de ICMS.
  • A tag nova entra na posição exigida pelo schema, com a indentação do arquivo, e não no fim do grupo.
  • Grupos já nascem com os filhos e atributos obrigatórios. obsCont vem com xCampo e xTexto, NFref com refNFe.
  • Campos com valores fixos no schema (indTot, modFrete…) são escolhidos numa lista.
  • Duplicar aparece em tudo o que o schema permite repetir: det, detPag, NFref, vol, obsCont, autXML…
  • Obrigatórios ausentes são sinalizados no grupo com um aviso (“falta 1”), que abre o + direto.
  • Tags fora do schema também podem ser digitadas; elas vão para o fim do grupo. Em XML que não é NF-e nem CT-e, a inserção é livre.
  • Passar o mouse sobre o nome de uma tag mostra a documentação oficial dela.

Chave de acesso

A aba Chave mostra a chave dividida em partes coloridas (UF, ano/mês, CNPJ, modelo, série, número, tipo de emissão, código e DV).

A chave é sempre montada a partir do documento. Se algum trecho não bate com o XML (por exemplo, o cUF foi editado à mão), aparece um aviso no topo com o botão Corrigir chave, que remonta a chave e atualiza Id, cDV, assinatura, protocolo e QR Code.

No editor de texto:

  • Passar o mouse sobre uma chave de 44 dígitos mostra UF, ano e mês, CNPJ, modelo, série, número e DV.
  • Chaves inconsistentes aparecem como aviso (sublinhadas e na aba Problemas): DV errado, trechos da chave diferentes do documento (cUF, mês de emissão, CNPJ do emitente, série, número, código, cDV) ou protocolo com outra chave.

A formatação do arquivo é preservada

O painel não regrava o XML inteiro. Cada edição troca só o trecho afetado, então:

  • XML em linha única, como sai da SEFAZ, continua em linha única;
  • indentação, quebras de linha (LF/CRLF), comentários e ordem dos atributos ficam como estão;
  • Ctrl+Z, Ctrl+S e o indicador de arquivo modificado funcionam normalmente;
  • o diff no git mostra só os valores alterados.

A assinatura digital não é refeita. Qualquer edição invalida a assinatura de um XML autorizado. Use a extensão para testes, homologação e integração, não para mandar documento editado à SEFAZ.

Como abrir

  • Botão Abrir no DataSeed XML no topo do editor, em qualquer arquivo XML;
  • clique direito num .xml no Explorer → Abrir no DataSeed XML;
  • Ctrl+Shift+P → DataSeed XML: Abrir arquivo XML…;
  • clique direito na aba do arquivo → Reabrir Editor Com… → DataSeed XML;
  • XML colado num arquivo sem título, ou arquivos com outra extensão reconhecidos como XML (.xsd, .config…), também funcionam.

No painel, o botão no canto superior direito mostra o texto do XML ao lado.

Configurações

Configuração Padrão
dataseedXml.autoRecalc true Recalcula vProd do item e os totais ao mudar quantidade ou valor unitário
dataseedXml.keyDiagnostics true Avisos de chave de acesso inconsistente no editor de texto

Desenvolvimento

npm install
npm test          # compila e roda os testes (node:test)
# F5 no VS Code → "Run Extension" (abre com test-fixtures/)
npm run package   # gera dataseed-xml-<versão>.vsix

# Atualizar os schemas oficiais:
node scripts/fetch-schemas.js   # baixa os XSDs (ajuste o pacote no script)
npm run schema                  # recompila src/core/schema/*.json
src/
  core/            lógica pura, sem VS Code (testada com node:test)
    xmlTree.ts     parser que guarda a posição de cada tag e atributo
    xmlEdit.ts     edições por trecho: valor, atributo, inserir, duplicar, remover
    fiscalDoc.ts   modelo de campos da NF-e/CT-e e as ações do painel
    docOps.ts      totais, itens e montagem da chave a partir do documento
    generate.ts    regeneração de campo, participante, item e nota inteira
    generators.ts  geradores de dados fictícios (portados do DataSeed)
    accessKey.ts   chave de acesso: DV, leitura e recálculo
    textDiff.ts    diff por tokens que vira edições pequenas no documento
    schema.ts      consulta aos schemas: tipo de cada nó, ordem, sugestões, obrigatórios
    schema/*.json  XSDs oficiais compilados (gerados por tools/buildSchema.ts)
  tools/
    buildSchema.ts compila schemas/ em src/core/schema/*.json
  FieldsView.ts    editor customizado: liga o webview ao documento
  keyFeatures.ts   hover, avisos e o contexto do botão
  extension.ts     comandos e registro
media/             webview (fields.js, fields.css), logo e ícone; vendor/ é copiado no build
scripts/           copy-assets.js: codicons e fontes; fetch-schemas.js: baixa os XSDs oficiais
schemas/           XSDs oficiais da NF-e e do CT-e (origem em schemas/*/SOURCE.txt)
test-fixtures/     NF-e e CT-e de exemplo gerados pelo DataSeed
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft