読者です 読者をやめる 読者になる 読者になる

Plugin開発

5分でEclipse PluginをGroovyで書くよー。

ぼーっとしていたらEclipse PluginをGroovyで書いてました!他のJVM言語でもEclipse Plugin書けるんです! Eclipseはe4プロジェクトでJava以外の言語(例えばJavaScript)でもPluginの実装を実現しようと頑張ってますが、なんか3系でもできちゃった。 必要なも…

Eclipse Plugin開発のチュートリアルを公開します。

1/28に僕のふるさとの名古屋でEclipse Plugin開発セミナーが開催され、講師として参加してきました。そのために作成したEclipseプラグイン開発のチュートリアルを公開します。http://kompiro.org/nagoya-seminar/htmlこのチュートリアルはチュートリアルを通…

Buckminsterを試してみる(1)

BuckminsterとはEclipse Plug-inのビルドやテストを補助するEclipse Plug-inです。Eclipse Demo Camp Tokyoで、「こんなネタで話したかったんだ」とつぶやいたネタの一つがBuckminsterでした。それで興味を持ってくださった方がいらっしゃったのと、PluginBu…

プラグインのソースコードを別のプラグインとして配布するには

以前からプラグインはビルドするときにソースコードを同梱して配布する事ができましたが、3.4からは別のプラグインとして配布できるようになりました。それが原因ではないと思うんですが、ソースコードをプラグインの中に同梱するとフィーチャーとしてビルド…

Eclipse Helios(3.6) on OSXでPlug-in Selection Spyを動作させるには

Plug-inを作るときにとても有効なPlug-in Spyですが、Helios(3.6)on OSXではOSのホットキーとぶつかっているのか、うまく動作しません。そのため、下記のようにキーバインディングを変更しました。 ぼくはSpy系を下記のように割り当てられてています。 Plug-…

Twitterにテスト結果をつぶやくtwJUnitリリース

TDD Boot Campで作ったtwJUnitですが、bot以外のアカウントでもつぶやけるようにアカウントの設定と、テスト結果をテンプレート形式で指定出来るようにしました。 実行した結果は指定したアカウントに TemplateParserTest OK 12/12 みたいにつぶやきます。更…

Quick JUnit 0.5.0 beta3リリース

2010年元旦にリリースしました。ブログに書くのは2日ですが・・・。 テストコードとプロダクトコードを切り替えたときにカーソルキーが保存されない問題に対応しました。 PDEの起動は別フィーチャに分けました。 最近一押しなMockitoとの連携をする実験的フ…

認証が必要なサイトへアクセスすることを考えてみた

org.eclipse.core.netとorg.eclipse.ui.netプラグインがある環境で、認証が必要なサイトへ接続すると自動でユーザ名やパスワードを入力するダイアログが表示されます。 こういうダイアログが表示されるので、ユーザ名やパスワードが必要な時に入力をうながし…

Commands Part 3:パラメータを使ったコマンド

Eclipse Tipsの翻訳Commandシリーズ第3段です。Part3では動的にパラメータを変更するコマンドについて書かれています。原文著者:Prakash G.R. 2009/01/07に記すエディタの中からファイルを開くコマンドを考えてみましょう。「ファイルを開く - somefile.txt…

Commands Part 2: 選択によるHandlerの有効化

Eclipse Tipsの翻訳Commandについてのシリーズ第2段です。Part2ではIHandlerの活性、非活性に関して解説がかかれています。IHandlerにメニューを押したときなどの実際の振る舞いを実装します。同じコマンドでも選んでいるオブジェクトによって振る舞いを変え…

Commands Part 1: Actions vs Commands

Eclipse Tipsの翻訳です。Eclipse Platformの3.3で導入されたコマンドフレームワークについていいシリーズがまとまっていたので翻訳しました。Part1ではなぜコマンドフレームワークが必要なのか、語られています。 このシリーズは全部で6パートに分かれてい…

EclipSKY200902

昨日はEclipSKY200902でした。開催告知を出したのが2/9で、開催が2/15と言う急遽開催でしたが、総勢10人の方にお集まりいただきました。去年も同じ時期に開催しようとしたんですが、とある事情で取りやめました。あれはしょっぱかった。今年も最初はせとさん…

Eclipseプラグイン開発に良くある10の過ち

Planet Eclipse経由で流れていた良記事を翻訳してみた。Eclipse Tipsの記事です。翻訳の元記事 http://blog.eclipse-tips.com/2009/01/top-10-mistakes-in-eclipse-plug-in.html 元のタイトルは「Top 10 mistakes in Eclipse Plug-in Development」なので、…

EclipSKY200902やります。

だいぶ長いことやってませんでしたが、EclipSKYやります。 http://atnd.org/events/351今回はよういちろうさんのOSDEのソースコードをたけぞうさんらの改訂版Eclipseプラグイン開発徹底入門で読み進めます。その他、自分のプラグインにつっこみを入れてほし…

Galileo M4おっかけ:その2(国際化フラグメントつくりやすくなったぉ)

404 File not foundの最後の「NL fragment generation」ってやつですが、既に外部文字列化したプラグインを用意しておけば、それを元に国際化フラグメントプロジェクトとプロパティファイルのスケルトンを吐いてくれる機能らしい。

Galileo M4おっかけ:その1(ブラウザからJavaを呼んだりBrowsernoJavaScriptの実行結果をJava側で取り出したり)

しばらくNews And Noteworthyを追っかけてなかったら、何この怪しい機能。超素敵じゃないですか。ブラウザを使ったWebアプリケーション全盛の昨今、GWTみたいなJavaからJavaScriptにコンパイルするようなものもありましたが、SWTの漢っぷりもぜひ評価しても…

JRuby on Eclipse RCP

だってさ。いや、やってみたらおもしろそうだと思うんだけど、ほんとにやった強者っているもんだね。http://wiki.jruby.org/wiki/JRuby_on_Eclipse_RCP

今更ながらRhinoが熱い。

ここんところ自作アプリを作るのに集中してていろんな事が滞ってます。ごめんなさい。 が、これは書かないと、と思ったのでちょっと書いてみる。RhinoはJDK6で標準添付されているJavaScriptエンジンということは有名ですね。が、JRE1.5でも動くようにしたか…

Runtime時にPlugin Logを出力する方法

メモメモ。起動引数に-debugを加える。通常はinstance location(起動ランチャと同じ階層)の.optionsファイルを読み込むが、-debugの後に引数を加えると、引数の方を.optionsのパスとして読み込む。.optionsの書き方は以前の日記を参照したらいいんじゃないか…

Secure Storageをしておく場所の変更

メモメモ。Eclipse3.4で追加されたSecure Storageはパスワードを使って設定ファイルを暗号化できる。VMに渡す引数ではないので、-vmargsよりも前で設定する。 -eclipse.keyring=[path]困ったときのHelpへのリンク パスワード自体もファイルから読むこともで…

EclipseでOpenOCDをサポートするプラグイン作りました。

先日行ったTeamKNOxの兄貴と飲む会ですが、兄貴から頼まれていたものを見ていただくことも目的の一つでした。それがOpenOCDをサポートするプラグイン。実際はTelnetでの通信をEclipse上からできるようにし、開発を補助するんですが、Telnetのターミナルって…

InfoQでGanymede特集が組まれてますね。

すげーな、Alex。頑張ってんのな。会ったことないけど彼の記事には非常にお世話になっております。 New and Noteworthy pageには載らない、開発者の話が乗っけられています。特にPDEの話は3.5かE4か、その辺りのバージョンはどうなるかわかんないけど、今後…

GEFはほんとに厳密なMVC

いまさらながらしみじみ思う。一つ一つの操作を厳密にプログラミングしなければならないので、結構メンドクサイ面もあるんですが、ハマルといろいろ面白いことができるフレームワークです。基本となる考え方はHelpに書いてあることが全てです。それ以上もそ…

GEFをSWTから使ってみる

一応公式のFAQではGEF/Developer FAQ - Eclipsepediaにかかれているとおり、「できないよーん。」と回答されているが、SWT+Draw2D(SWTの)+GEFで表示はいけました。こんな感じ public class FigureViewer { private ScrollingGraphicalViewer viewer; public …

メモリリークを調査するときに参考にすればといいとおもうよ

Planet Eclipseより。 Memory Analyzer News Blog Archive The Unknown Generation: Perm Eclipseなど、多量にメモリを消費するJavaのアプリケーションの場合、ヒープ領域だけじゃなく、パーマネント領域にまで気をまわさないといけないときがあります、なん…

JUnit Plug-in Testをサクサク行うには

どう頑張ってもOSGiコンテナの起動に1、2秒かかってしまいますが、今のところんノウハウを改めてまとめてみるテスト。 Quick JUnit Pluginをインストールする Ctrl+-で起動するのはやっぱ便利。 できるだけWorkbenchを起動しないような構成にする UIが必要な…

違うPluginのクラスメソッドを呼ぶための簡単な方法

なるほどね。継承しちゃえばいいのか。 Quick JUnit - Quick PDE JUnit - junit.extensions.eclipse.quick.pde.ExtensionSupport package junit.extensions.eclipse.quick.pde; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.ui…

Full Screen Plugin for Ganymede

SWT 3.4からFull Screenモードがサポートされました。コードで書くとたった1行です。 shell.setFullScreen(true); eclipse-fullscreen - support eclipse working in full screen mode - Google Project Hosting 今年の初めに上記のプラグインが出てきてSWT…

今日は5月のEclipsePlugin開発勉強会でした。

今日はたんたんと作業する勉強会でした。要所要所で相談会と言うか、質問投げてました。具体的にはこんなことしてました。 Tacorpusを作る 開発環境も統一しないとね。 文字コードはUTF-8 実行Javaバージョンは1.5 対象はEclipse3.3 比較エディタを参考に似…

今週末に2008年5月のEclipse Plugin開発勉強会やります。

今週末にEclipse Plugin開発勉強会2008年5月の部をやります。 テーマは「Plugin作りながら相談会」です。 みんなで淡々とPlugin作りながら、わからないことは聞きつつ作っていこうという会にしたいと思います。 日時 5/11(日) 14:00〜18:00 場所 八角研究所 …

GridLayoutがorg.eclipse.draw2dに追加されてました。

気づいてなかった自分もどうかと思うんですが。 SWTでたぶん一番よく使われるレイアウトであるGridLayoutがDraw2Dにも導入されてました。たぶんGEF3.3からです。*1そのおかげでカレンダーみたいなFigureも簡単に作れる気がしてまして、ちょっと頑張ってみよ…

依存関係を可視化するツール群

PlanetEclipse経由で知ったんですが、GMFを使ってOSGiのBundleの依存関係を可視化するツールができたんですね。ちょっと試せていませんので操作性とかは判りません。みてみた感じ、あるBundleをOSGiの実行環境にインストールして、startすると出力されるファ…

Quick JUnit Plugin プロジェクトに寄せる想い

昨日(日記上は今日)はQuick JUnit Pluginの作者、masarlさんの命日(4回忌)と言うことで、id:kakutani氏から正式に管理者の一員としてQuick JUnit Plugin プロジェクトに迎えたというリリースがQuick JUnit Pluginのサイトへ掲載されました。これまでは必ず命…

Equinox p2によるプラグイン開発への影響

Eclipse PluginをP2Pで配信することを実現するEquinox P2ですが、Plugin開発にも影響が出てきています。Eclipse 3.4M6の開発環境を作成していたんですが、Quick JUnitのインストールが更新サイトからできませんでした。ローカルで更新サイトの動作を確認して…

SATはじまったな。(SWT Animation Toolkitの巻)

SWTでもアニメーションを!という希望の声に答えるライブラリが出てきました。それがこのSWT Animation Toolkitです。略してSAT。リンク先のページにはJava Web Startを使ったデモが公開されているので、興味がある方は動かしてみてください。Eclipseっぽくな…

tacorpus始めました。

今日はEclipsePlugin開発勉強会でした。ガチで開発していくためのプロジェクト、tacorpusを始めました。対訳コーパスを蓄積し、類似する翻訳文をユーザーへ提供するためのアプリケーションです。既にomega Tというアプリケーションがあるんですが、これは対…

Quick JUnit Pluginプロジェクトの管理者に名を連ねました。

ひょんなことからQuick JUnitの管理者の一員に抜擢されました。かくたに氏よりありがたい推薦の言葉を受け、うれしかったです。この勢いに乗って既に以前書いたパッチを自分名義でコミットしてみました。JUnit4のTestSuiteは@SuiteClassesアノーテーションを…

アイコンをその場で合成しながらアニメーション

SWTを使ったアプリケーションでアニメーションをさせるためのコード片を公開しておきます。(ほとんど自分のためにですが。)肝はThread#sleep()でフレーム秒間を調整したらだめで、Display#timerExec(int,Runnable)を使って再帰的に画像合成と描画を行うよう…

Percs 0.4.0 リリース

3ヶ月ほど開きましたが、Percs 0.4.0をリリースしました。 更新サイト https://eclipse-study.svn.sourceforge.net/svnroot/eclipse-study/PercsProject/trunk/org.kompiro.readviewer.site今回のリリースではRCP版も作成してみました。 RCP版配布元 https:/…

GraphicContextの実装例

今までの自分の目は節穴だったようです…。EclipseのCVSにSWTの実装例プロジェクトがありました。org.eclipse.swt.examplesというプロジェクトです。このプロジェクトをCVSからチェックアウトしてみるとパッケージごとにmainメソッドが実装されたクラスが用意…

Inside of Quick JUnit

masarl氏の志を引き継いだid:kakutani、id:t-wada両氏がメンテナのQuick JUnit Pluginですが、id:kakutani氏は筋金入りのRubyプログラマでいらっしゃいますし、id:t-wada氏のプログラマ業の半分はRubyだそうです。ナノデQuick JUnit Pluginはソコマデツカイ…

3月の勉強会

今日は3月のEclipsePlugin勉強会でした。参加してくださった皆様本当にありがとうございました。 ちょっと個人の嗜好に走りすぎたのと、直前になって参加者の半数を上回る人が体調不良でリタイアとかがありました。そのせいか、今回の参加者は自分も合わせ…

複数のオブジェクトをアニメーションできない?

ここんところアニメーションGIFをビュー上に表示させることに挑戦してました。一応実現はできましたが、アイコン一つだけしかアニメーションできません。 EclipseのUIスレッドは1つだけです。UIスレッドに対し、描画処理を移譲しているんですが、複数のオブ…

アニメーションGIFと普通のGIFを合成するコード

SWTを使う場合、アニメーションGIFを描画するにはちょっとばかしコードがいります。アニメーションGIFのデータは、複数のフレームを一つのファイルに同梱しています。1枚の画像当たり描画時間を指定することでアニメーションしたように見せかけます。*1画像…

Tooltipに関するエトセトラ

ToolTipに設定した文字列って自動改行されずに困っていました。長い文字列を入れるとてろてろ〜んと画面をぶち抜いてどこへやら…。となるでしょう。でもデフォルトの実装に期待しちゃいけないのがEclipseWayだということに最近気づいてきました。 デフォルト…

200803のEclipsePlugin開発勉強会の参加募集を始めました。

今回のテーマは『プラグインのテストコードを書いてみよう』ということで個人的にも超ニッチな内容かと思いながらも、今回チャレンジしてみることにしました。 TDDでテストコードを書いていくためには、テストコードの書き方が分からなければどうにもなりま…

SWTBot(EclipseCon 2008に思うこと:その3)

EclipseCon 2008ではGUIテストの事も取り上げられています。例えば SWTBot - SWT/Eclipse Testing, and lessons learned along the wayです。SWTBot は2007年12月に0.1が登場したばかりのテストライブラリですが、やれることはいい感じで、2008年3月に0.2.0…

Eclipseの公式FAQページ

はてブを見る限りあんまり知られてなさそうなEclipseの公式FAQがwiki.eclipse.orgにあります。3.1のころまとめられていたFAQは別途出版されたようですが、現在は特に最新版が出版されているわけじゃなさそうです。 3.1のころのFAQはちょっと…。と思っていま…

JCTerm Eclipse Pluginにコントリビュートしたいと言ってみた。

SSH2のコンソールをEclipse上で実現するものにJCTerm Plug-in for Eclipseというプラグインがあります。これはEclipseの中でも使われているJCtermのコンソールViewに表示できるようにしたプラグインです。お、と言うことはターミナルのコードがガシガシ書か…

設定のスコープ

EclipseのプラグインのPreference(設定)はワークスペースごとにしか設定できないようなので、不便だなと思っていたんです。でも実はそうじゃなかったんですね。 Preferenceにはスコープがある AbstractUIPlugin#getPreferenceStore()のソースを見てみると3.4…