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のページを参照ください。