Asakusa Framework Advent Calendar 2015の19日目です。
拙作DMDL EditorXの機能紹介、今日はクリップボードへのコピー機能です。
DMDLのエディター上で適当に文字列を選択してCtrl+Cを押すと、クリップボードに文字列がコピーされます。
あるいは、文字列を右クリックしてコンテキストメニューを開き、「Copy」を実行することでもコピーできます。
はい、これは完全にXtextの機能で、自分は何もコーディングしていませんw
コンテキストメニューには「Copy Qualified Name」というメニューもあります。
データモデル名やプロパティー名を選択してこのメニューを実行すると、修飾名がクリップボードにコピーされます。修飾名とは、データモデルの場合は単なるデータモデル名ですが、プロパティーの場合は「モデル名.
プロパティー名」という文字列になります。
はい、これもXtextの機能です。
コンテキストメニューの「Copy Qualified Name」の下に「Copy Java Name」というメニューがあります。
データモデル名やプロパティー名を選択してこのメニューを実行すると、モデル名やプロパティー名がキャメルケース(CamelCase)になってクリップボードにコピーされます。
つまり、クラス名あるいはゲッター/セッターメソッド名として使う目的でJavaソースに貼り付ける場合、ちょっと便利ということですw
Eclipseの右側(自分が使っている環境の場合)に表示されるアウトラインページからも、クリップボードにコピーすることが出来ます。
Ctrl+Cは使えませんが、データモデルやプロパティーを選択して右クリックすることにより、コンテキストメニューが開きます。
「Copy Qualified Name」は修飾名をコピーします。
「Copy Names」は今日作った機能(笑)で、データモデルやプロパティーに関して以下のようなデータをクリップボードにコピーできます。
- Simple Name
- データモデル名やプロパティー名
- Java Name
- データモデル名やプロパティー名のCamelCase
- Description
- データモデルやプロパティーの説明(DMDL定義上、ダブルクォーテーションで囲まれている部分)
- DataType
- プロパティーのデータ型(データモデルの場合は空文字列)
- Name,Description
- データモデル名・プロパティー名と、説明
- Name,Desc,Type
- データモデル名・プロパティー名と、説明と、データ型
「Copy Names」には、「Copy Names (vertical)」と「Copy Names (horizon)」があります。
複数のデータモデルやプロパティーを選択しているとき、縦に並ぶ(改行区切り)か、横に並ぶ(タブ区切り)かが異なります。
(つまり、Excelへ貼り付けやすいようにしてあるという事ですw)
なお、コピーする内容が無かった場合(例えばDescriptionを指定したが、DMDLに説明が記述されていなかった場合)(あるいは空文字列の場合)は、クリップボードの内容は変化しません。
こういう場合はクリップボードがクリアされた方が良いような気がするのですが、例によってXtextの挙動がこのようになっているので、そのままにしてあります。
※コメント投稿者のブログIDはブログ作成者のみに通知されます