Quantcast
Channel: ひしだまの変更履歴
Viewing all articles
Browse latest Browse all 262

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

$
0
0

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は「コンパイルしてどんなクラスが生成されるか」までは把握していないので、そこまで追うのはかなり無茶です…)


Viewing all articles
Browse latest Browse all 262

Trending Articles