Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

スタジオに関するよくある質問

スタジオに関する質問と回答のセットです。

プロジェクト

Question:

プロジェクトとは何ですか?

Answer:

プロジェクトとは、便宜上まとめることのできる、クラス定義、ルーチン、または CSP ファイル (またはこれらすべて) の集合です。

プロジェクトを使用すると、スタジオ・セッションを開始するときに、簡単に今までの作業に戻ることができます。例えば、アプリケーション、またはその一部に関連するすべてのクラスを、1 つのプロジェクトの中に置くことができます。スタジオを開始するときにこのプロジェクトを開くと、ワークスペース・ウィンドウの [プロジェクト] タブに、すべてのクラスが一覧表示されます。

1 つの外部ファイルからプロジェクト全体をエクスポートしたりインポートしたりできるので、簡単にアプリケーション・コードを保存したり、渡したりできます。

Question:

プロジェクトに項目を追加するには、どのようにすればいいでしょうか?

Answer:

以下に、現在のプロジェクトに項目を追加する方法のいくつかを示します。

  • [ファイル]→[開く] で 1 つまたは複数の項目を開く前に、[開く] ダイアログの [プロジェクトに追加] チェック・ボックスにチェックを付けます。

  • 現在のエディタ・ウィンドウの項目を現在のプロジェクトに追加するには、[プロジェクト]→[アイテム追加] を選択します。

  • ワークスペース・ウィンドウで、項目をハイライト表示して右クリックし、[プロジェクトに追加] を選択します。

Question:

異なるネームスペースのものを、プロジェクトに追加することはできますか?

Answer:

いいえ。プロジェクトに含むことができるのは、現在の Caché ネームスペースから見える項目のみです。

Question:

1 つの項目が、複数のプロジェクトに属することはできますか?

Answer:

はい。プロジェクトは、一緒にグループ化するために選択して指定した項目 (クラス定義、ルーチン、CSP ファイル) のセットです。項目自体は、属するプロジェクトに対してリンクを持ちません。項目が属することのできるプロジェクトの数の制限はありません。

Question:

プロジェクトを使用したくない場合は、どのようにすればいいでしょうか?

Answer:

スタジオでは、必ずしもプロジェクトを使用する必要はありません。完全に無視しても問題ありません。プロジェクトを無視するには、既定のプロジェクトに項目を追加せず、スタジオの終了時に、プロジェクトを保存するかどうかを聞かれたときに、これを無視してください。

Question:

プロジェクトをエクスポートできますか?

Answer:

はい。[ツール]→[エクスポート]→[プロジェクトのエクスポート] を選択します。ファイル名を入力し、[OK] をクリックします。これにより、現在のプロジェクトのコンテンツがすべて (プロジェクト定義も含め) 1 つの XML ファイルにエクスポートされます。

Question:

プロジェクトを削除するには、どのようにすればいいでしょうか?

Answer:

[ファイル]→[開く] を選択して、すべてのプロジェクトを表示します。プロジェクトを右クリックして、[削除] を選択します。

この方法では、[ファイル]→[開く] を使用して、サーバ上のすべてのタイプの項目を削除することができます。

ファイルを開く

Question:

クラス定義を開くには、どのようにすればいいでしょうか?

Answer:

既存のクラス定義 (Caché サーバに保存されているもの) を開くには、以下を実行します。

  1. クラス定義を含む Caché ネームスペースおよびサーバに接続していることを確認します。

  2. [ファイル]→[開く] を選択します。

  3. [開く] ダイアログの [ファイルの種類] コンボ・ボックスで、[Class Definitions] (.CLS) または [All] を選択して、クラス定義が表示されているかどうかを確認してください。

  4. パッケージ名は、フォルダとしてファイルのリストに表示されます。パッケージ名を選択すると、パッケージ内のすべてのクラス (または、サブパッケージ) が表示されます。クラス名をダブルクリックして開きます。

  5. あるいは、開きたいクラスの名前に .cls 拡張子を付けて (Sample.Person.cls など) ファイル名編集ボックスに直接入力し、[開く] を選択します。

Question:

ルーチンを開くには、どのようにすればいいでしょうか?

Answer:

既存のルーチン (Caché サーバに保存されているもの) を開くには、以下を実行します。

  1. ルーチンを含む Caché ネームスペースおよびサーバに接続していることを確認します。

  2. [ファイル]→[開く] を選択します。

  3. [開く] ダイアログの [ファイルの種類] コンボ・ボックスで、[MAC routines] (.MAC)、[INT routines] (.INT)、または [All] を選択して、ルーチンが表示されているかどうかを確認してください。ルーチン名をダブルクリックします。

  4. あるいは、拡張子を付けたルーチン名 (MyRoutine.MAC など) をファイル名編集ボックスに直接入力し、[開く] を選択します。

Question:

CSP ファイルを開くには、どのようにすればいいでしょうか?

Answer:

クラス定義やルーチンと同じ方法で CSP ファイルを開くことができます。主な違いは、[開く] ダイアログでは CSP アプリケーションがフォルダとして表示され (/csp/samples など)、アプリケーションの名前を選択すると、その中の CSP ページが表示されることです。

Question:

[開く] ダイアログの [システム・アイテムを含む] というチェック・ボックスは、何ですか?

Answer:

[システム・アイテムを含む] チェック・ボックスにチェックが付いている場合は、[ファイル]→[開く] ダイアログに現在のネームスペースに含まれる項目に加え、システム項目 (名前の最初に % 文字が付き、CACHELIB データベースに保存されている項目) も表示されます。

Question:

[ファイル]→[開く] ダイアログで、パターン・マッチングを使用できますか?

Answer:

はい。標準の [ファイル]→[開く] ダイアログの場合と同様に、“*” 文字を任意の文字列と一致するワイルドカードとして使用できます。ファイル拡張子を使用すると、特定の項目をフィルタにかけることができます。例えば、“*.cls” は、選択されたパッケージ内のクラス定義のみを表示します。任意の文字の照合には、“?” 文字を使用できます。これらは Windows のパターン・マッチング規則であり、Caché のパターン・マッチングではありません。

Question:

異なるネームスペースからルーチンを開くには、どのようにすればいいでしょうか?

Answer:

スタジオの [ファイル]→[開く] ダイアログでは、現在のネームスペースとサーバにある項目のみが表示されます。異なるネームスペースやサーバからルーチンを開くには、以下の方法があります。

  1. [ファイル]→[ネームスペース変更] を選択します。

  2. 必要なルーチンを開きます。

Question:

% クラスを開くことはできますか?

Answer:

はい。下部にある [システム・アイテムを含む] チェック・ボックスにチェックを付けることにより、[ファイル]→[開く] ダイアログで % クラス (パッケージ名が % 文字で始まり、CACHELIB データベース内に保存されているクラス) を一覧表示することができます。

%SYS 以外のネームスペースに接続したまま % クラスを開く場合、スタジオはそれらのクラスを読み取り専用で開きます。

Question:

[ファイル]→[接続] では、何が実行されますか?

Answer:

スタジオは、特定の Caché ネームスペースとサーバへの接続を保持します。この接続を使用して、クラスのリストを表示します (プロパティ・タイプやスーパークラスの指定など)。また、デバッグにもこの接続を使用します。[ファイル]→[接続] によって別のサーバに接続できます。

デバッグ

Question:

デバッグを開始するには、どのようにすればいいでしょうか?

Answer:

以下の方法で、デバッガをターゲット・プロセスに接続することができます。

  • [プロジェクト]→[設定] を使用して、現在のプロジェクトの “デバッグ対象” (デバッグを行うプログラム、またはルーチンの名前) を定義します。次に、[デバッグ]→[実行] を選択して対象のプログラムを起動し、そのサーバ・プロセスに接続します。

  • [デバッグ]→[アタッチ] を選択して、Caché サーバで実行中のプロセスのリストから選択して接続します。

詳細は、このドキュメントの "スタジオ・デバッガの使用" の章を参照してください。

Question:

クラスをデバッグするには、どのようにすればいいでしょうか?

Answer:

スタジオのデバッガを使用すると、Caché サーバで動作するプログラムをステップ実行できます。これらのプログラムには、INT ファイル、MAC ファイル、CLS ファイル内のメソッド、HTTP 要求に応答する CSP クラス、Java や ActiveX クライアントから呼び出されるサーバ側のメソッド、またはサーバでホストされるアプリケーションなどがあります。

  1. デバッグ中に INT ファイルを表示し、後で見直すために INT を保存するには、クラスをコンパイルする前に、[ツール]→[オプション]→[コンパイラ]→[一般フラグ] ページにある [生成されたソース・コードを保存] オプションを設定します。

  2. 希望するソース行で F9 (ブレークポイントの切り替え) を押すことにより、クラス・メソッド (または前述の任意の他のファイル) 内の希望する場所にブレークポイントを設定します。

  3. [デバッグ]→[デバッグ対象] を使用して、デバッガがコードの実行を開始する位置を指定する、デバッグ対象を設定します。ステップ実行を行うクラス名とメソッド名を入力します。

  4. Ctrl-F5 キーを押すか、[デバッグ]→[実行] を選択してデバッガを起動します。

Question:

変数をウォッチできますか?

Answer:

はい。デバッグ中に、スタジオのウォッチ・ウィンドウの左側の列に、変数名 (または式) を入力します。デバッガが一時停止するたびに、変数または式は再評価されます。

編集

Question:

エディタの色分けは何を意味するのですか?エディタ内の色を変更することはできますか?

Answer:

スタジオでは、指定した言語の構文の要素を識別するために、色が使用されます。

以下の方法で、さまざまな構文要素の色を変更します。

  1. [ツール]→[オプション]→[エディタ]→[色] を選択します。

  2. 言語を選択します。

  3. 要素 (comment、variable など) を選択します (利用できる要素は、選択した言語により異なります)。

  4. 前景色と背景色を選択して、[OK] を選択します。

Question:

コードの下に赤い波線があるのですが、これは何ですか?

Answer:

赤い波線は、そのコード (またはその前のコード) に構文エラーが含まれることを示しています。

Question:

スタジオで漢字および中国語文字を使用できますか?

Answer:

はい。スタジオは、Unicode 文字および漢字を完全にサポートしています。

Question:

スタジオでヘブライ文字およびアラビア文字を使用できますか?

Answer:

はい。スタジオ・エディタは、双方向編集と同様に、ヘブライ文字およびアラビア文字もサポートしています。

ファイルのインポート

Question:

外部ファイルから、クラス定義やルーチンをインポートできますか?

Answer:

はい。[ツール]→[インポート] を選択します。

Question:

ローカル・ファイルとリモート・ファイルの違いは何ですか?

Answer:

スタジオは、クライアント/サーバ・アプリケーションです。つまり、スタジオ自体はクライアントのシステム上で稼動し、サーバと会話します。サーバは、同じマシンまたはリモート・マシンのどちらにでも置くことができます。スタジオで “ローカル” と “リモート” という用語を使用する場合、クライアント・システムおよびサーバ・システムに格納されているオペレーティング・システム・ファイル (インポートやエクスポートの際など) を意味します。

クライアントとサーバの両方が同じシステム上にある場合は、ローカルとリモートは同じです。

印刷

Question:

スタジオから印刷することはできますか?

Answer:

はい。[ファイル]→[印刷] または [ファイル]→[印刷プレビュー] を選択します。

テンプレート

Question:

テンプレートとは何ですか?

Answer:

テンプレートは、ユーザ定義のスタジオのアドインを生成するためのメカニズムです。テンプレートは、現在のドキュメントの現在のカーソル位置にコードの断片を挿入するプログラムです。必要に応じて、そのコードの断片をカスタマイズすることができます。詳細は、このドキュメントの “スタジオ・テンプレートの使用法” の章を参照してください。

Question:

利用できるテンプレートのリストはありますか?

Answer:

はい。[ツール]→[テンプレート]→[テンプレート] を選択します。

Question:

新規のテンプレートを作成できますか?

Answer:

はい。このドキュメントの “スタジオ・テンプレートの使用法” の章を参照してください。

マルチユーザ・サポート

Question:

スタジオは、複数のユーザによる開発をサポートしていますか?

Answer:

はい。これには、以下のようにいくつかの方法があります。

  • 共通の Caché サーバ・システムをセットアップし、すべての開発者がこれにコードを保存する方法。

  • (開発者のシステム上の) ローカルの Caché サーバを使用して、エクスポートした XML ファイルとして、ソース・コードをソース管理システムに保存します。

Question:

他の人が編集中のクラス (またはルーチン) を開こうとすると、どうなりますか?

Answer:

スタジオは、クラス (またはルーチン) は使用中であるというダイアログを表示し、読み取り専用モードで開くかどうかを尋ねます。

Question:

現在使用しているクラスのスーパークラスを、他の人が変更しようとするとどうなりますか?

Answer:

スタジオは、ある開発者が使用中のクラスのスーパークラスに、他の開発者が変更を加えるのを阻止しません。

クラスを開いて編集するときに、常にすべてのサブクラスのロックを取り外すことはできますが、これは実際には非常に面倒で扱いにくいものです。その代わりに、開発チームで、スーパークラスの定義や変更についての規則や手順を調整する必要があります。これは、他の言語 (Java など) を使用している開発チームが、ソース管理システムでクラス定義を使用する場合の状況に似ています。

クラス

Question:

新規のクラスを生成するには、どのようにすればいいでしょうか?

Answer:

[ファイル] メニューにある [新規作成] コマンドを使用して、新規のクラス定義を生成します。[新規クラス] ウィザードが起動します。

詳細は、このドキュメントの "クラス定義" の章を参照してください。

Question:

自分のクラスに生成されたソース・コードを見ることができますか?

Answer:

はい。[ビュー]→[他のコードの表示] を使用して、クラス・コンパイラが生成したすべてのソース・コードを見ることができます (現在のウィンドウにクラス定義が含まれる場合にのみ利用できます)。

クラスをコンパイルする前に、[生成されたソース・コードを保存] オプションが設定されていることを確認してください。このオプションは、[ツール]→[オプション]→[コンパイラ]→[一般フラグ] ページにあります。

Question:

クラスをコンパイルするときに、スタジオが "このクラスは最新なのでコンパイルする必要がない" というメッセージを表示します。強制的にコンパイルを実行することはできますか?

Answer:

はい。[関連する最新ドキュメントをスキップ] オプションをオフにします。このオプションは、[ツール]→[オプション]→[コンパイラ]→[一般フラグ] ページにあります。

ルーチン

Question:

INT ルーチンを生成するには、どのようにすればいいでしょうか?

Answer:

[ファイル] メニューの [新規作成] コマンドを使用して、新規の ObjectScript ルーチンを作成し、そのルーチンに .INT 拡張子を付けて保存します。インクルード・ファイル (.INC) も、同様の方法で生成できます。

SQL

Question:

SQL ビューを定義するには、どのようにすればいいでしょうか?

Answer:

スタジオには、SQL ビューを定義するメカニズムがありません。このタスク、および SQL に関する他のタスクを実行するには、管理ポータルを使用してください。

ソース・コントロール

Question:

スタジオは、外部のソース管理システムと統合できますか?

Answer:

はい。 以下はその方法です。

  1. システム定義クラス %Studio.SourceControl.BaseOpens in a new tab のサブクラスを作成し、それにソース管理システムと対話するためのメソッドを実装します。 作成したクラスは、特定のイベントに対応してスタジオから呼び出され、指定したアクションを実行します。

  2. 管理ポータルの [スタジオソースコントロール設定] ページ (システム, 構成, ソースコントロール設定) を選択し、リストからサイト固有のソース・コントロール・クラスを選択して [OK] を選択します。

これで、ソース管理システムと対話するように、スタジオが構成されました。 スタジオでドキュメントを開く場合は、それを開く前に、ソース・コントロール・クラスの OnBeforeLoad メソッドが呼び出されます。一般に、このメソッドは、ドキュメントを表すファイル上のタイムスタンプをチェックし、それがファイル内で新しい場合、メソッドは Caché 関数を呼び出して、これを現在のネームスペースにインポートします。これにより、このファイルの最新バージョンが必ず表示されます。

ファイルを変更してそれを保存すると、スタジオはソース・コントロール・クラスの OnAfterSave メソッドを呼び出します。一般に、このメソッドは、このドキュメントをファイルシステムにエクスポートします  (これにより、Caché 内にあるルーチンやクラスなどと、これらのファイルとの同期が維持されます)。

ドキュメントを変更しようとすると、スタジオはそのドキュメントのロック取得を試みます。同時に、ソース・コントロール・メソッド GetStatus への呼び出しをトリガします。 ソース・コントロールでファイルがロックされると、スタジオではそのファイルをチェック・アウトするかどうかをユーザに尋ねることができます。これにより、項目のチェック・アウトに必要なアクションを実行する CheckOut メソッドへの呼び出しがトリガされます。

%Studio.SourceControl.BaseOpens in a new tab および %Studio.Extension.BaseOpens in a new tab では、必要に応じた複雑さでスタジオとソース管理システム間の対話の作成を可能とする、一連のメソッドが提供されます。

Question:

独自のフックを作成できますか?

Answer:

はい。個人のフック (項目がサーバに保存されたとき、およびサーバからロードされたとき、常に実行されるコード) を定義できます。詳細は、付録の "スタジオのソース・コントロール・フックの使用法" を参照してください。

互換性

Question:

スタジオ・クライアントを Caché サーバに接続できますか?

Answer:

スタジオ・クライアントでは、Caché と同じバージョンを実行しているか、その接続先の Caché サーバより新しいバージョンを実行している必要があります。例 : Caché 2015.1 スタジオは、Caché 2015.1 以前のサーバに接続できます。Caché 2014.1 スタジオは、Caché 2015.1 以降のサーバに接続できません。このことは、メンテナンス・リリースにも当てはまります。例 : Caché 2014.1.2 スタジオは、Caché 2014.1.1 以前のメンテナンス・リリースまたはバージョンのサーバに接続できます。Caché 2014.1.0 スタジオは、Caché 2014.1.1 以降のメンテナンス・リリースまたはバージョンのサーバに接続できません。

Question:

Linux でスタジオを使用できますか?

Answer:

スタジオ・クライアントは、Windows プラットフォームでのみ稼動します。Windows クライアントを使用して、任意のサーバと対話できます。また、VMWARE などのパーティション・マネージャを使用して、Windows パーティションと Linux パーティションの両方を、ユーザの開発システム上で稼動させ、Linux パーティションで Caché を実行しながら Windows パーティションでスタジオを実行することもできます。唯一のコツは、Windows パーティションが TCP/IP 経由で Linux パーティションと通信できるようにネットワークを構成することです。また、スタジオは、Intel ベースの Macintosh 上の Windows でも実行できます。

スタジオ実装

Question:

スタジオは、なぜ Microsoft Visual Studio のライセンス・コンポーネントを使用していないのですか?

Answer:

スタジオを、ライセンス供与や Visual Studio の拡張を利用しないで、“新規に構築” したのには、いくつかの理由があります。

  • スタジオ・エディタは、Microsoft Studio フレームワークでは利用できない高性能の構文解析技術を使用しています。

  • Microsoft 社は、Visual Studio の今後のバージョンでの互換性を保証しません。

Question:

スタジオのインタフェースは、なぜ Java で開発されなかったのですか?

Answer:

現時点では、スタジオ・エディタで快適なパフォーマンスを得るためには、Windows API への直接呼び出しが唯一の方法です。Java を使用して開発された構文カラー表示エディタもありますが、これらのエディタにはスタジオが使用する高性能の多言語構文解析が提供されないので、相応のパフォーマンスを得るには非常に性能の高いコンピュータを必要とします。

FeedbackOpens in a new tab