{"id":19439330,"url":"https://github.com/hishidama/xtext-dmdl-editor","last_synced_at":"2026-05-13T13:35:30.700Z","repository":{"id":143243023,"uuid":"12217044","full_name":"hishidama/xtext-dmdl-editor","owner":"hishidama","description":"Asakusa Framework DMDLエディターEclipseプラグイン（Xtext版）","archived":false,"fork":false,"pushed_at":"2021-11-04T04:20:13.000Z","size":138562,"stargazers_count":3,"open_issues_count":8,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-25T07:23:03.055Z","etag":null,"topics":["asakusa-framework","eclipse-plugin","xtext"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hishidama.png","metadata":{"files":{"readme":"readme.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-08-19T13:15:17.000Z","updated_at":"2021-11-04T02:43:57.000Z","dependencies_parsed_at":"2023-07-21T15:17:21.251Z","dependency_job_id":null,"html_url":"https://github.com/hishidama/xtext-dmdl-editor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hishidama/xtext-dmdl-editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishidama%2Fxtext-dmdl-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishidama%2Fxtext-dmdl-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishidama%2Fxtext-dmdl-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishidama%2Fxtext-dmdl-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hishidama","download_url":"https://codeload.github.com/hishidama/xtext-dmdl-editor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishidama%2Fxtext-dmdl-editor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32985085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asakusa-framework","eclipse-plugin","xtext"],"created_at":"2024-11-10T15:22:35.017Z","updated_at":"2026-05-13T13:35:30.686Z","avatar_url":"https://github.com/hishidama.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"DMDL EditorX\n============\nDMDL EditorXは、\n`Xtext \u003chttp://www.ne.jp/asahi/hishidama/home/tech/eclipse/xtext/index.html\u003e`_ で作成している、\n`Asakusa Framework \u003chttp://www.ne.jp/asahi/hishidama/home/tech/asakusafw/index.html\u003e`_ のDMDLエディター（Eclipseプラグイン）です。\n\n\nインストール方法\n----------------\nXtextのインストールされたEclipseが必要です。\n`Xtextのダウンロードサイト \u003chttp://www.eclipse.org/Xtext/download.html\u003e`_ の ``Full Eclipse`` を使うか、\n既存のEclipseに ``Xtext`` （2.4.2以降）をインストールしてください。\n\nDMDL EditorXプラグインのインストールは、Eclipseの ``[新規ソフトウェアのインストール]`` で\n更新サイトとして http://hishidama.github.io/xtext-dmdl-editor/site/ を指定して下さい。\n\n\n出来ること\n----------\n詳細は `DMDL EditorXの説明サイト \u003chttp://www.ne.jp/asahi/hishidama/home/tech/soft/asakusafw/dmdl-editor/index.html\u003e`_ を参照して下さい。\n\n* キーワードに色が付く。\n     * 色は設定で変更できる。\n* カーソル位置の括弧に対して、対応する括弧が（うっすらと）強調表示される。\n* フォールディング（ソース上のブロックを閉じること）が出来る。\n* アウトラインが表示される。\n    * ``Ctrl+o`` でクイックアウトラインが表示される。\n* 階層を表示できる。\n    * データモデル名を右クリックしてコンテキストメニューを開き、 ``[Open DataModel Hierarchy]`` を実行すると階層ビューが開く。\n    * または ``F4`` 。\n    * 階層ビューでは、データモデルを定義する元となっている（参照している）データモデルや、逆に自分を使用しているデータモデルを表示する。\n    * アウトラインでは基本的に自分で定義したプロパティーしか表示されないが、階層表示では親モデルで定義されているプロパティーも表示される。\n* 入力補完が使える。\n    * Windowsの場合は ``Ctrl+Space`` 、UNIXの場合は ``Alt+/`` でキーワードを補完できる。\n* ソースの整形が出来る。\n    * ``Ctrl+Shift+F`` でソースを整形する。\n    * プロパティーページで設定すれば、ファイル保存時に自動的に整形する。\n* DMDLのエラーチェックが出来る。\n    * 文法レベルのエラーは入力時に判定される。（Xtextの機能）\n    * コンテキストメニューの ``[DMDL EditorX]→[DMDL error check]`` で構文解析・意味解析を行い、エラー箇所にマークを付ける。\n        * Asakusa Framework本体のDMDLパーサーを呼び出す為、プロパティーページでAsakusa Frameworkの設定を行っておく必要がある。\n    * Xtextの判定によるエラーは、エディター上でエラーが解消した時にエラーマークが削除される。DMDLパーサーで出たエラーは、再度エラーチェックを行わないと解消されない。\n* データモデルクラス名でクリップボードにコピーできる。\n    * データモデル名やプロパティー名を右クリックして ``[Copy Java Name]`` を選択すると、クリップボードにデータモデルクラス名やプロパティー名のキャメルケースがコピーされる。\n* ハイパーリンクのジャンプが出来る。\n    * ``Ctrl`` を押しながら `別データモデルを参照しているプロパティー` や `別データモデルを参照しているデータモデル` をクリックすると、定義元へジャンプする。\n    * または ``F3`` 。\n    * データモデル定義のモデル名を ``Ctrl`` を押しながらクリックすると、そのモデルから生成されたデータモデルクラス（Javaソース）へジャンプする。\n* ハイパーリンクの検索が出来る。\n    * データモデル名やプロパティー名を右クリックして ``[Find References]`` を選択すると、データモデル名やプロパティー名が使われている箇所を検索する。\n* ハイパーリンクの改名が出来る。\n    * データモデル名やプロパティー名を右クリックして ``[Rename Element]`` を選択すると、データモデル名やプロパティー名を変更できる。使われている箇所も連動して変更される。\n* Javaでの使用箇所を検索できる。\n    * データモデル名やプロパティー名を右クリックして ``[Asakusa DSL References]`` を選択すると、Javaソース上でデータモデルクラスやプロパティーが使われている箇所を検索する。\n* DMDLのデータモデルおよびプロパティーをウィザードで新規作成することが出来る。\n    * コンテキストメニューの ``[DMDL EditorX]→[New DataModel]`` でウィザードが開く。あるいはメニューバーの ``[ファイル]→[新規]`` やツールバー。\n* DMDLの属性（@directio.csvとか）の追加/削除が出来る。\n    * コンテキストメニューの ``[DMDL EditorX]→[Add/Remove attribute of DataModel]`` でウィザードが開く。あるいはメニューバーの ``[ファイル]→[新規]`` やツールバー。\n* DMDLのデータモデル・プロパティー・属性を変更することが出来る。\n    * DMDLエディター上で変更したいデータモデル上にカーソルを合わせ、ツールバーの ``[既存のデータモデルの編集]`` をクリックすると、変更するウィザードが開く。\n* DMDLからデータモデルクラス（Javaソース）の生成が出来る。\n    * コンテキストメニューの ``[DMDL EditorX]→[DMDL compile]`` でコンパイルを行う。\n        * Asakusa Framework本体のDMDLコンパイラーを呼び出す為、プロパティーページでAsakusa Frameworkの設定を行っておく必要がある。\n    * エラーチェックと同様のプロパティーを使ってコンパイル対象を決定している。\n* DMDLからImporter/Exporterの雛形クラスを作成することが出来る。\n    * コンテキストメニューの ``[DMDL EditorX]→[New importer/exporter class]`` でウィザードが開く。あるいはメニューバーの ``[ファイル]→[新規]`` やツールバー。\n        * DMDLのコンパイルによってスケルトンクラス（AbstractHogeCsvInputDescription等）が作られていることが前提。（無いと、生成されたクラスがコンパイルエラーになる）\n\nJavaエディターを拡張している機能もあります。\n\n* JavaソースからDMDLへのハイパーリンクによるジャンプが出来る。\n    * データモデルクラスのクラス名・メソッド名を ``Ctrl`` を押しながらクリックして ``[Open DMDL]`` を選択すると、定義元のDMDLへジャンプする。\n    * または、コンテキストメニューの ``[Open DMDL]`` 。\n    * または ``Shift+F3`` 。\n    * Importer/Exporterのクラス名からもDMDLへジャンプできる。\n* Javaソースからデータモデル名・プロパティー名でクリップボードにコピーできる。\n    * データモデルクラスのクラス名・メソッド名を右クリックして ``[Copy DMDL Name]`` を選択すると、クリップボードにモデル名・プロパティー名がコピーされる。\n    * データモデルクラスのクラス名・メソッド名を右クリックして ``[Copy DMDL Description]`` を選択すると、クリップボードにモデル・プロパティーの説明（日本語名）がコピーされる。\n* @Keyのgroup,orderの機能拡張。\n    * プロパティー名にマウスカーソルを合わせるとプロパティーの情報がツールチップとして表示される。\n    * プロパティー名を ``Ctrl`` を押しながらクリックすると、定義元のDMDLへジャンプする。\n    * プロパティー名や「ASC」「DESC」の入力補完が出来る。\n* Javadocの入力補完が出来る。\n    * フィールドの型や@param,@returnの型がデータモデルクラスの場合、該当Javadocの入力補完候補にデータモデル名が表示される。\n* フローでの演算子の使用箇所を検索できる。\n    * Operatorクラスの演算子メソッドを右クリックして ``[Asakusa DSL References]→[Search in src/main(Flow)]`` を選択すると、JobFlow/FlowPart上で該当演算子が使われている箇所を検索する。\n* MasterSelectionの使用箇所を検索できる。\n    * OperatorクラスのMasterSelectionメソッドを右クリックして ``[Asakusa DSL References]→[Search in src/main(Operator)]`` を選択すると、Operatorクラス内で該当MasterSelectionが使われている箇所を検索する。\n* Operatorのメソッド名を ``[Refactor]→[Rename...]`` で改名すると、使用している箇所の名前も連動して変更される。\n* Operator・FlowPartのクラス名を ``[Refactor]→[Rename...]`` で改名すると、FactoryやImplクラスの名前も連動して変更される。\n\nDMDLとは直接関係無い機能ですが、以下のようなことも出来ます。\n\n* JobFlow・FlowPart・Batchクラスの雛形を作成することが出来る。\n    * ``[ファイル]→[新規]`` の新規作成ウィザードを開き、DMDL EditorXの「New JobFlow class」「New FlowPart class」「New Batch class」。\n* JobFlow・FlowPartのテストクラスの雛形を作成することが出来る。\n    * ``[ファイル]→[新規]`` の新規作成ウィザードを開き、DMDL EditorXの「New JobFlow Test class」「New FlowPart Test class」。\n* JobFlow・FlowPartのコンストラクターの引数およびフィールドを追加削除することが出来る。\n    * Javaエディター上で右クリックしてコンテキストメニューを出し、 ``[Source]→[Modify JobFlow/FlowPart Field]`` を選択すると、編集ウィザードが起動する。\n* Flow DSLからOperatorへのハイパーリンクによるジャンプが出来る。\n    * オペレーターファクトリークラスのクラス名・メソッド名を ``Ctrl`` を押しながらクリックして ``[Open Operator]`` を選択すると、定義元のOperatorへジャンプする。\n    * または、コンテキストメニューの ``[Open Operator]`` 。\n    * Asakusa Framework 0.5以降で使用可能。\n* Operatorクラスの演算子メソッドを使っているFlow DSLを検索できる。\n    * Javaエディター上の演算子メソッドで右クリックしてコンテキストメニューを出し、 ``[Asakusa DSL References]`` を選択すると、検索ビューに検索結果が表示される。\n* Operatorクラスの演算子メソッドの雛形を作成することが出来る。\n    * Javaエディター上で右クリックしてコンテキストメニューを出し、 ``[Source]→[New Operator Method]`` を選択すると、演算子作成ウィザードが起動する。\n* Operatorクラス内の@MasterJoin等のselectionを扱う機能がある。\n    * selectionに書かれたメソッド名を ``Ctrl`` を押しながらクリックすると、定義元の@MasterSelectionメソッドにジャンプする。\n    * selection内のメソッド名の入力補完が出来る。\n* JobFlow・FlowPartのテストクラスのExcelファイル名からExcelファイルへのハイパーリンクによるジャンプが出来る。\n    * prepare()・vefify()の文字列内のExcelファイル名部分を ``Ctrl`` を押しながらクリックすると、src/test/resourcesの下にあるExcelファイルにジャンプする。\n* バッチのコンパイルが出来る。\n    * パッケージエクスプローラー上でBatchクラスを選択し、ツールバーの ``[バッチのコンパイル]`` をクリックすると、バッチをコンパイルする。\n\nAsakusa Frameworkとは全く関係無い機能ですが、以下のような機能も含まれています。\n\n* メソッドの実引数の順序を変更できる。\n    * Javaエディター上でメソッドを右クリックしてコンテキストメニューを出し、 ``[Source]→[Modify Method Invocation]`` を選択すると、変更ウィザードが起動する。\n* 文字列定数（ダブルクォーテーションで囲まれたString Literal）内の検索が出来る。\n    * メニューバーの ``[Search]→[Search]`` で検索ダイアログを出し、「String Search」タブを選択する。\n* スタックトレースのソースファイルを検索できる。\n    * メニューバーの ``[Search]→[Search]`` で検索ダイアログを出し、「StackTrace File Search」タブを選択し、スタックトレースのatの行を貼り付ける。\n    * クラスパス上に存在しないJavaソースファイルを検索する目的の機能。内部クラス等には未対応。\n\n※一部の機能（Javaソースからのハイパーリンクによるジャンプや ``Ctrl+Shif+F3`` による検索ダイアログ等）については、プロジェクトにXtextネイチャーが追加されていないと使用できません。\ndmdlファイルを開くことにより、そのプロジェクトにXtextネイチャーが追加されます。\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhishidama%2Fxtext-dmdl-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhishidama%2Fxtext-dmdl-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhishidama%2Fxtext-dmdl-editor/lists"}