« デバッグ用コード切り替えスイッチ | トップページ | Shellオブジェクトの取得 Part2 »

2004.04.01

すべてのエディタの内容を保存する

Javaのソースコードに対して自動的にコンパイルしたいときなど,エディタの内容をプラグイン内で保存したいときがある。Eclipseでは,ワークベンチ内で開かれているすべてのエディタに対して,その内容を保存することを簡単に実行するためのメソッドが存在する

  IWorkbench workbench = PlatformUI.getWorkbench();
  boolean saved = workbench.saveAllEditors(true);

まず,ワークベンチのオブジェクト(IWorkbenchオブジェクト)を取得する。PlatformUIクラスのクラスメソッドとして提供されているgetWorkbenchメソッドを呼び出すことで,IWorkbenchオブジェクトを取得できる。そして,IWorkbenchインタフェースで規定されたsaveAllEditorsメソッドを呼び出すことで,開かれているすべてのエディタに対して,内容を保存するよう指示をだすことができる

saveAllEditorsメソッドは,boolean型の引数を持つ。上記のように引数にtrueを渡した場合,ユーザに保存するエディタを選択させるためのダイアログが表示される

save-resources.gif

ダイアログで[OK]ボタンが押された場合は,saveAllEditorsメソッドの戻り値がtrueに,[Cancel]ボタンが押された場合は,saveAllEditorsメソッドの戻り値はfalseになる。もちろん[Cancel]ボタンが押されたときは,保存処理は行われない。

saveAllEditorsメソッドの引数にfalseを指定した場合は,ダイアログは表示されずに,強制的に保存処理が実行される。つまり,暗黙のうちにすべてのエディタの内容が保存される。何らかのプラグインが勝手にすべてのエディタの内容を保存していいのかどうかは賛否両論あると思うが,まぁユーザビリティをどこまで考えるか,ということになると思う。

|

« デバッグ用コード切り替えスイッチ | トップページ | Shellオブジェクトの取得 Part2 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/12631/380531

この記事へのトラックバック一覧です: すべてのエディタの内容を保存する:

« デバッグ用コード切り替えスイッチ | トップページ | Shellオブジェクトの取得 Part2 »