Caché スタジオについて詳しく知りたいのですが、どのようにすればいいでしょうか?
プロジェクトとは、便宜上まとめることのできる、クラス定義、ルーチン、および/または CSP ファイルの集合です。
プロジェクトを使用すると、スタジオ・セッションを開始するときに、簡単に今までの作業に戻ることができます。例えば、アプリケーション、またはその一部に関連するすべてのクラスを、1 つのプロジェクトの中に置くことができます。スタジオを開始するときにこのプロジェクトを開くと、ワークスペース・ウィンドウの [プロジェクト] タブに、すべてのクラスが一覧表示されます。
1 つの外部ファイルからプロジェクト全体をエクスポートしたりインポートしたりできるので、簡単にアプリケーション・コードを保存したり、渡すことができます。
プロジェクトに項目を追加するには、どのようにすればいいでしょうか?
現在のプロジェクトに項目を追加するには、いくつかの方法があります。
-
(
メニューの
から) 項目を開く際、ファイルを開く前に [開く] ダイアログ・ボックスの
[プロジェクトに追加] チェック・ボックスにチェックを付けます。
-
メニューから
コマンドを使用して、現在のエディタ・ウィンドウの項目を、現在のプロジェクトに追加します。
異なるネームスペースのものを、プロジェクトに追加することはできますか?
いいえ。 プロジェクトに含むことができるのは、現在の Caché ネームスペースから見える項目のみです。
1 つの項目が、複数のプロジェクトに属することはできますか?
はい。プロジェクトは、項目 (クラス定義、ルーチン、CSP ファイル) のリストです。項目自体は、属するプロジェクトに対してリンクを持ちません。項目が属することのできるプロジェクトの数の制限はありません。
プロジェクトを使用したくない場合は、どのようにすればいいでしょうか?
スタジオでは、必ずしもプロジェクトを使用する必要はありません。 完全に無視しても問題ありません。その場合は、既定のプロジェクトに項目を追加せず、スタジオの終了時に、プロジェクトを保存するかどうかを聞かれたときに、これを無視してください。
はい。
メニューの
コマンドを使用します。[エクスポート] ダイアログで
[プロジェクトのエクスポート] を選択し、ファイル名を入力して
[OK] をクリックします。これにより、現在のプロジェクトのコンテンツをすべて (プロジェクト定義も含め)、1 つの XML ファイルにエクスポートします。
プロジェクトを削除するには、どのようにすればいいでしょうか?
[ファイル] メニューの [開く] ダイアログを使用し、すべてのプロジェクトを表示します。プロジェクト名の上で右クリックし、ポップアップ・メニューから
を選択します。
ファイルの [開く] ダイアログを使用して、サーバ上のすべてのタイプの項目を削除することができます。
クラス定義を開くには、どのようにすればいいでしょうか?
既存のクラス定義 (Caché サーバに保存されているもの) を開くには、以下を実行します。
-
クラス定義を含む Caché ネームスペースおよびサーバに接続していることを確認します。
-
メニューの
コマンドを使用して、[開く] ダイアログを呼び出します。
-
ファイルの種類のコンボ・ボックスで、[クラス定義 (.CLS)] または [すべてのファイル] を選択して、クラス定義がリストされているかどうかを確認してください。
-
パッケージ名は、フォルダとしてファイルのリストに表示されます。パッケージ名をクリックすると、パッケージ内のすべてのクラス (または、サブパッケージ) が表示されます。開くクラスが表示されたら、これをダブルクリックして開きます。
-
ルーチンを開くには、どのようにすればいいでしょうか?
既存のルーチン (Caché サーバに保存されているもの) を開くには、以下を実行します。
-
ルーチンを含む Caché ネームスペースおよびサーバに接続していることを確認します。
-
メニューの
コマンドを使用して、[開く] ダイアログを呼び出します。
-
ファイルの種類のコンボ・ボックスで、[マクロ・ルーチン (.MAC)]、[中間ルーチン (.INT)]、または [すべてのファイル] を選択して、ルーチンがリストされているかどうかを確認してください。
-
-
CSP ファイルを開くには、どのようにすればいいでしょうか?
クラス定義やルーチンと同じ方法で CSP ファイルを開くことができます。CSP ファイルを開く場合、[開く] ダイアログで CSP アプリケーションがフォルダとして表示されるので (
/csp/samples)、アプリケーションの上でクリックすると、その中の CSP ページが表示されます。
[開く] ダイアログの [システム・アイテムを含む] というチェック・ボックスは、何ですか?
[システム・アイテムを含む] チェック・ボックスにチェックが付いている場合は、[開く] ダイアログに現在のネームスペースに含まれる項目に加え、システム項目 (名前の最初に
% 文字が付き、%CACHELIB データベースに保存されている項目) も表示されます。
[開く] ダイアログで、パターン照合を使用できますか?
はい。標準のファイルの [開く] ダイアログで、
* 文字を使用できます。ファイル拡張子を使用すると、特定の項目をフィルタにかけることができます。 例えば、
*.cls は、選択されたパッケージ内のクラス定義のみを表示します。
異なるネームスペースからルーチンを開くには、どのようにすればいいでしょうか?
スタジオの [開く] ダイアログでは、現在のネームスペースとサーバにある項目のみを表示します。異なるネームスペースやサーバからルーチンを開くには、以下の方法があります。
-
メニューの
コマンドを使用して、新規のネームスペースおよび/またはサーバに接続し、そのルーチンを開きます。
-
メニューの
コマンドを使用して、ルーチンを開きます。この方法では、最初に新規のネームスペースまたはサーバに接続しないで、そのルーチンを開くことができます。
はい。[開く] ダイアログの下にある
[システム・アイテムを含む] チェック・ボックスにチェックを付けることにより、[開く] ダイアログ・ボックスに
% クラス (パッケージ名が
% 文字で始まり、%CACHELIB データベース内に保存されているクラス) を一覧表示することができます。
%CACHELIB 以外のネームスペースに接続したまま
% クラスを開く場合、スタジオはそれらのクラスを読み取り専用で開きます。
[ファイル] メニューの [ネームスペース変更] メニューは、何をするものですか?
スタジオは、特定の Caché ネームスペースとサーバへの接続を保持します。この接続を使用して、クラスのリストを表示します (プロパティ・タイプやスーパークラスの指定など)。また、デバッグにもこの接続を使用します。
メニューの
コマンドを使用して、異なるネームスペースやサーバに接続することができます。
デバッグを開始するには、どのようにすればいいでしょうか?
以下の方法で、デバッガをターゲット・プロセスに接続することができます。
-
メニューの
コマンドを使用して、現在のプロジェクトに対する
デバッグ対象 (デバッグを行うプログラム、またはルーチンの名前) を定義します。 次に
メニューの
コマンドを使用して、対象のプログラムを開始し、そのサーバ・プロセスに接続します。
-
メニューの
コマンドを使用して、Caché サーバで実行中のプロセスのリストから選択し、接続します。
クラスをデバッグするには、どのようにすればいいでしょうか?
現時点では、スタジオはクラス・レベルのデバッグをサポートしていませんので、クラスをデバッグするにはコツがいります。
-
クラスをコンパイルする前に、
[生成されたソース・コードを保存] オプションが設定されていることを確認してください。このオプションは、[クラス] タブの [オプション] ダイアログ・ボックスにあります。これを開くには、スタジオの
メニューの
コマンドを使用します。
-
メニューの
コマンドを使用して (現在のウィンドウにクラス定義が含まれる場合にのみ利用できます)、クラスに対して生成された INT コードを表示します。
-
INT コード内の希望のソース行で
F9 (トグル・ブレイクポイント) を押し、希望の位置にブレイクポイントを設定します。
-
デバッグ・ターゲットを設定して、デバッガがコードの実行を開始する位置を指定します。これは、[プロジェクト設定] ダイアログで設定できます。このダイアログを起動するには、スタジオの
メニューの
コマンドを使用します。
ヒント : ここに、引数と一緒にクラス・メソッドの名前を入力します。
##class(MyApp.MyClass).MyMethod("This is a test")
-
メニューの
コマンドを使用して、デバッガを開始します。
はい。デバッグ中に、スタジオのウォッチ・ウィンドウの左側の列に、変数の名前 (または式) を入力します。デバッガが一時停止するたびに、変数または式は再評価されます。
スタジオでは、任意の言語のさまざまな構文の要素を表示するのに、異なる色を使用します。
コードの下に赤い波線があるのですが、これは何ですか?
赤い波線は、そのコード (またはその前のコード) に構文エラーが含まれることを示しています。
はい。以下の方法で、さまざまな構文要素の色を変更します。
-
メニューの
コマンドを使用して [オプション] ダイアログを呼び出し、[見栄え] タブを表示します。
-
-
構文の要素 (comment、variable など) を選択します (利用できる項目は、選択した言語により異なります)。
-
はい。スタジオは、UNICODE および漢字文字を完全にサポートしています。
はい。スタジオ・エディタは、双方向編集 と同様に、ヘブライ文字もサポートしています。
外部ファイルから、クラス定義やルーチンをインポートできますか?
ローカル・ファイルとリモート・ファイルの違いは何ですか?
スタジオは、クライアント-サーバ・アプリケーションです。 つまり、スタジオ自体はクライアントのシステム上で稼動し、サーバと会話します。サーバは、同じマシンまたはリモート・マシンのどちらにでも置くことができます。スタジオで
ローカル と
リモート という用語を使用する場合、クライアント・システムおよびサーバ・システムに格納されているオペレーティング・システム・ファイル (インポートやエクスポートの際など) を意味します。
クライアントとサーバの両方が同じシステム上にある場合は、ローカルとリモートは同じです。
はい。スタジオは、印刷および印刷プレビューをサポートしています。両方とも、
メニューから使用できます。
テンプレートは、ユーザ定義のスタジオのアドインを生成するための機能です。
テンプレートは、現在の文書の現在のカーソル位置に便利なコードの断片を挿入する小規模なプログラムです。テンプレートは、Caché Server Pages を使用して、スタジオが提供するポップアップ・ブラウザ内に高性能ユーザ・インタフェースを表示します。
スタジオは、複数のユーザによる開発をサポートしていますか?
はい。これには、以下のようにいくつかの方法があります。
-
共通の Caché サーバ・システムをセットアップし、すべての開発者がこれにコードを保存する方法。
-
(開発者のシステム上の) ローカルの Caché サーバを使用して、エクスポートした XML ファイルとして、ソース・コードをソース・コントロール・システムに保存します。
他の人が編集中のクラス (またはルーチン) を開こうとすると、どうなりますか?
スタジオは、クラス (またはルーチン) は使用中であるというダイアログを表示し、読み取り専用モードで開くかどうかを尋ねます。
現在私が使用しているクラスのスーパークラスを、他の人が変更しようとするとどうなりますか?
スタジオは、あなたが使用中のクラスのスーパークラスに、他の開発者が変更を加えることを防ぐことはできません。
クラスを開いて編集するときに、常にすべてのサブクラスのロックを取り外すことはできますが、これは実際には非常に面倒で扱いにくいものです。その代りに、開発にはスーパークラスの定義や変更についての規則や手順を、綿密に調整する必要があります。これは、他の言語 (Java など) を使用している開発チームが、ソース管理システムでクラス定義を使用する場合の状況に似ています。
新規のクラスを生成するには、どのようにすればいいでしょうか?
メニューにある
コマンドを使用して、新規のクラス定義を生成します。[新規クラス] ウィザードが起動します。
自分のクラスに生成されたソース・コードを見るには、どのようにすればいいでしょうか?
はい。
メニューの
コマンドを使用して、クラス・コンパイラが生成したすべてのソース・コードを見ることができます (現在のウィンドウにクラス定義が含まれる場合にのみ利用できます)。
クラスをコンパイルする前に、
[生成されたソース・コードを保存] オプションが設定されていることを確認してください。このオプションは、[クラス] タブの [オプション] ダイアログ・ボックスにあります。これを開くには、スタジオの
メニューの
コマンドを使用します。
クラスをコンパイルするときに、スタジオが “このクラスは最新なのでコンパイルする必要がない” というメッセージを表示します。強制的にコンパイルを実行することはできますか?
はい。
[最新アイテムをコンパイルしない] オプションをオフにします。このオプションは、[クラス] タブの [オプション] ダイアログ・ボックスにあります。これを開くには、スタジオの
メニューの
コマンドを使用します。
INT ルーチンを生成するには、どのようにすればいいでしょうか?
メニューの
コマンドを使用して、新規の Caché ObjectScript ルーチンを作成し、そのルーチンに
.INT 拡張子を付けて保存します。インクルード・ファイル (
.INC) も、同様の方法で生成できます。
SQL ビューを定義するには、どのようにすればいいでしょうか?
スタジオは、外部のソース管理システムとの差がなくなりますか?
Caché の従来のバージョンで、このバージョンのスタジオを使用できますか?
クラスの編集とデバッグをサポートするために、新しいスタジオでは Caché v5.0 以降のバージョンでのみ利用できるサーバ機能が必要です。
スタジオは、今後のバージョンとの互換性がありますか?
はい。スタジオの新しいバージョンは、Caché v5.0 より前、および以降のバージョンとの互換性を持つように設計されています。
スタジオ・クライアントは、Windows プラットフォームでのみ稼動し、Linux では稼動しません。Linux サーバと対話する Windows クライアントを使用することはできます。また、VMWARE などのパーティション・マネージャを使用して、Windows パーティションと Linux パーティションの両方を、ユーザの開発システム上で稼動させ、Linux パーティションで Caché を動かしながら Windows パーティションでスタジオを実行するという方法もあります。ネットワーキングの構成に工夫することにより、Windows パーティションが TCP/IP 経由で Linux パーティションと会話することができます。
UNIX または OpenVMS サーバでスタジオを使用できますか?
はい。Caché v5.0 以降のバージョンをご使用の場合は、すべてのサーバで新しいバージョンのスタジオを使用できます。
スタジオは、なぜ Microsoft Visual Studio のライセンス・コンポーネントを使用していないのですか?
Caché スタジオを、ライセンス供与や Visual Studio の拡張を利用しないで、
新規に構築 したのには、いくつかの理由があります。
-
Caché スタジオ・エディタは、Microsoft Studio フレームワークでは利用できない高性能の構文解析技術を使用しています。
-
Microsoft 社は、Visual Studio の今後のバージョンでの互換性を保証しません。
スタジオのインタフェースは、何故 Java で開発されなかったのですか?
現時点では、スタジオ・エディタで快適なパフォーマンスを得るためには、Windows API への直接呼び出しが唯一の方法です。Java を使用して開発された構文色付けエディタもありますが、それらはスタジオが使用する高性能の他言語構文解析を持たず、相応のパフォーマンスを得るには非常に性能の高いコンピュータを必要とします。