Contenido principal

Formato de archivo de código en vivo (.m)

Desde R2025a

A partir de R2025a, Live Editor es compatible con un nuevo formato de archivo de código en vivo de texto sin formato (.m) para scripts en vivo como alternativa al formato de archivo de código en vivo binario predeterminado (.mlx). El formato de texto sin formato se basa en el formato de archivo de código estándar de MATLAB® (.m) y es compatible con todas las funcionalidades de Live Editor, incluidos el texto con formato, la salida, los controles interactivos y las tareas. Los scripts en vivo se guardan en este formato en Live Editor y se comportan como otros scripts en vivo.

Live script with a .m file extension in the Live Editor. The live script contains formatted text, code, and output.

Ventajas del formato de archivo de código en vivo de texto sin formato (.m)

There are several benefits to saving live scripts using the new plain text Live Code file format:

  • Files open in external code editors — You can open live scripts saved using the plain text Live Code file format in any external text or code editor that supports plain text files.

  • Increased transparency — Files saved using the plain text file Live Code format do not trigger security concerns. One exception might be if the live script contains images and plots, which are saved as Base64 (ASCII-binary) strings in the plain text file.

  • Improved integration with source control — You can use external source control tools to compare and merge live scripts saved using the plain text file Live Code format.

Guardar scripts en vivo como texto sin formato

Para guardar un script en vivo con formato de archivo de código en vivo de texto sin formato (.m), siga estos pasos:

  1. Vaya a la pestaña Live Editor y, en la sección File, seleccione Save > Save As.

  2. Introduzca un nombre para su script en vivo. Si va a guardar un script en vivo existente con formato de archivo de código en vivo de texto sin formato, introduzca un nombre de archivo diferente al original para evitar problemas de sobreescritura.

  3. Seleccione MATLAB Live Code File (UTF-8) (*.m) como Save as type.

  4. Haga clic en Save.

De manera predeterminada, los scripts en vivo guardados con el formato de archivo de código en vivo de texto sin formato (.m) se abren en Live Editor. Para abrir el archivo como texto sin formato en el editor, haga clic con el botón secundario en el panel de archivos y seleccione Open as Text.

Nota

Editar un script en vivo como texto sin formato podría impedir que se abra correctamente en Live Editor.

Cambiar el formato de archivo predeterminado de los scripts en vivo

De manera predeterminada, los scripts en vivo nuevos se guardan con el formato de archivo de código en vivo binario (.mlx). Para hacer predeterminado el formato de archivo de código en vivo de texto sin formato para los scripts en vivo, vaya a la pestaña Home y, en la sección Environment, haga clic en Settings. Seleccione MATLAB > Editor/Debugger y, en la sección Live script format, seleccione M como Default live script file format.

Estructura de los archivos de código en vivo de texto sin formato

Live Editor utiliza marcado personalizado para guardar texto con formato, salidas generadas, controles interactivos y tareas como texto sin formato. Live Editor guarda el marcado personalizado en dos sitios dentro del archivo del script en vivo:

  • Junto al código como marcado en línea.

  • Al final del archivo en un apéndice.

Por ejemplo, suponga que tiene un script en vivo, fahrenheitconverter.m, que ha guardado en formato de archivo de código en vivo de texto sin formato. De manera predeterminada, cuando abre fahrenheitconverter.m, el archivo se abre en Live Editor. Para abrir fahrenheitconverter.m como texto sin formato en el editor, haga clic con el botón secundario en el panel de archivos y seleccione Open as Text.

Observe que tanto en Live Editor como en el editor, el número de línea de la primera línea de código es 3. Esto se debe a que en los scripts en vivo guardados en formato de archivo de código en vivo de texto sin formato, cada línea de texto cuenta como una o más líneas de código en el archivo guardado. Además, dado que las líneas de texto se guardan como comentarios del código en el archivo, no se puede insertar texto entre instrucciones que abarcan varias líneas de código.

Side-by-side comparison of a plain text Live Code file (.m) open in the Live Editor and in the Editor. In the Live Editor, the file appears with formatted text, code, and output. In the Editor, the file appears as plain text with code and commented markup.

Marcado en línea

Live Editor utiliza marcado en línea para guardar elementos de texto, como texto con formato, tablas, ecuaciones e hipervínculos. Por ejemplo, este script en vivo contiene marcado para una línea de título y una línea de texto normal.

Live script saved using the plain text Live Code file format (.m) open as plain text in the Editor, with the inline markup for the title and first paragraph on lines 1 and 2

Apéndice

Live Editor utiliza un apéndice al final del archivo para guardar grandes cantidades de datos que no se pueden guardar en línea y para guardar información del archivo que no está vinculada a un número de línea concreto. Por ejemplo, este script en vivo contiene un apéndice con marcado que guarda la vista actual del script en vivo, así como las dos salidas que crea el script en vivo.

Live script saved using the plain text Live Code file format (.m) open as plain text in the Editor, with the appendix at the end of the file

ID de referencia

En funciones que requieren marcado adicional, Live Editor utiliza marcado en línea con un ID de referencia para guardar información básica en línea sobre características y vincularla a marcado adicional del apéndice. Al fusionar scripts en vivo que contengan diferencias en los ID de referencia, asegúrese de que el ID de referencia en línea y el ID de referencia del apéndice coincidan en el resultado fusionado.

Live script saved using the plain text Live Code file format (.m) open as plain text in the Editor, with matching output reference IDs in the inline markup and the appendix

Detalles del marcado

En los scripts en vivo guardados con formato de archivo de código en vivo de texto sin formato, Live Editor guarda el marcado personalizado como comentarios. En general, Live Editor utiliza Markdown para guardar elementos de texto, como texto con formato, tablas, imágenes e hipervínculos, y comandos LaTeX para guardar ecuaciones.

Esta tabla proporciona más información sobre el marcado personalizado que se utiliza en el formato de archivo de código en vivo de texto sin formato (.m).

Tipo de marcadoSintaxis de marcado

Texto con formato

El texto se guarda en línea usando el marcado %[text]. El marcado dentro de la línea especifica el formato.

%[text] This is basic text
%[text] # This is a title
%[text] ## This is a header
%[text] This is **bold**, *italic*, `monospace`, and <u>underlined</u>
%[text]{"align":"center"} This block of text is center aligned

Tabla de contenido

La tabla de contenido se guarda en línea usando el marcado %[text:tableOfContents].

%[text:tableOfContents]{"heading": "Table of Contents"}

Ejemplo de código

Los ejemplos de código se guardan en línea usando el marcado %[text].

Ejemplo de código sin formato:

%[text] ```
%[text] x = 1;
%[text] y = "hello";
%[text] ```

Ejemplo de código de MATLAB:

%[text] ```matlabCodeExample
%[text] x = 1;
%[text] y = "hello";
%[text] ```

Tabla

Las tablas se guardan en línea usando el marcado %[text:table].

%[text:table]
%[text] | abc | def |
%[text] | --- | --- |
%[text] | 123 | 456 |
%[text:table]
Imagen

Las imágenes se guardan tanto en línea como en el apéndice.

Sintaxis en línea:

%[text] this image: ![alt text](text:image:imageid)

Sintaxis en el apéndice:

%[text:image:imageid]
%   data: { ... }
%---

Hipervínculo

Los hipervínculos se guardan en línea usando el marcado %[text].

%[text] web page: [MathWorks Website](https://mathworks.com)  
%[text] file: [Duck Duck Go](/path/to/file.txt)
Ecuación

Las ecuaciones se guardan como comandos LaTeX en línea usando el marcado %[text].

%[text] $x = 4^2${"altText": "equation alt text"}
Salida

La salida se guarda usando el marcado %[output] tanto en línea como al final del archivo en el apéndice.

Sintaxis en línea:

%[output:outputid]

Sintaxis en el apéndice:

%[output:outputid]
%   data: { ... }
%---

Control

Los controles se guardan usando el marcado %[control] tanto en línea como en el apéndice. El marcado {"position":[start,end]} define la posición inicial y la posición final del control dentro de la línea de código.

Sintaxis en línea:

%[control:controltype:controlid]{"position":[14,16]}

Sintaxis en el apéndice:

%[control:controltype:controlid]
%   data: { ... }
%---

Tarea de Live Editor

Las tareas de Live Editor se guardan usando el marcado %[task] tanto en línea junto a cada línea de código de tarea como en el apéndice.

Sintaxis en línea:

%[task:taskid]

Sintaxis en el apéndice:

%[task:taskid]
%   data: { ... }
%---

Vista de scripts en vivo

La vista actual del script en vivo se guarda usando el marcado %[metadata] en el apéndice.

%[metadata:view]
%   data: {"layout":"inline","rightPanelPercent":40}
%---

Control de versiones

Al utilizar herramientas de control de versiones externas, puede comparar y fusionar scripts en vivo guardado con formato de archivo de código en vivo de texto sin formato (.m) directamente desde la herramienta. Los scripts en vivo guardados con formato de archivo de código en vivo binario (.mlx) solo se pueden comparar utilizando la herramienta de comparación de MATLAB.

Por ejemplo, en GitHub®, cuando añade un script en vivo guardado con formato de archivo de código en vivo de texto sin formato en un repositorio, puede observar las diferencias entre cada revisión del archivo.

Diff of two versions of a live script saved using the plain text Live Code file format (.m) in GitHub

Limitaciones del control de versiones y métodos alternativos

Algunas herramientas externas de control de versiones tienen limitaciones en lo que respecta a tamaños de archivo que pueden impedir que se comparen scripts en vivo guardados con formato de archivo de código en vivo de texto sin formato:

  • GitLab® y GitHub generan un error y no muestran las diferencias de un archivo si el archivo es demasiado grande.

  • Perforce® intenta mostrar las diferencias, pero podría dejar de responder si el archivo es demasiado grande. Para evitar que Perforce deje de responder, puede probar a deshabilitar la opción Show Inline Differences.

Para obtener los mejores resultados, pruebe a utilizar GitHub Desktop o Visual Studio Code. También puede reducir el tamaño del archivo deshabilitando el guardado de salidas en sus archivos. Para deshabilitar el guardado de salidas, vaya a la pestaña Home y, en la sección Environment, haga clic en > Settings. Seleccione MATLAB > Editor/Debugger > Saving y, en la sección Output Save Options, desmarque Save output to file. También puede borrar todas las salidas antes de enviar sus archivos al control de versiones.

Para obtener más información, consulte la documentación sobre su herramienta de control de versiones.

Consulte también

Temas