はじめに
Curl Development tools for Eclipse(以下CDE)とは、Curlアプリケーション構築支援のためのさまざまな機能を提供するEclipseプラグインです。
従来、Curlの統合開発環境としてはCurlアプレットベースのCurl IDE(以下クラシックIDE)が提供されてきました。CDEは、このクラシックIDEよりも効率的なCurl開発環境を提供することを目的として、Eclipseベースで新たに開発されています。
現在、2010年3月15日にリリースされた最新バージョンVer.7.0.1003の体験版が、住商情報システムのWebサイトからダウンロードできます。
最新バージョンでは、種々の機能拡張による使い勝手の向上に加え、アーキテクチャの大幅な見直しによってEclipseとの親和性向上が図られています。これによって、操作性もよりEclipseライクになり、JavaやPHPなどの開発者がスムーズにCurlの開発に移行できるものとなっています。
本稿では、CDEのインストール方法から最新バージョンの主な機能について紹介します。
対象読者
- クラシックIDEから乗り換える方
- 単純にCDEに興味がある方
必要環境
本稿では、Eclipse3.5を使用して手順を説明します。
- Curl RTE 7.0.3
- Eclipse 3.4.2 - 3.5.x
- Java 1.6
インストール前の注意点
まず、CDEのインストールから始めましょう。
以前のバージョンのCurl Eclipseプラグインがインストールされている場合は、先にアンインストールしてください。インストールエラーの原因になる場合があります。
インストール前準備
CDEのインストールは、Eclipse 3.3以前に使用されていたClassic Update Managerを使って行う必要があります。直接このアップデートマネージャを呼び出せるようにするために、まずは設定でClassic Updateを有効にしましょう。
- [Window]-[Preferences]-[General]-[Capabilities]を選択
- [Classic Update]にチェック後、[OK]ボタンを押下
設定項目内にCapabilitiesがない場合があります。これはEclipse SDKがインストールされていないことが原因です。この場合は、以下のどちらかの手順を踏んでください。
- A. アップデートマネージャからEclipse SDKをインストール
- B. Eclipse SDKをインストールせず、直接設定ファイルから有効にします。ワークスペース下の「.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs」に「UIActivities.org.eclipse.equinox.p2.ui.sdk.classicUpdate=true」を追加後、Eclipseを再起動
(Eclipse SDKは、アップデートサイトThe Eclipse Project Updatesにあります)
正しく設定された場合、[Help]-[Software Updates]から[Classic Update Manager]を使用できます。
インストール手順
では、早速CDEをインストールしてみましょう。
- [Help]-[Software Updates]-[Find and Install]を選択します
- 「Feature Updates」画面で[Search for new features to insatall]を選択、[Next]ボタンを押下します
- 「Update Sites to visit」画面で[New Archived Site]ボタンを押下後、以下の場所から「cdeUpdateSite-*.jar」を選択します
- Windows
- Linux
C:¥ProgramFiles¥Curl Corporation¥Surge¥8¥ide¥eclipse-deploy¥cdeUpdateSite-*.jar
/opt/curl/surge/8/ide/eclipse-deploy/cdeUpdateSite-*.jar
- 選択したjarファイルが画面に追加・選択されていることを確認して[Finish]ボタンを押下します
- 「Search Results」画面で「cdeUpdateSite-*.jar」にチェック、[Next]ボタンを押下します
- 「Feature License」画面が表示され、ライセンス契約が表示されるので確認してください。同意する場合は、[I accept the terms in the license agreement]を選択し、[Next]ボタンを押下します
- 「Installation」画面で[Finish]ボタンを押下します
※注
Install Locationに日本語が含まれるパスが指定されていると、[Finish]ボタンが押せない場合があります
- 「Feature Verification」ダイアログが表示されるので、[Install All]ボタンを押下します
- Eclipseの再起動を求められるので、[Yes]ボタンを押下して再起動を行います
以上でインストールは終了です。「Curl」パースペクティブを選択すれば、Curl開発に役立つ各種機能が使用できます。
CDE最新版の主な機能について
ここからはCDEの新機能の概要を、従来のクラシックIDEと比較しながら紹介します。
ソースコード編集
今バージョンから、新たに内部コンポーネントCPA(Curl Program Analyzer)が導入されました。このコンポーネントは、その名前の示す通り、Curlのソースコードの文法的・意味的解析を動的に行うことができます。
その結果を利用することにより、開発者にとって以下のような便利な機能が実現されています。
エラー、警告関連
CPAによるエラー関係の機能拡張は以下のようなものがあります。
コーディング時にリアルタイムでエラーを検出・表示
従来のように、エラー検出のためにアプレットを実行する必要がありません。
加えて、RTEと異なりCPAは実行可能なコードを生成する必要がないため、たとえエラーを検知しても解析を続け、1度により多くのエラーを報告してくれます。
つまりクラシックIDEなどで起こり得た「アプレット実行」→「エラー発生」→「修正後、再度実行」→「別の場所で前回検出されなかった別エラー発生」などの煩わしい作業を繰り返す必要はかなり減少するということです(残念ながら、any型がらみなどで実行時にしか検出できないエラーもあります)。
エラーの発生箇所が追いやすい
エラーがある行には、エディタ左のルーラーに×印のアイコンがアノテーションとして示されます。
同様に右のルーラーには赤いマーカーとして示され、編集中のファイル上で発生しているエラー箇所が一目で分かるようになっています。さらに、発生箇所自体もより正確に示されます。
CDEでは赤い波線により、より正確にエラー箇所が提示されていることが分かります。
警告を表示
エラーではないものの、開発者に注意を促したい実装には警告が表示されます。警告にはオプション警告と非オプション警告があり、デフォルトではオプション警告はすべてオフになっています。
以下に一例を示します。
- 非オプション警告
- オプション警告
deprecated(非推奨)の定義の使用、同一ファイルの複数回includeなど
ローカル変数の未使用、不要なキャスト、メソッドのオーバーライド保証など
これらのオン/オフは、compiler-directivesのように自分で指定することが可能です(後述)。なお、前述の2項目は警告についても同様です(アイコンや色は異なります)。
エラーや警告の制御が可能
マニフェスト宣言やパッケージ宣言に引数を渡すことにより、警告の制御が可能です。詳細は、Curl開発ユーザーガイド([Help]-[Help Contents]より起動)の[概念]-[Curlプログラムアナライザ]を参照ください。
さらにpragmaマクロを使用すれば、エラーの抑制などCDEの挙動を変更できます。こちらは[Help]-[Curl IDEドキュメント]よりpragmaのページを参照ください。
コンテンツアシスト
各種コード補完も大きく拡張されています。従来のAPI補完に加え、テンプレートが提供されます。アシストダイアログは、Ctrl+Spaceを押すたびに「API+テンプレート」-「APIのみ」-「テンプレートのみ」と内容が変わります。
API補完のダイアログもより詳細に
自身が含まれるパッケージ名や現在ダイアログ内で選択されている項目に関連する説明が表示されます。また、アイコンにより、そのCurl要素の種類(クラス/プロシージャ/マクロなど)が分かるようにもなっています。
テンプレート
テンプレートを使用してコードの雛形を出力できます。例えば、{define-pまで入力後に、Ctrl+Spaceキー押下でテンプレートを選択するとテンプレート図のようにプロシージャ定義の雛形が出力されます。
また、テンプレートを使用した結果図のように、青い四角で囲われている部分は、TABキーで遷移可能です。CDEでは、あらかじめCurlでよく使用される構文をテンプレートとして登録してありますが、自分で追加・編集することもできます。
設定は[Window]-[Preferences]-[Curl]-[エディター]-[テンプレート]から行ってください。テンプレート変数など文法はJDTと同様です。
その他自動補完
「"」「{」「(」などを自動で閉じてくれるようになっています。
[Window]-[Preferences]-[Curl]-[エディター]-[入力]-[自動で閉じる]でそれぞれオン/オフできるようになっています。
ナビゲーション
CDEでは、クラシックIDEにはなかった各種ナビゲーションが用意されています。
定義を開く
従来のクラシックIDEと同様にコード中のクラス名などからジャンプできます。定義を開きたい対象にキャレットを置いた後に、F3あるいは右クリックメニューから「定義を開く」を選択してください。
加えて、プロジェクトに含まれる任意のクラスにジャンプできるダイアログが提供されています。Shift+Ctrl+F3、あるいは「Navigate」「Curl定義を開く」を選択してください。検索対象はパターン(ワイルドカード、キャメルケース)を使用して柔軟に指定できます。
パターンについては、[Curl 開発ユーザーガイド]-[参照]-[ダイアログとウィザード]を参照ください。
型階層を開く
クラスに関しては型定義だけではなく、定義階層(スーパークラス、サブクラス)をツリー形式で確認、ジャンプできます。上記と同様に、型階層を開きたい対象にキャレットを置いた後に、F9あるいはメニューから「型階層を開く」を選択してください。階層情報がツリー形式で、階層ビューに表示されます(選択されているクラスのメンバも併せて表示されます)。
表示順は階層ビュー右肩のアイコンで変更可能のため、目的に沿ったものを選択できます。ただ階層内のクラス定義にジャンプしたいだけの場合は、クイック型階層が便利です。
ショートカットキーは、Ctrl+Tです。クイック型階層の場合は、階層ツリーがホーバーに表示され、さらにフィルタリングも可能です。これにより、キーボードから手を離さずに目的のクラスに飛ぶことができます。
パンくずリスト
クラシックIDEでは、同一ファイル内のナビゲーションとして、エディタの上にドロップダウンリストが用意されていました。CDEではこれに代わり、パンくずリストが提供されています。
使用する場合は、Alt+Shift+B、あるいは[Navigate]-[パンくずリストの表示]を選択してください。
パンくずリストは「プロジェクト→パッケージ→ファイル→トップレベル要素(クラスやプロシージャなど)→メンバ」という順で構成・表示されています。各レベルでジャンプ先を選択できるようになっているので、同一ファイル内での移動のみサポートしていたクラシックIDEと違い、任意のジャンプ先を指定できます。
まとめ
Curlの統合開発環境CDEを使って、Curlアプリケーションの開発を始めるための基本的な部分について解説しました。ぜひCDEの体験版をダウンロードして、実際に使い勝手の良さを実感してもらえたらと思います。
また、リッチクライアントCurlの定期開催セミナー(無料)にてCDEを使ったCurlアプリケーションの作成方法をハンズオン形式にて学習することができます。こちらもご興味がありましたらぜひご参加ください。