MAXScript エディタ - MAXScript 固有の言語設定
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 cameramapspacewarp
|
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 は、構造体定義用です。
例:
|
meshops mouse dof cui camerafov xrefs
|
keywords10.<filepattern> (MAXScript default: set internally)
keywords10 は、予約済み定数グローバル用です。
例:
|
red pi true undefine dmeditmaterials x_axis
|
keywords11.<filepattern> (MAXScript default: set internally)
keywords11 は、予約済みグローバル用です。
例:
|
animationrange slidertimeb ackgroundcolor rootnode
|
keywords12.<filepattern> (MAXScript default: empty)
keywords12 は、カラー化するユーザ定義の単語用です。このリストのキーワードが最初にチェックされます。
ユーザ定義のキーワードとスタイルの生成例については、MAXScript エディタ - カスタム キーワードの定義 トピックを参照してください。
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
|
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 エディタ - カスタム キーワードの定義 トピックを参照してください。