ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

DMDL EditorX機能紹介4:ジャンプ・改名

2015-12-18 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2015の18日目です。

拙作DMDL EditorXの機能紹介、次はジャンプ機能です。

DMDLでは、他のデータモデルを利用して定義を行うことが出来ます。
例えば以下の例だと、barはfooの項目に新たな項目を追加する形になります。

foo = {
    column1 : TEXT;
};

bar = foo + {
    column2 : TEXT;
};

このとき、使用しているデータモデル名(上記の例で下線が引いてある箇所)にカーソルを合わせてからF3キーを押すと、定義元のデータモデルにジャンプすることが出来ます。
もしくは、Ctrlキーを押しながらマウスでデータモデル名を左クリックすることでもジャンプできます。 

summarizedやjoinedのデータモデルでも同様のことが出来ます。

summarized sum = foo => {
    any column1 -> column1;
    count column1 -> count;
} % column1;

この場合、左側のプロパティー名にカーソルを合わせてF3キーを押すと、定義元のプロパティーにジャンプすることが出来ます。


もうひとつ、参照しているデータモデルではなく、データモデルを定義している側のデータモデル名からもF3キーやCtrl+左クリックでジャンプすることが出来ます。このジャンプ先は、DMDLをコンパイルして出来るデータモデルクラスです。
しかしデータモデルクラスを見てやりたい事や嬉しい事は特に何もないので、この機能は要らないかなーと思っています(苦笑)


参照しているデータモデルやプロパティーへの定義元へのジャンプ機能は、DMDL EditorXが利用しているXtextの機能です。
同様のXtextの機能として、データモデルやプロパティーの改名機能があります。

名前を右クリックしてコンテキストメニューを開き、「Rename Element」を選ぶと、名前を変更することが出来ます。このとき、その名前を参照している箇所があれば、それらも連動して変更されます。

ただし、DMDLをコンパイルして生成されるデータモデルクラス名やメソッド名等は改名されません。
(Eclipseの機能にクラス名やメソッド名の変更機能はあるので、それを利用すれば出来なくはないかもしれないですが、Xtextと連動させる方法がよく分からないので、やっていません。
 また、仮にそれは出来たとしても、テストデータのExcelファイルに書かれている名前やOperator内の@KeyやExporterのorder等も変えたくなりそうで、関係している箇所を挙げていくだけでもけっこう大変そうです。
 それらはまだしも、データモデル名を変えると、directio.csv等によって生成されるクラスの名前も変わります。DMDL EditorXは「コンパイルしてどんなクラスが生成されるか」までは把握していないので、そこまで追うのはかなり無茶です…)



最新の画像もっと見る

コメントを投稿