メインコンテンツ

設定へのプログラムによるアクセスと変更

MATLAB® および他の MathWorks® 製品には、ツールの外観と動作をカスタマイズするためのさまざまな設定が用意されています。settings 関数を使用して、これらの設定にプログラムによってアクセスし、変更できます。

プログラムによって変更できる個々の設定に関するドキュメンテーションについては、システム コマンドの「設定」セクションを参照してください。

設定へのプログラムによるアクセス

設定は、設定グループのツリーベース階層構造に、製品単位で整理されます。ツリーの最上部には root 設定グループ オブジェクトがあります。root オブジェクトの直下には、製品設定グループがあります。各製品設定グループには、固有の設定の階層構造があります。設定ツリーのリーフ ノードを設定といいます。

Settings tree hierarchy. At the top of the tree is the root node with two child nodes, matlab and another node labeled with three dots. The matlab node has three child nodes: general, editor, and another node labeled with three dots.

設定にプログラムによってアクセスするには、settings 関数を使用して、設定ツリーのルートを取得します。

s = settings;
ドット表記を使用して、ツリーの設定グループと設定にアクセスします。たとえば、MATLAB 内の設定グループのリストを表示します。
s.matlab
ans = 

  SettingsGroup 'matlab' with properties:

               fonts: [1×1 SettingsGroup]
             general: [1×1 SettingsGroup]
              colors: [1×1 SettingsGroup]
         appdesigner: [1×1 SettingsGroup]
          appearance: [1×1 SettingsGroup]
     programmingAids: [1×1 SettingsGroup]
            keyboard: [1×1 SettingsGroup]
       commandwindow: [1×1 SettingsGroup]
        codeanalyzer: [1×1 SettingsGroup]
              editor: [1×1 SettingsGroup]
    toolboxpathcache: [1×1 SettingsGroup]
設定の現在値を取得するには、ドット表記を使用して親設定グループを含む設定名全体を入力します。たとえば、MATLAB のコメントにおける最大列幅の値のリストを取得します。
s.matlab.editor.language.matlab.comments.MaxWidth
ans = 

 Setting 'matlab.editor.language.matlab.comments.MaxWidth' with properties:

       ActiveValue: 75
    TemporaryValue: <no value>
     PersonalValue: <no value>
 InstallationValue: <no value>
      FactoryValue: 75

プログラムによる設定の変更

設定には次の 5 つの値のタイプがあります。

  • アクティブな値 — 設定の現在の値です。

  • 一時的な値 — 現在の MATLAB セッションにのみ適用され、セッション終了時にクリアされます。

  • 個人用の値 — 個人ユーザーの複数の MATLAB セッションにまたがって保持されます。この値は、変更すると、設定フォルダーに保存されます。

  • インストールの値 — 特定の MATLAB インストールを使用するすべてのユーザーに適用されます。この値は複数のセッションをまたいで保持され、MATLAB ルートに保存されますが、新しいリリースの MATLAB へのアップグレード時には移行されません。 (R2022a 以降)

  • 出荷時の値 — 設定の既定値です。

アクティブな値は、一時的な値、個人用の値、インストールの値、出荷時の値の順に定義された最初の設定によって決定されます。

たとえば、設定 MySetting の一時的な値が 12、出荷時の値が 10 で、個人用の値とインストールの値はないとします。この場合、MySetting のアクティブな値は、一時的な値 12 です。

設定のアクティブな値をプログラムによって変更するには、設定の一時的な値または個人用の値を設定します。たとえば、MATLAB におけるコメントの最大列幅の一時的な値を 80 に設定します。MATLAB は、現在の MATLAB セッションの終了時にこの一時的な値をクリアします。

s.matlab.editor.language.matlab.comments.MaxWidth.TemporaryValue = 80;
s.matlab.editor.language.matlab.comments.MaxWidth
ans = 

 Setting 'matlab.editor.language.matlab.comments.MaxWidth' with properties:

       ActiveValue: 80
    TemporaryValue: 80
     PersonalValue: <no value>
 InstallationValue: <no value>
      FactoryValue: 75

既定値に戻す

設定の値を出荷時の値またはインストールの値 (インストールの値が定義されている場合) に戻すには、関数 clearTemporaryValue と関数 clearPersonalValue を使用して、設定の一時的な値と個人用の値をクリアします。たとえば、MATLAB におけるコメントの最大列幅の一時的な値をクリアします。値をクリアする前に、関数 hasTemporaryValue を使用して、値が存在するかどうかをチェックしてください。個人用の設定値が定義されていないため、出荷時の値がアクティブな値になります。

if (hasTemporaryValue(s.matlab.editor.language.matlab.comments.MaxWidth))
    clearTemporaryValue(s.matlab.editor.language.matlab.comments.MaxWidth)    
end

s.matlab.editor.language.matlab.comments.MaxWidth
ans = 

 Setting 'matlab.editor.language.matlab.comments.MaxWidth' with properties:

       ActiveValue: 75
    TemporaryValue: <no value>
     PersonalValue: <no value>
 InstallationValue: <no value>
      FactoryValue: 75

[設定] ウィンドウを使用した設定の変更

[設定] ウィンドウを使用して、一部の設定を対話的に変更できます。[設定] ウィンドウを使用して設定の値を変更すると、MATLAB により、設定の個人用の値が設定され、設定の一時的な値がクリアされます。設定の一時的な値または個人用の値をプログラムによって変更すると、設定の新しいアクティブな値が [設定] ウィンドウに反映されます。

参考

関数

ツール

トピック