ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

コードの可読性の向上

コードのインデント

コードをインデントすると、while ループなどのステートメントが読みやすくなります。エディターでインデントを設定して、これをコードに適用するには、以下の手順に従います。

  1. [ホーム] タブの [環境] セクションで [設定] をクリックします。

    [設定] ダイアログ ボックスが開きます。

  2. [MATLAB][エディター/デバッガー][言語] を選択します。

  3. [言語] ドロップダウン リストからコンピューター言語を選択します。

  4. [インデント処理] セクションで、入力するときにインデントを自動的に適用するかどうかによって、[入力中にコメントを自動的に折り返す] をオフまたはオンにします。ライブ エディターではスマート インデントが常に自動的に適用されます。

    このオプションをオフにすると、エディター内のインデント対象の行を選択して、右クリックし、コンテキスト メニューから [スマートインデント] を選択することでインデントを手動で適用できます。

  5. 次のいずれかを行います。

    • 手順 2 で [MATLAB] 以外の言語を選択した場合は、[OK] をクリックします。

    • 手順 2 で [MATLAB] を選択した場合、[関数のインデント書式] を選択してから [OK] をクリックします。関数インデント形式には次のものがあります。

      • クラシック — エディターは、関数コードを関数宣言に合わせて整列します。

      • 入れ子関数のインデント — エディターは入れ子関数内の関数コードをインデントします。

      • すべての関数のインデント — エディターはメイン関数と入れ子関数内の関数コードをインデントします。

    次の図は、関数のインデント書式を示しています。

メモ

TLC、VHDL または Verilog では、インデントの設定がサポートされず、MATLAB® Online™ では使用できません。

インデントを自動にするか手動にするかに関係なく、次のいずれかを行うことで、選択した行を右または左にさらに移動できます。

  • [エディター] タブの [編集] セクションで、 または をクリックする。ライブ スクリプトおよびライブ関数では、[ライブ エディター] タブの [コード] セクションにこの機能があります。

  • Tab キーまたは Shift + Tab キーのいずれかを押す。

    この動作は、エディター/デバッガーの [タブ] 設定で [Emacs 形式の Tab キー スマート インデント] の設定を選択した場合には異なります。カーソルを任意の行に置くか複数行を選択し、Tab キーを押すとスマート インデントの手順に従って行がインデントされます。

テキスト右端の制限インジケーター

既定の設定では薄いグレーの縦線 (罫) がエディターの 75 列目に表示され、行の 75 文字を超える位置を示しています。このテキストの制限インジケーターは、異なる行幅制限のある別のテキスト エディターでコードを表示する場合などには、別の値に設定すると便利です。テキスト右端の制限インジケーターは、ライブ エディターまたは MATLAB Online ではサポートされません。

垂直線を非表示にしたり、その外観を変更するには、次のようにします。

  1. [ホーム] タブの [環境] セクションで [設定] をクリックします。

    [設定] ダイアログ ボックスが開きます。

  2. [MATLAB][エディター/デバッガー][表示] を選択します。

  3. [テキスト右端の制限] セクションの設定を調整します。

メモ

この制限は表示のみに影響を与え、テキストが制限した値を超えないようにするものではありません。指定した列数でコメント テキストを自動的に折り返すには、[設定] ダイアログ ボックスの [MATLAB][エディター/デバッガー][言語] の下にある [コメント書式] セクションで設定を調整します。

コードの折り畳み — コードの構成の展開と折り畳み

コードの折り畳みは、MATLAB ファイル プログラミング構成を展開したり折りたたんだりする機能です。この機能は、ファイルに多くの関数やコード ブロックが含まれている場合に現在作業していない部分を非表示にできるので、可読性が向上します。MATLAB プログラミング構成には、以下のものがあります。

  • コードを実行、パブリッシュするコード セクション

  • クラスのコード

  • for ブロックと parfor ブロック

  • 関数とクラスのヘルプ

  • 関数のコード

構成のリスト全体を確認するには、[設定] ダイアログ ボックスで [エディター/デバッガー][コードの折り畳み] を選択します。

コードの展開または折り畳みを行うには、エディターの構成の左側に表示されるプラス記号 またはマイナス記号 をクリックします。Ctrl+Shift+. (ピリオド) または Ctrl+. (ピリオド) を押しても可能です。

ファイル内のすべてのコードを展開または折りたたむには、ファイル内の任意の場所にカーソルを置き、右クリックしてコンテキスト メニューから [コードの折り畳み]、[すべて展開] または [コードの折り畳み]、[すべて折りたたむ] を選択します。Ctrl+Shift+= または Ctrl+= を押しても可能です。

メモ

コードの折り畳みはライブ エディターではサポートされていません。

ツールヒントに折り畳みコードを表示する

現在折りたたまれているコードは、省略アイコン の上にポインターを置くと表示できます。コードはツールヒントに表示されます。

次のイメージは、for ループが折りたたまれているときに、lenghtofline.m の 23 行目にある省略アイコン上にポインターを置くと表示されるツールヒントを示します。

折りたたまれたコードが含まれたファイルの印刷

1 つまたは複数の折りたたまれた構成をもつファイルを印刷すると、これらの構成は展開されて印刷されます。

明示的な終了ステートメントがない関数に対するコード折り畳み操作

関数のコードの折り畳みを有効にし、コード内の関数が明示的な end ステートメントで終わらない場合は、次のような動作になります。

  • コメントだけを含む行がそのような関数の終わりにある場合は、関数を折りたたむときにその行は含まれません。MATLAB は、明示的な end ステートメントがない関数定義の末尾の空白とコメントを含めません。

    関数コードのみのコード折り畳みを有効にするは、この動作を説明しています。13 行目は関数 foo の折り畳みから除外されています。

  • 関数コードとコード セクションの折り畳みがオーバーラップする場合、オーバーラップしているセクションの方の折り畳みはエディターで表示されません。

    次の 3 つの図で、この動作について説明します。最初の 2 つの図は、関数コードのみのコード折り畳みを有効にするが関数コードのみ、セクションのみのコード折り畳みを有効にするがセクションのみにコードの折り畳みを有効にしたときに、それぞれどのように表示されるかを示しています。最後の図、関数とセクションの両方のコード折り畳みを有効にするは、両方にコードの折り畳みを有効にしたときの影響を示しています。セクション 3 (11 ~ 13 行) の折り畳みは関数 foo (4 ~ 12 行) の折り畳みとオーバーラップするため、セクション 3 の折り畳みは表示されません。

関数コードのみのコード折り畳みを有効にする

セクションのみのコード折り畳みを有効にする

関数とセクションの両方のコード折り畳みを有効にする

コード リファクタリング — 選択したコードの関数への自動変換

ライブ エディターで、選択した範囲のコードを関数やローカル関数に自動的に変換することにより、大きいライブ スクリプトや関数を小さく分割することができます。これはコード "リファクタリング" と呼ばれます。

選択した範囲のコードをリファクタリングするには、次の手順に従います。

  1. コードを 1 行または複数行選択します。

  2. [ライブ エディター] タブの [コード] セクションで、 [リファクター] をクリックし、利用可能なオプションから選択します。

  3. 新しい関数の名前を入力します。MATLAB は選択したコードを使用して関数を作成し、元のコードを新たに作成した関数への呼び出しに置き換えます。

MATLAB Online のエディターではリファクタリングも使用できます。選択した範囲のコードをリファクタリングするには、MATLAB Online エディターの [エディター] タブの [編集] セクションで、[コード リファクタリング] ボタンをクリックします。次に、利用可能なオプションから選択します。