TJS関連機能詳細

カラー強調表示

拡張子がtjsのファイルをエディタで開いたとき色つけを行います。
カラー強調表示部分はActionScriptのファイルをベースにしているので、一部のTJS特有の項目(たとえばオクテット列など)は色付けに対応していません。

色を変更する

色を変更する場合は以下の手順で行います。

1. メニュー→ツール(T)→シンタックスカラーリングの編集(S)
2. 左上コンボボックスで”Tjs”を選択
3. 左リストにある各項目を選択し、アイテムスタイルを変更

TJSに関する項目は以下の項目になります。

default 通常の文字色
number 数値
word 定数値(true, false, nullなどのtjs-secondary-keywordsとして定義されている文字列)
word2 クラス名
globalclass システム予約語(class, functionなどのtjs-primary-keywordsとして定義されている予約語)
string 文字列定数(””で囲まれた文字列)
character 文字定数(”で囲まれた文字)
regex 正規表現文字列(/ /で囲まれた文字列)
comment 複数行コメント(/* */で囲まれた文字列)
commentline 一行コメント(//以降の文字列)
commentdoc
複数行ASDoc形式
のコメント(/** */ または /*! */で囲まれた文字列)
commentlinedoc 1行ASDocコメント(/// または //! から始まる文字列)
commentdockeyword ASDocタグ(as-documentation-keywordsとして定義されている文字列)
commentdockeyworderror 未定義のASDocタグ
operator 演算子(=, +, ; など)(通常は未指定)
identifier 識別子(関数名、変数名などと認識されている文字列)(通常は未指定)
uuid 未使用
preprocessor 未使用
stringeol 未使用?
verbatim 未使用?

システム部分は以下の項目を変更してください。

gdefault 文字が存在しない場所の色(主に背景色を変更します)
linenumber 行番号(エディタの左側にある数値)
bracelight []などの隣にカーソルがあるときの表示色
indentguide インデントガイドの表示色

変更ファイルの保存場所

設定で変更したファイルは以下の場所に保存されています。
(FlashDevelop.exeの場所)\Settings\Languages\Tjs.xml

KKEFZにはこのファイルもデフォルト値として設定を行うため含まれています。
そのため、バージョンアップ時は上書きしますので、あらかじめバックアップをとっておき、KKEFZのバージョンアップ後に再度元に戻してください。
(ただし、バージョンアップ内容によっては互換性がなくなっていることがあります)

TJS入力補完

TJS入力補完は吉里吉里Zクラス(吉里吉里Zにネイティブ実装されているクラス)およびプロジェクト内の関数、クラス、メソッド、フィールド等に関して入力補完を行います。

自クラスメンバの補完
kkef_doc6_01

他クラスのクラスメソッドの補完
kkef_doc6_02

メソッドの引数の説明
kkef_doc6_03

クラス名の補完
kkef_doc6_04

JavaDoc形式の説明表示
kkef_doc6_05

変数からの補完

KKEFZでは変数および関数の戻り値が型指定されている場合に限り入力補完が行えます。
詳細はTJS2型指定対応についてを参照してください。

プロパティについて

TJSとAS2ではプロパティの書き方が大幅に異なります。

TJS:

propaty aaa 
{
    getter(){ return ""; }
    setter(v) { value = v; }
}

AS2:

function get aaa()
{
    return "";
}
function set aaa(v)
{
    value = v;
}

このためKKEFZでは以下のように動作しています。

・現在編集中のクラスに関しては “propaty” を “function get”に書き換える
・内部定義クラスに関してはプロパティ定義をfunction getで書く

このため、内部定義クラスは正しくプロパティの入力補完が行えますが、プロジェクト内のクラスについては現在編集中のクラスのプロパティみ入力補完が可能です。

また、プロパティ記述の際のインデントの自動入力が崩れますので、手動で変更してください。

globalについて

globalからの入力補完は行えません。
ただし今後対応を検討しています。

読み込み動作について

TJSでは別ファイルの関数・クラスを使用する場合はあらかじめ読み込み動作を行い必要がありますが、KKEFZではTJSファイルの読み込み動作の有無に関係なく関数やクラスがすでに読み込まれているものとみなしてすべて使用可能な状態となります。

たとえば、
TestClass.tjs:

class TestClass
{
    function show()
    {
        System.inform("TEST!");
    }
}

となっているとき、TestClassを使用する場合は使用する箇所より前の段階で
Scripts.execStorage(“TestClass.tjs”);
を行う必要がありますが、KKEFZではこの記述がなくても入力補完が可能です。(もちろん実行するとエラーになります。)