PowerBuilder の便利 (?) なツールたち
お疲れ様です、エイタです!
PowerBuilder での開発、楽しんでますか? 楽しんでますよね?
お忘れかもしれませんが、PowerBuilder は『IDE (統合開発環境)』です。 スクリプトエディタや RAD 機能だけでも十分便利なんですが、それ以外にも開発効率を上げるためのツールがたくさん組み込まれています。
そんな PowerBuilder IDE に組み込まれた知られざるツール群の中から、今回は過去のバージョンから存在している古参のツールたちをご紹介します!
To-Do リスト
いきなり出ました、「To-Do リスト」です。 お仕事や普段の生活の中で To-Do リストを活用されている方もいらっしゃるでしょう。 そんな機能が PowerBuilder IDE にも搭載されています。
イマイチ垢抜けない見た目ですが、「やること」のリスト化とチェックの ON/OFF という、To-Do リストとして最低限の機能は備わっています。
新規開発の際に、あらかじめどのイベントにどんな処理を実装するかを登録しておけば、これから自分がやらなければいけないことを整理することができますね。
ほかにもプログラムの修正を行っているときに、「やべっ、変な処理見つけちゃったよ・・・あとで直さなきゃな~」と、修正したいところとは別の処理が目についてしまうことがあると思います。 「あとで」とか言ってるとそのうち忘れちゃうんですよね。
そんな時はおもむろに「To-Do リスト」を起動しましょう。右クリックメニュー [リンク先を追加] を選択することで、現在カーソルがあるスクリプト行に対する To-Do として「やること」を登録することができます。 このようにして登録された To-Do は、ダブルクリックもしくは Enter キーで、登録したイベントや関数にジャンプ することができます。
修正箇所の洗い出しを行いながら To-Do に登録しておき、一気に「修正 → 完了チェック!」という方法を取れば、修正箇所を開くのも簡単だし修正漏れも防げそうです。
しかし、ダブルクリックしてもカーソルは対象の行には移動しないようですね。 エクスポートファイルを見ると行番号も保持されているので、そこにカーソル移動してくれてもいいと思うんですが・・・。
しかも、ジャンプしたあとそのままタイピングすると、なぜか開いたオブジェクトの「インスタンス変数の宣言」に文字が入力される事象が・・・。 ジャンプしたあとは、表示されるスクリプトエディタをクリックしてフォーカスを移してあげましょう。
登録されているリストは右クリックメニューの [エクスポート] によりテキストファイルとして出力することができます。 出力されたファイルを他の開発者に渡せば、自分がやり残した仕事を託す (押し付ける) ことができます (ちょっとアナクロな手法ですが・・・)。
ちなみに私はこのツールを使ってないです。
オブジェクトブラウザ
「オブジェクトブラウザ」は選択されているターゲットに含まれるオブジェクトを探しやすいように表示してくれるツールです。
システムツリーでは格納されたオブジェクトを PBL ごとに表示しているため、場合によっては探しにくく、簡単に検索することもできません。そんな時に便利なのがこのオブジェクトブラウザ。
ウィンドウやデータウィンドウ、ユーザーオブジェクトなど、オブジェクトの種類ごとに表示されるので探しやすく、バージョン 2019 からはフィルター機能も追加されたため、目的のオブジェクトの探索が更に楽になりました。
表示されているオブジェクトをダブルクリックすることで、ペインタでそのオブジェクトを開ける (※バージョン 2019 以降) だけでなく、プロパティや関数など、オブジェクトのメンバーについてもツリー形式で表示することができます。さらにはウィンドウやグラフィカルユーザーオブジェクトでは、そのオブジェクトに配置されているコントロールをリストアップしてくれます。
なお、イベントや関数などは右クリックメニューの [先祖の表示] のチェックを OFF にすることで、組み込みのイベント/関数や先祖で作成された処理が表示されなくなるのでスッキリしますよ。
「オブジェクトブラウザ」の真価はそれだけではありません。 [ウィンドウ]、[メニュー]、[ユーザーオブジェクト] タブではそれぞれのオブジェクトの継承関係を確認することもできます。 これらのタブでは左側のペインで右クリックメニューの [階層の表示] を ON にすると、「調べたいオブジェクトの先祖は?」、「このオブジェクトを先祖としているオブジェクトはどれ?」ということもツリー形式で表示することができ、言わば「オブジェクトの家系図」が一目瞭然ってわけです。 かなり便利!
まだまだ続きます!
[使用] タブを開いてみてください。ここにはアプリケーションオブジェクトを起点としたウィンドウの遷移図が表示されます。 また、ウィンドウだけではなく「呼び出されている関数」や「使用しているデータウィンドウ、ユーザーオブジェクト」も表示されます。
表示されるウィンドウは、スクリプトに記載された Open、OpenWithParm といった関数に「直接ウィンドウオブジェクトを渡している」処理からピックアップしているためか「ウィンドウオブジェクト名を文字列として渡してオープン」しているケースは拾ってくれませんが、そうでない場合はどの画面からどの画面が呼ばれているかイメージしやすくなると思います。
ウィンドウオブジェクトをそのまま渡す
Open(w_sample) // [使用] タブに表示される
ウィンドウオブジェクト名を文字列として渡す
window lw_sample Open(lw_sample, "w_sample") // [使用] タブに表示されない
なお、データウィンドウについてはペインタで設定 (プロパティの「データ オブジェクト」) されている場合のみであり、スクリプトで DataObject に指定しているものは対象外です。
この他にも [システム] タブでは組み込みのオブジェクトが持つプロパティ、イベントや関数とそれらの引数と戻り値を確認でき、[カタログデータ型] タブではそれぞれに定義されたカタログデータ型 (列挙型) の要素を確認することもできます。
ちょっとボリュームが多くなってしまいましたが、それも頷ける高機能なツールです。
ライブラリペインタ
ライブラリペインタはシステムツリーに似ていますが、「ツリー」と「リスト」の 2 画面構成になっており、ツリーで選択された項目の中身がリスト画面に表示されるというものです。
このリストで便利なのは、複数のオブジェクトを選択できるということ。 複数のオブジェクトを一度に再生成したり、エクスポートする場合に便利です。
また、ツリーやリストを追加して表示することもできます。
たとえば大量の PBL がある 2 つのターゲットを比較したい場合、上下のスクロールが多くなり大変ですよね。 そのような場合にツリーを 2 つ表示させ、それぞれのツリーに別のターゲットを表示させるということもできます。
DB プロファイル
いまさら説明する必要もないとは思いますが、開発で使用するデータベースへ接続するためのプロファイルを作成する機能です。
PowerBuilder は MS SQL Server や Oracle DB などメジャーな DBMS をはじめ、IBM Informix や SAP Adaptive Server Enterprise といった DBMS へのネイティブなインターフェイスを備えており、GUI により接続設定やオプションの指定を行うことができます。 また、このプロファイルからスクリプトで使用する構文をコピーすることもできちゃいます。
PowerBuilder IDE を利用する上では必須ともいえるツール、というか他のツールと並列で扱うような機能ではないのでは・・・。 一応、[ツール] メニューにあったので一緒にご紹介しちゃいました。
DB ペインタ
DB ペインタは PowerBuilder IDE に統合されたデータベース開発ツールです。
Oracle DB には「SQL Developer」、SQL Server には「Management Studio」といったデータベース開発ツールがありますが、似たような機能が組み込まれています。 PowerBuilder がサポートする DBMS に対応しているので、さまざまな種類の DBMS の操作に対応しています。
各 DBMS に特化した機能は使用することはできないかもしれませんが、データの閲覧、テーブルの作成/変更、SQL の発行など、データベース開発ツールとして最低限の機能は備わっています。
なんたってこのツールが IDE に統合されちゃってるってのがほんとうれしい! ちょっとしたデータベース操作であれば PowerBuilder IDE ひとつで賄えちゃいますね。 デフォルトのショートカットキーは [Shift + F7]。 コーディング中にテーブルの構成が気になったときやテストデータを作成したいときにササっと起動するとカッコイイです。
また、PowerBuilder 特有の機能である拡張属性の設定を行うことができます。 この機能はデータベースに定義されているカラムに対して「デフォルトの書式」を設定することで、データウィンドウを作成したときに自動で書式を適用しちゃうって便利な機能なんですが・・・詳しくは過去に書いたカタログテーブルのすべて 前編/後編をご覧ください!
テキストエディタ
これは・・・。
その名の通り、テキストエディタです。 とてもシンプルなテキストエディタです。
PowerBuilder のソースコードのエクスポートファイル (*.sr*) や SQL ファイル (*.sql) を開くと、スクリプトエディタと同じシンタックスハイライトが適用されます。
HTML (*.htm, *.html) ファイルとか Javascript (*.js) ファイルを開くこともできます。・・・シンタックスハイライトは効かないけど。
あっ・・・。 そういえば、選択された行をコメント化することもできます。 ファイルの種類に関係なく、先頭に “//” を付けちゃうだけですけど・・・。
それから・・・とてもシンプルです。
出来は良くないかもしれないけど悪い子じゃないんです。 アプリケーションで使う INI ファイルやリソースファイル (*.pbr) を編集するときとかに使ってあげてください。
・・・ちなみに私は使ってないです。
まとめ
さて! PowerBuilder に搭載されたツール群。とても便利なので今すぐ使いたくなってきたんじゃないでしょうか・・・? まだ使ったことない方は、試しに触ってみたら作業効率アップのきっかけになるかもしれません。
私の推しは (文面からもお分かりかと思いますが) なんといっても「オブジェクトブラウザ」ですね! [システム] タブなんて、組み込みのオブジェクトが持つ関数やプロパティ、継承関係などを確認することができ、見ているだけで 1 日が過ぎてしまいます。
しかし、作業効率アップのためのツールを眺めて 1 日を無駄にするなんて本末転倒。 そろそろ仕事に戻らねば・・・。
以上、エイタでした!