メインコンテンツ

ライブ コード ファイル形式 (.m)

R2025a 以降

R2025a 以降、ライブ エディターでは、既定のバイナリのライブ コード ファイル形式 (.mlx) の代わりに、ライブ スクリプト用の新しいプレーン テキストのライブ コード ファイル形式 (.m) がサポートされています。プレーン テキスト形式は、標準の MATLAB® コード ファイル形式 (.m) に基づいており、出力、書式設定されたテキスト、対話型コントロール、タスクなど、すべてのライブ エディター機能をサポートします。この形式で保存されたライブ スクリプトはライブ エディターで開き、他のライブ スクリプトと同じように動作します。

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

プレーン テキストのライブ コード ファイル形式 (.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.

プレーン テキストとしてのライブ スクリプトの保存

プレーン テキストのライブ コード ファイル形式 (.m) を使用してライブ スクリプトを保存するには、次のようにします。

  1. [ライブ エディター] タブに移動し、[ファイル] セクションで [保存][名前を付けて保存] を選択します。

  2. ライブ スクリプトの名前を入力します。プレーン テキストのライブ コード ファイル形式を使用して既存のライブ スクリプトを保存する場合は、シャドウイングの問題を回避するために、元のファイル名とは異なる名前を入力します。

  3. [ファイルの種類] として [MATLAB ライブ コード ファイル (UTF-8) (*.m)] を選択します。

  4. [保存] をクリックします。

既定では、プレーン テキストのライブ コード ファイル形式 (.m) を使用して保存されたライブ スクリプトは、ライブ エディターで開きます。エディターでファイルをプレーン テキストとして開くには、[ファイル] パネルでファイルを右クリックし、[テキストとして開く] を選択します。

メモ

ライブ スクリプトをプレーン テキストとして編集すると、ライブ エディターで正しく開けなくなる可能性があります。

既定のライブ スクリプト ファイル形式の変更

既定では、新しいライブ スクリプトはバイナリのライブ コード ファイル形式 (.mlx) を使用して保存されます。プレーン テキストのライブ コード ファイル形式をライブ スクリプトの既定のファイル形式にするには、[ホーム] タブに移動し、[環境] セクションの [設定] をクリックします。[MATLAB][エディター/デバッガー] を選択し、[ライブ スクリプトの形式] セクションで [既定のライブ スクリプト ファイルの形式] として [M] を選択します。

プレーン テキストのライブ コード ファイルの構造

ライブ エディターは、カスタム マークアップを使用して、書式設定されたテキスト、生成された出力、対話型コントロール、およびタスクをプレーン テキストとして保存します。ライブ エディターは、カスタム マークアップをライブ スクリプト ファイル内の次の 2 つの場所に保存します。

  • インライン マークアップとしてコードと一緒の場所

  • ファイル下部の付録内の場所

たとえば、プレーン テキストのライブ コード ファイル形式を使用して保存されたライブ スクリプト fahrenheitconverter.m があるとします。既定では、fahrenheitconverter.m を開くと、ファイルはライブ エディターで開きます。エディターで fahrenheitconverter.m をプレーン テキストとして開くには、[ファイル] パネルでファイルを右クリックし、[テキストとして開く] を選択します。

ライブ エディターとエディターの両方で、最初のコード行の行番号が 3 であることに注意してください。その理由は、プレーン テキストのライブ コード ファイル形式を使用して保存されたライブ スクリプトでは、テキストの各行が、保存されたファイル内の 1 行以上のコード行に相当するためです。また、テキスト行はファイル内にコード コメントとして保存されるため、複数のコード行にまたがるステートメント間にテキストを挿入することはサポートされていません。

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.

インライン マークアップ

ライブ エディターは、インライン マークアップを使用して、書式設定されたテキスト、テーブル、数式、ハイパーリンクなどのテキスト項目を保存します。たとえば、次のライブ スクリプトには、タイトル行と通常のテキスト行のマークアップが含まれています。

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

付録

ライブ エディターは、ファイルの末尾にある付録を使用して、インラインで保存できない大量のデータを保存したり、特定の行番号にリンクされていないファイル情報を保存したりします。たとえば、次のライブ スクリプトには、ライブ スクリプトの現在のビューと、ライブ スクリプトによって作成される 2 つの出力を保存するマークアップを含む付録が含まれています。

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

追加のマークアップが必要な機能の場合、ライブ エディターでは参照 ID とともにインライン マークアップを使用して、基本機能情報をインラインで保存し、付録内の追加のマークアップにリンクします。参照 ID が異なるライブ スクリプトをマージする場合は、マージされた結果でインライン参照 ID と付録内の参照 ID が一致していることを確認してください。

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

マークアップの詳細

プレーン テキストのライブ コード ファイル形式を使用して保存されたライブ スクリプトでは、ライブ エディターはカスタム マークアップをコメントとして保存します。一般に、ライブ エディターでは、書式設定されたテキスト、テーブル、イメージ、ハイパーリンクなどのテキスト項目の保存にはマークダウンを使用し、数式の保存には LaTeX コマンドを使用します。

次の表に、プレーン テキストのライブ コード ファイル形式 (.m) で使用されるカスタム マークアップに関する詳細情報を示します。

マークアップ タイプマークアップの構文

書式設定されたテキスト

テキストは、%[text] マークアップを使用してインラインで保存されます。行内のマークアップによって書式設定が指定されます。

%[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

目次

目次は、%[text:tableOfContents] マークアップを使用してインラインで保存されます。

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

コード例

コード例は、%[text] マークアップを使用してインラインで保存されます。

プレーン コード例:

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

MATLAB コード例:

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

テーブル

テーブルは、%[text:table] マークアップを使用してインラインで保存されます。

%[text:table]
%[text] | abc | def |
%[text] | --- | --- |
%[text] | 123 | 456 |
%[text:table]
イメージ

イメージは、インラインと付録の両方で保存されます。

インラインの構文:

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

付録の構文:

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

ハイパーリンク

ハイパーリンクは、%[text] マークアップを使用してインラインで保存されます。

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

数式は、%[text] マークアップを使用してインラインで LaTeX コマンドとして保存されます。

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

出力は、%[output] マークアップを使用して、インラインおよびファイル下部の付録の両方で保存されます。

インラインの構文:

%[output:outputid]

付録の構文:

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

コントロール

コントロールは、%[control] マークアップを使用して、インラインと付録の両方で保存されます。{"position":[start,end]} マークアップは、コード行内のコントロールの開始位置と終了位置を定義します。

インラインの構文:

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

付録の構文:

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

ライブ エディター タスク

ライブ エディター タスクは、%[task] マークアップを使用して、各タスク コード行の横のインラインと付録の両方で保存されます。

インラインの構文:

%[task:taskid]

付録の構文:

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

ライブ スクリプト ビュー

ライブ スクリプトの現在のビューは、%[metadata] マークアップを使用して、付録で保存されます。

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

ソース管理

外部ソース管理ツールを使用する場合、プレーン テキストのライブ コード ファイル形式 (.m) を使用して保存されたライブ スクリプトをツールから直接比較およびマージできます。バイナリのライブ コード ファイル形式 (.mlx) を使用して保存されたライブ スクリプトは、MATLAB 比較ツールでのみ比較できます。

たとえば、GitHub® では、プレーン テキストのライブ コード ファイル形式を使用して保存されたライブ スクリプトをリポジトリに追加すると、ファイルの各リビジョン間の差異を確認できます。

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

ソース管理の制限と回避策

一部の外部ソース管理ツールでは、ファイル サイズに関する制限があり、プレーン テキストのライブ コード ファイル形式を使用して保存されたライブ スクリプトの比較ができない場合があります。

  • ファイル サイズが大きすぎる場合、GitLab® および GitHub はエラーをスローし、ファイル内の差異を表示しません。

  • ファイル サイズが大きすぎる場合、Perforce® は差異を表示しようとしますが、応答しなくなる可能性があります。Perforce が応答しなくならないようにするために、[Show Inline Differences] オプションを無効にしてみてください。

最良の結果を得るには、GitHub Desktop または Visual Studio Code を使用します。また、ファイルへの出力の保存を無効にすることで、ファイル サイズを削減することもできます。出力の保存を無効にするには、[ホーム] タブに移動し、[環境] セクションの [設定] をクリックします。[MATLAB][エディター/デバッガー][保存] を選択し、[出力の保存オプション] セクションで [出力をファイルに保存] をクリアします。あるいは、ファイルをソース管理に送信する前に、すべての出力をクリアします。

詳細については、ご使用のソース管理ツールのドキュメンテーションを参照してください。

参考

トピック