3ds Max 2008 で導入されたタブ付きの MAXScript エディタ のMAXScript 固有の言語設定は、ファイル MAXScript.properties を編集することによりカスタマイズできます。このファイルは、3ds Max ルート フォルダにあります。
ユーザ アカウント制御(UAC)が有効になっている Vista や Windows 7 のような新しい Windows OS では、3ds Max のルート フォルダ内のファイルに保存されている既定を変更することはできません。この場合、関連する設定を(エディタのツール メニューからも利用可能な)ユーザ オプション ファイルにコピーすることによりカスタム オーバーライドを行うことができます。
lexer.<filepattern> (MAXScript default: see below)
レキサーは、ファイルを構文要素に分割します。これにより、エディタは、これらの要素をそれぞれ異なる表示スタイルで表示できます。
レキサーは、複数使用できます。
通常は、いくつかのファイル拡張子 (.ms、.mcr) を 1 つの言語 (MAXScript) にマップし、1 つのレキサーを使用できるようにします。
これらの設定によりファイル名とレキサーが関連付けられます。
MAXScript.properties ファイルでの MAXScript の既定値の設定
lexer.$(file.patterns.MAXScript)=MAXScript
lexerpath.<filepattern> (MAXScript default: not set)
このプロパティは、エディタにロードされる外部レキサー モジュールのパスを指定します。
keywords.<filepattern> (MAXScript default: set internally)
keywords は、キーワード用です。
例:
and animate attributes by collect else exit for from function rollout struct set then
keywords2.<filepattern> (MAXScript default: set internally)
keywords2 は、ロールアウト制御用です。
例:
label button edittext combobox
keywords3.<filepattern> (MAXScript default: set internally)
例:
displaycontroldialog skipspace readfloat
keywords4.<filepattern> (MAXScript default: set internally)
keywords4 は、MAXScript クラス用です。
例:
maxtvutility moflow trackviewpick array matrix3 integer
keywords5.<filepattern> (MAXScript default: set internally)
keywords5 は、MAX クラス用です。
例:
box ffd_2x2x2 cameramap spacewarp
keywords6.<filepattern> (MAXScript default: set internally)
keywords6 は、MAX スーパークラス用です。
keywords10.<filepattern> (MAXScript default: set internally)
例:
camera shape colorpicker soundclass texturemap
keywords7.<filepattern> (MAXScript default: set internally)
keywords7 は、コア インタフェース用です。
例:
assemblymgr channelinfo iparserloader trackselectionsets pluginmanager
keywords8.<filepattern> (MAXScript default: set internally)
keywords8 は、オブジェクト セット用です。
例:
objects geometry lights cameras helpers shapes systems spacewarps selection
keywords9.<filepattern> (MAXScript default: set internally)
keywords9 は、次に示す内部の MAXScript 構造定義に使用します。
例:
meshops mouse dof cui camerafov xrefs
keywords10.<filepattern> (MAXScript default: set internally)
keywords10 は、予約済み定数グローバル用です。
例:
red pi true undefined meditmaterials x_axis
keywords11.<filepattern> (MAXScript default: set internally)
keywords11 は、予約済みグローバル用です。
例:
animationrange slidertime backgroundcolor rootnode
keywords12.<filepattern> (MAXScript default: empty)
keywords12 は、カラー化するユーザ定義の単語用です。このリストのキーワードが最初にチェックされます。
ユーザ定義のキーワードとスタイルの生成例については、MAXScript エディタ - カスタム キーワードの定義 トピックを参照してください。
keywords13.<filepattern> (MAXScript default: set internally)
keywords13 は、内部の MAXScript 構造定義および FPS のプロパティに使用します。
例:
IsolateSelection.zoomExtents TCBDefaultParams.easeFrom
keywordclass.<lexer> (MAXScript default: not set)
レキサーのほとんどは、キーワード変数を使用して、名前とキーワードを区別します。
1 つの言語に複数のファイル拡張子が使用されている場合、キーワード リストをファイル拡張子ごとに繰り返すのを避けるため、配布されたプロパティ ファイル内で keywordclass 変数を定義します。ただし、これは従来の技法です。
一部のレキサーは、1 つ目のキーワード セットとは異なるスタイルで表示される、第 2 のキーワード セットを定義します。これは HTML レキサーで使用され、JavaScript キーワードを HTML タグおよびアトリビュートと異なるスタイルで表示する目的で使用されます。
キーワードはプレフィックスをベースに指定することができ、^GTK_ と指定すると、GTK_ で開始するすべての単語をキーワードとして処理します。
default.file.ext (MAXScript default: .ms)
ファイルに名前を付ける前に使用する言語モードを定義します。たとえば、default.file.ext=.ms
とした場合、[新規] (New)コマンドを使用して新しいファイルを作成すると、MAXScript 構文スタイルが使用されます。
word.characters.<filepattern> (MAXScript default: see below)
どの文字を単語の一部とするかを定義します。
ここでの既定値は、すべてのアルファベットと数字、およびアンダースコアです。これは、ほとんどの言語で妥当な値です。
MAXScript.properties に含まれている出荷時の既定の定義:
word.characters.$(file.patterns.text)=$(chars.alpha)$(chars.numeric)$(chars.accented)-'
whitespace.characters.<filepattern> (MAXScript default: not set)
空白とみなす文字を定義します。
既定値は、スペースおよび 0x20 より小さいすべての文字です。
これを適切に設定すると、カーソル操作などのアクティビティ ([Ctrl]+左/右) の際に、エディタが他の文字を空白 (句読点など) として認識するようにできます。
style.*.<stylenumber> (MAXScript default: not set)
style.<lexer>.<stylenumber> (MAXScript default: see below)
レキサーは、キーワード、コメント、数字などの各字句タイプに対してスタイル番号を決定します。これらの設定により、各レキサーの各スタイル番号で使用される表示スタイルが決まります。
各設定の値は「,」で区切られたフィールドのセットで、これらのフィールドの中には「:」の後にサブ値を持つものもあります。
フィールドは font、size、fore、back、italics、notitalics、bold、notbold、eolfilled、noteolfilled、underlined、notunderlined、および case です。font フィールドには、フォント名のサブ値があります。
fore および back にはカラー サブ値があります。size フィールドには、数値サイズ サブ値があります。case フィールドにはサブ値「m」、「u」、および「l」があります (それぞれ、混合(mixed)、大文字(upper)、小文字(lower)を表します)。bold、italics、eolfilled フィールドにはサブ値はありません。
値「fore:#FF0000,font:Courier,size:14」は、14 ポイント、赤の Courier テキストを表します。
グローバル スタイルは、*. stylenumber
.
グローバル スタイルに設定されたスタイル オプションはすべて、上書きされない限り、各レキサー スタイルに継承されます。
ファイル MAXScript.properties に設定されている既定値のプロパティと値
# Default style.MAXScript.32=$(font.base) # White space style.MAXScript.0=fore:#808080 # Comment: /* */. style.MAXScript.1=$(colour.code.comment.box),$(font.code.comment.box) # Line Comment: --. style.MAXScript.2=$(colour.code.comment.line),$(font.code.comment.line),eolfilled # Number style.MAXScript.3=$(colour.number) # String style.MAXScript.4=$(colour.string) # Verbatim strings style.MAXScript.5=fore:#007F00,$(font.monospace),back:#E0FFE0,eolfilled # End of line where string is not closed style.MAXScript.6=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled # Identifiers style.MAXScript.7= # Operators style.MAXScript.8=$(colour.operator),bold # Keyword arg name style.MAXScript.9=fore:#804080 # Name value style.MAXScript.10=$(colour.char) # Pathname style.MAXScript.11=fore:#3F7F3F,$(font.monospace),back:#E0F0FF # Keywords1 - Keywords style.MAXScript.12=$(colour.keyword),bold # Keywords2 - Rollout controls style.MAXScript.13=$(colour.preproc),bold # Keywords3 - Functions style.MAXScript.14=fore:#3060A0 # Keywords4 - MXS Classes style.MAXScript.15=fore:#6030A0 # Keywords5 - MAXClasses style.MAXScript.16=fore:#60A030 # Keywords6 - MAXSuperClasses style.MAXScript.17=fore:#0040B0 # Keywords7 - Core interfaces style.MAXScript.18=fore:#00B040,italics # Keywords8 - Object sets style.MAXScript.19=fore:#D0B080,italics # Keywords9 - StructDefs style.MAXScript.20=fore:#804020,italics # Keywords10 - Const reserved globals style.MAXScript.21=fore:#3060A0,italics # Keywords11 - Reserved globals style.MAXScript.22=fore:#B00040 # Keywords12 - User defined style.MAXScript.23=fore:#FF0000,bold,italics # Keywords13 - structure and FPS properties style.MAXScript.24=fore:#000080,italics
style.<lexer>.32 (MAXScript default:see below)
style.<lexer>.33 (MAXScript default:see below)
style.<lexer>.34 (MAXScript default:see below)
style.<lexer>.35 (MAXScript default:see below)
style.<lexer>.36 (MAXScript default:see below)
style.<lexer>.37 (MAXScript default:see below)
レキサーによって生成されるスタイルのほかに、以下の番号が付いたスタイルが使用されます。
32 - 既定値のスタイル。この機能は、上書きされない限りその他のすべてのスタイルによって継承されます。
33 -- マージンに行番号を表示します。
34 および 35 - それぞれ対応する大括弧、対応しない大括弧を表示するのに使用されます。
36 - 制御文字を表示するのに使用されます。 制御文字の前景カラーおよび背景カラーは、このスタイルではなく、それぞれの字句状態によって決まるため、これは完全なスタイルではありません。
37 - インデント ガイドを表示するのに使用されます。 fore フィールドと back フィールドだけが使用されます。
レキサーの代わりに * を使用して、グローバル スタイル設定を示すこともできます。
ファイル MXS_Editor.properties に設定されている既定のプロパティと値:
# Global default styles for all languages # Default style.*.32=$(font.base) # Line number style.*.33=back:#C0C0C0,$(font.small) # Brace highlight style.*.34=fore:#0000FF,bold # Brace incomplete highlight style.*.35=fore:#FF0000,bold # Control characters style.*.36= # Indentation guides style.*.37=fore:#C0C0C0,back:#FFFFFF
カスタム カラー スキームの例については、MAXScript エディタ - 構文カラー カスタム キーワードの定義を参照してください。
Keywords12 または style.MAXScript.23 によってユーザ定義のキーワードを生成する例については、MAXScript エディタ - カスタム キーワードの定義 トピックを参照してください。
autocomplete.MAXScript.ignorecase (MAXScript default: 1)
1 に設定すると、API ファイルで推定入力リストの要素を検索するときに大文字と小文字が区別されなくなります。
その他の場合は、大文字小文字まで一致する要素だけが検索されます。
autocomplete.MAXScript.start.characters (MAXScript default: $(chars.alpha)$(chars.numeric)_#. )
固有の設定がない場合は、* 形式が使用されます。
既定の設定では、すべての英数字、および特殊文字(_、#、.)に対してオートコンプリートがトリガされます。
autocomplete.MAXScript.useautogeneratedapi (MAXScript default: 1)
エディタが MAXScript に対して、3ds Max の起動時に自動生成された API キーワード ファイルを使用する必要があるかどうかを示します。MAXScript_Editor.properties で指定された API ファイルだけでなく、この設定も使用されます。
MAXScript でオートコンプリートを無効にするには、この設定値を 0 にします。