Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>COBOL Copybook Data EditorNew to Visual Studio Code? Get it now.
COBOL Copybook Data Editor

COBOL Copybook Data Editor

Ricardo Freire

|
1 install
| (0) | Free
Edita campos y añade o elimina registros COBOL con un copybook, letra grande y soporte COMP/COMP-3.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

COBOL Copybook Data Editor

Extensión de Visual Studio Code para visualizar y editar archivos de datos COBOL usando un copybook como layout. Permite modificar campos, añadir y eliminar registros, y guardar los cambios. Pensada para registros generados en UNIX por programas COBOL/Pro*COBOL, con texto y campos COMP o COMP-3, y para trabajar con letra grande.

Instalar y probar

  1. En VS Code, abre Extensiones con Ctrl+Shift+X.
  2. En el menú … del panel, elige Instalar desde VSIX… / Install from VSIX… y selecciona el paquete generado. El paquete para publicación se llama dist/cobol-copybook-data-editor-0.2.0-marketplace.vsix.
  3. Abre la paleta con Ctrl+Shift+P y ejecuta COBOL Copybook Data Editor: Abrir ejemplo.
  4. Para tus archivos, ejecuta COBOL Copybook Data Editor: Abrir editor, pulsa Abrir copybook y después Abrir datos. Los dos selectores admiten cualquier extensión y archivos sin extensión. Cada archivo de datos se abre en su propia pestaña.

También puedes pulsar con el botón derecho sobre un archivo de datos en el Explorador y elegir Editar con COBOL Copybook Data Editor. La extensión pedirá el copybook. En Reabrir editor con… también aparece este editor como opción.

El identificador de publicación es RicardoFreire.cobol-copybook-data-editor. Si instalaste los prototipos con el identificador copybook-claro-local.copybook-claro, desinstala o desactiva esa edición antes de instalar esta para evitar comandos duplicados. Los ajustes manuales copybookClaro.* siguen siendo compatibles; las preferencias de tamaño y contraste guardadas por el prototipo pueden necesitar configurarse de nuevo.

Editar y guardar

  • Pulsa un valor en cualquiera de las dos vistas. Cambia el contenido del cuadro y pulsa Aplicar cambio; Cancelar conserva el valor anterior. Las celdas también se abren con Tab y Enter.
  • Los campos de texto se rellenan con espacios hasta su longitud en bytes. No se recortan valores demasiado largos ni se sustituyen caracteres que no existan en la codificación.
  • En números introduce el valor decimal, con punto o coma y sin separadores de miles. La PIC determina los decimales, el signo y la capacidad. Se codifica de nuevo como DISPLAY, COMP o COMP-3; no se redondean valores automáticamente. COMP-5 admite su rango binario nativo.
  • Añadir registro agrega al final un registro de la longitud del layout, con espacios en texto y ceros codificados en los campos numéricos. No utiliza las cláusulas VALUE del copybook. En REDEFINES se inicializa la primera interpretación de cada zona superpuesta.
  • Eliminar registro actual elimina el registro seleccionado. Deshacer / Rehacer también recuperan registros eliminados. Los cambios usan el historial de documentos de VS Code (Ctrl+Z / Ctrl+Y).
  • Guardar o Ctrl+S escribe en el archivo abierto. Guardar como… o Ctrl+Shift+S permite elegir otro destino. El ejemplo integrado se guarda como una copia.
  • El indicador Cambios sin guardar muestra los cambios aplicados en memoria. VS Code gestiona el aviso al cerrar con cambios pendientes y su sistema de recuperación de documentos. Si activas Auto Save en VS Code, también se aplica a este editor.

Se conservan los bytes no modificados, los separadores LF/CRLF existentes, la presencia o ausencia del último salto de línea y el BOM UTF-8. Los nuevos separadores usan el primero encontrado en el archivo (LF si está vacío). Si el archivo cambia por fuera del editor, el guardado sobre el original se detiene y puedes usar Guardar como.

Con REDEFINES, editar una interpretación modifica los bytes compartidos: las demás se actualizan inmediatamente. Los campos truncados no se pueden editar. Un registro incompleto de bloques fijos debe corregirse antes de añadir otros. La edición de un campo está limitada a 64 KiB; las vistas abreviadas no se usan como contenido al editar.

Guarda o deshaz los cambios antes de cambiar el copybook, el layout, la codificación, el formato de registros o el orden binario. Así no cambias la interpretación mientras editas. Puedes ampliar la letra, cambiar el contraste, navegar y buscar campos con cambios pendientes.

Lectura cómoda

  • Letra inicial de 20 px, ajustable de 14 a 40 px con A− / A+. El tamaño y el alto contraste se recuerdan entre sesiones.
  • Colores del tema de VS Code y botón de alto contraste.
  • Campos del registro: nombre, ruta completa, PIC/USAGE, posición inicial/final, longitud y valor.
  • Tabla de registros: páginas de 20 registros, con desplazamiento horizontal y hasta 40 columnas por vista. Buscar un campo permite acceder a las demás columnas.
  • Navegación anterior/siguiente, salto a un número de registro y búsqueda por nombre de campo.
  • Opción para mostrar FILLER e inspector con valor original y bytes hexadecimales. Pulsa el nombre de un campo para inspeccionarlo.
  • Controles con etiquetas, foco visible y navegación con Tab. Alt+← y Alt+→ cambian de registro cuando la vista recibe esas teclas; los atajos globales de VS Code pueden tener prioridad.

Opciones para archivos de UNIX

El valor inicial de Separación de registros es Longitud del layout + LF/CRLF: lee exactamente los bytes que ocupa el copybook y después comprueba el separador. Así, un byte 0A dentro de COMP/COMP-3 no se interpreta como fin de registro. El último registro puede terminar sin separador.

Opción Uso
Longitud del layout + LF/CRLF Registros de longitud fija seguidos de un salto de línea, incluidos registros con binarios.
Líneas de texto LF/CRLF Archivos de texto con una línea por registro. Conserva espacios y señala longitudes distintas; no es seguro para campos binarios que contengan LF.
Bloques fijos sin separadores Registros concatenados, con el tamaño indicado por el copybook. Señala un último registro incompleto.

Selecciona la codificación real del archivo: Windows-1252, UTF-8, Latin-1 o EBCDIC IBM 037. El copybook se lee como UTF-8, con alternativa Windows-1252. Los saltos del formato delimitado son bytes ASCII LF/CRLF; para archivos EBCDIC de bloques usa el formato sin separadores.

Las posiciones y longitudes siempre se calculan en bytes, desde 1 en la interfaz. En UTF-8 una letra acentuada puede ocupar más de un byte. Una PIC que corte una secuencia UTF-8 produce un error de decodificación visible. No se aplica ninguna conversión al archivo antes de calcular los campos.

COMP y el compilador: esta versión utiliza tamaños de almacenamiento de 2 bytes para 1–4 dígitos, 4 para 5–9 y 8 para 10–18. Puedes elegir por separado el orden de bytes de COMP/BINARY/COMP-4 y de COMP-5. Se inicia con COMP big endian y COMP-5 little endian. UNIX por sí solo no determina esos valores: comprueba el compilador, sus opciones y un campo cuyo valor conozcas. Otros tamaños binarios propios de un dialecto requieren adaptar el lector.

Copybooks admitidos

  • Niveles 01–49 y 77, grupos anidados y varios layouts 01 seleccionables.
  • PIC X/A/9, repeticiones, S, V y edición numérica básica (se muestra el texto editado).
  • DISPLAY, COMP/BINARY, COMP-4, COMP-5 y COMP-3/PACKED-DECIMAL; sin pérdida de precisión de enteros grandes.
  • Signo separado LEADING/TRAILING y sobreimpresión de signo IBM.
  • OCCURS de tamaño fijo, incluidos grupos repetidos.
  • REDEFINES dentro de un grupo: comparte posiciones y muestra las interpretaciones superpuestas. No elige automáticamente una interpretación según el contenido del registro.
  • FILLER, condiciones 88 y constantes 78. Los alias RENAMES de nivel 66 se omiten con aviso.
  • Formato libre o fijo. El fijo respeta las columnas 7–72 y las continuaciones de cláusulas. La detección automática reconoce números de secuencia y ciertos indicadores; selecciona Fijo manualmente si es necesario.
  • Una declaración por línea, con cláusulas que pueden continuar en las siguientes líneas. Varias declaraciones en la misma línea requieren separación con punto.

Esta primera versión señala como no admitidos COPY externos, OCCURS DEPENDING ON, SYNC, COMP-1/2/6/X, NATIONAL y otros tipos cuyo almacenamiento no implementa. Las continuaciones que parten una palabra PIC o un literal entre líneas tampoco están implementadas. Es un lector de layouts habituales, no un compilador COBOL completo.

Los archivos con cabeceras RDW/BDW, registros de longitud variable, varios tipos de registro con longitudes diferentes, o escapes/inserción de nulos propios de algunos formatos line sequential necesitan un lector específico. El archivo debe conservar sus bytes al transferirse de UNIX; una transferencia en modo texto puede alterar datos COMP/COMP-3.

Ejemplos incluidos

Copybook Datos Contenido
examples/clientes.cpy examples/clientes.dat Texto ASCII, cinco campos y registros de 59 bytes + LF.
examples/movimientos (sin extensión) examples/movimientos.dat Texto, COMP big endian y COMP-3 con signo, registros de 34 bytes + LF. Uno contiene LF dentro de COMP.

Son datos inventados. La extensión trabaja con los archivos mediante el proveedor de archivos de VS Code, no envía datos a un servicio externo ni ejecuta SQL. Escribe al guardar, o cuando Auto Save está activo. Además de las preferencias de lectura, VS Code puede guardar copias de recuperación del documento con sus datos y layout. Con VS Code Remote/SSH, el proveedor realiza la lectura y escritura en el entorno remoto.

Límites iniciales: datos de hasta 64 MiB, copybooks de hasta 2 MiB, registros de hasta 16 MiB, un millón de registros y 2000 campos después de expandir OCCURS. Los campos numéricos admiten hasta 38 dígitos (18 en binarios). Los valores de texto largos se abrevian a 4096 caracteres y su hexadecimal a 256 bytes, sin alterar las posiciones del layout.

Desarrollo y comprobaciones

Requiere Node.js 20 o superior. La extensión no tiene dependencias de ejecución ni necesita npm install.

Abre esta carpeta en VS Code y pulsa F5 para lanzar otra ventana con la extensión en desarrollo. Después ejecuta COBOL Copybook Data Editor: Abrir ejemplo en esa ventana.

En PowerShell se puede usar npm.cmd si la política de ejecución impide ejecutar npm.ps1:

npm.cmd test
npm.cmd run check
npm.cmd run package

npm.cmd run package genera un VSIX local con Python 3 y su biblioteca estándar, sin descargas. Para generar el paquete de publicación con la herramienta oficial @vscode/vsce, ejecuta npm.cmd run package:marketplace. Este segundo comando requiere acceso a npm la primera vez. El publisher está configurado como RicardoFreire.

Las pruebas automatizadas cubren posiciones, signos, COMP/COMP-3, precisión, codificaciones, límites de registros, OCCURS, REDEFINES y la comunicación de la extensión con un host VS Code simulado. La comprobación visual automatizada usa Python Playwright y Chromium ya instalados:

python test/ui_smoke.py

Esta prueba ejecuta el código real de la extensión con un host simulado y renderiza su interfaz en Chromium; no sustituye una prueba con tus archivos reales y tu compilador.

Las pruebas cubren también escritura numérica exacta, validación, conservación de bytes y separadores, añadir/eliminar, historial, guardar/reabrir, cambios externos y recuperación de borradores. La prueba de apertura de una ventana nativa de VS Code en este entorno queda limitada por los permisos ACL de Windows sobre la instalación del editor, antes de cargar la extensión. El ejemplo del menú permite comprobar la apertura en tu sesión habitual.

Validación de la versión 0.2.0: 38 pruebas Node correctas, comprobación de sintaxis correcta, prueba de interfaz en Chromium correcta (incluye escritura real de archivos de prueba) e instalación del VSIX en un perfil aislado correcta. El editor usa la API de editores personalizados de VS Code para guardar, registrar ediciones y recuperar documentos.

Referencias: instalación de VSIX en VS Code, Webview API y almacenamiento computacional de IBM COBOL.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft