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