techiumスマートフォン用の表示で見るtechiumこのブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。いただけますと気が向いたら調査するかもしれません。この広告は、90日以上更新していないブログに表示しています。Ideaプラグインでモジュール生成時にフォルダ/ファイルを作成するIntellijIntellijでセットアップウィザードを作成を前回行いました。blog.techium.jpそこでセットアップウィザードを終えたあとにプロジェクトフォルダにファイルの自動生成を行う方法をご説明します。前回のセットアップウィザードで使用したコードのSampleModuleBuilderを拡張して利用します。SampleModuleBuilderは前回はModuleBuilderを使っていましたが今回作りたいプロジェクトはJavaアプリ用のためなのでJavaModuleBuilderに継承を変更します。JavaModuleBuilderを継承したときgetModuleTypeをOverrideし、SampleModuleTypeを返却できるようにします。}}これでこちらが作成したModuleTypeをBuilderが利用してくれるようになります。この状態でビルドして実行すると次のようなフォルダ構成を生成してくれます。<プロジェクト名>.imlJavaModuleBuilderの方でsrcのフォルダ作成は行ってくれます。それではプロジェクト生成した時にsrc内にフォルダとファイルを作成してみましょう。ファイルの生成は次のコードのように実装します。}}ModuleBuilderListenerをimplementsしてmoduleCreatedの実装を行います。moduleCreatedはモジュールが作成された際に呼び出されるメソッドでsetupRootModelでaddListenerでthisを指定することでコールバックされるようになります。addListenerはJavaModuleBuilderの継承元であるModuleBuilderに定義されておりそこで登録されます。moduleCreatedでApplicationManager.getApplication().runWriteActionと呼び出しています。これはおそらくファイル書き込みなどの書き込みアクションを行うものだと思われます。(資料無しコメント無しのため他のプラグインのコードから読み取ったので自自信がありませんが...)ここでファイル制御を行います。moduleCreatedの引数のModuleにはこのモジュール自体の情報が付与されています。今回はプロジェクト情報をを取り出し、そのベースのURLに紐づくVirtualFileを取り出しています。VirtualFileはIntellijのプラットフォームが表現するファイルシステムの仮想ファイルのことで仮想ファイルを作成とか削除とかリネームなどを行うと実際のファイルもその操作に応じた動きを行ったりします。module.getProject().getBaseDir()でプロジェクトのベースのVirtualFileを取得することができます。このVirtualFile内にはsrcとプロジェクト名のimlファイルが入っています。baseDir.findChild("src")でJavaMoudleBuilderが作成したsrcフォルダのVirtualFileを取得することができます。"test.java")を使ってtest.javaをmain内に作成しています。これを実行すると下記のようなフォルダ構成になります。<プロジェクト名>.imlこれでプロジェクト作成時に思い通りにフォルダ、ファイルの生成ができるようになります。Ideaプラグインでセットアップウィザードを作るIntellijはてなブログをはじめよう!kobashin__Gさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。