複数のマシンおよびコンテキストの操作

コンテキストの概説、およびコンテキストを使用して複数のマシン上で同一のコードを開発する方法の概説。

複数のプラットフォーム用にソフトウェアを開発したり、(使用するマシンが同種マシンの集合か異種マシンの集合かに関係なく) リモート・システム用に 分散ソフトウェアを開発したりする場合は、複数マシン間のプロジェクトをターゲットにするためにローカル/リモート C/C++ プロジェクトによって 提供されるマルチコンテキスト・サポートを使用できます。

基本的に、コンテキスト とは、あるホスト上のディレクトリーと、 そのディレクトリーに関連付けられているデータの集合 (コンテキストとの対話時に IDE によって使用される) との間にある名前付きの関連付けのことです。 通常、各ローカル/リモート C/C++ プロジェクトは、ターゲットとしたい各マシンのコンテキストに関連付けられます。 コンテキストは、プロジェクト・ソース・ファイルが保管されているターゲット・マシン上のディレクトリーを指します。 このようなコンテキストは、リモート・マシンをターゲットにすることもローカル・マシンをターゲットにすることもできます。 ローカル・コンテキストを使用すれば、オンライン中か切断状態かに関係なく、アプリケーションをローカルで容易に開発できます。 操作するコンテキストのタイプの違いについて詳しくは、 『リモート・コンテキストの操作』および『ローカル・コンテキストの操作』を参照してください。

マルチコンテキスト・サポートを十分に活用するには、ご使用のプロジェクトが同期プロジェクトでなければなりません。 同期プロジェクト とは、1 つのローカル・コンテキストと、同期相手である 1 つ以上のリモート・コンテキストを持つ プロジェクトのことです。 最初、プロジェクト作成時には、同期相手であるリモート・コンテキストが 1 つ存在しますが、 コンテキストは、「リモート・コンテキスト」ビューを使用していつでも追加できます。 プロジェクトを選択すると、プロジェクトに現在関連付けられているコンテキストのリストが表示されます。 この表示を使用してコンテキストを追加できます。 同期プロジェクトにより、ファイルのコピーがローカル・ワークステーション上と、プロジェクトの接続先の各マシン上に保持されます。 ファイルを編集するときは、ローカル・コピーを編集します。 ファイルを保存すると、変更が 1 つ以上のリモート・マシン (「リモート・リコンサイラー」ビューでの同期設定によって異なる) にプッシュされ、 リモート・コピーが更新されます。 リモート・コピーを直接変更した場合、その変更はリモート・リコンサイラーによって検出され、 その変更をローカル・コピーに同期できます (ローカル・コピーとリモート・コピーの両方を変更した場合は、 マージ・ツールを使用して競合をマージできます)。 通常、同期状態が保たれるのはテキスト・ファイルのみです。 オブジェクト・ファイルや実行可能ファイルなど、ビルドから生成されたファイルは、 ビルド先のマシンでのみ保持され、クライアントにコピーし戻されることはありません。 基本的に、ファイルのローカル・コピーはマスター・コピーです。 リモート・マシンから切断されても、ローカル・コピーは編集できますし、 リモート・マシンに再び接続したときに変更がリモート・コピーにプッシュされます。 Rational Team Concert などの統合バージョン管理システムでは、ローカル・コピーが操作されます。 オフライン・モードを使用すると、すべての接続が切断され、すべてのプロジェクトがローカル・コンテキストを使用するように切り替えられ、 オフライン中のローカル開発が容易になります。

ご使用のプロジェクトがまだ同期プロジェクトではない場合でも、マルチコンテキスト・サポートを使用したいときは、 プロジェクトのコンテキスト・メニューから「ローカル・ロケーションの関連付け」を選択することで、 ご使用のプロジェクトを同期プロジェクトに変換できます。 この場合、ウィザードが起動され、初期基本コンテキストを、ご使用のプロジェクトに関連付けることができます。

プロジェクトに複数のリモート・コンテキストがある場合、そのうちの 1 つは基本コンテキストでなければなりません。 IDE でアクション (ビルドの起動など) を実行すると、コマンドが基本コンテキストに送信されます。 基本コンテキストは、いつでも切り替えることができます。 リモート・リコンサイラーは、基本コンテキストとのみ同期しますが、更新されたファイルをすべて記憶しています。 そのため、新規基本コンテキストに切り替えると、そのコンテキストが基本コンテキストとして前回設定されたとき以降に行われた すべての変更が自動的にプッシュされます。 この動作により、非基本コンテキストから切断できます。 すべてのリモート・コンテキストに常時接続している必要はありません。

初めてコンテキストを切り替える (すなわち、コンテキストを「基本コンテキスト」 にする) ときは、ウィザードが表示されます。 そのウィザードで、対象プロジェクトと対話する方法をセットアップできます。

コンテキストがターゲットにするハードウェアおよび OS プラットフォームによっては、 そのコンテキストでビルドと解析の両方に使用するコンパイラー・ツール・チェーンについて 選択項目が提示されたり、索引付けオプションが提示されたりします。 このウィザードにより、対象マシンから各種サービス (ビルドや索引付けなど) を得るように IDE に指示するために、 コンテキスト用にサービスが正しく構成されます。 また、コンテキストに対応するビルド構成も作成されます。 これにより、ご使用のプロジェクトを構成し、各種環境変数、ビルド・コマンド/ビルド・ターゲット、および他の各種情報でコンテキストに対して 正しくビルドを行うことができます。 各種コンテキスト間を切り替えるときに、そのときに使用していたビルドやサービスの構成を IDE は記憶します。 後で、元のコンテキストに切り替えし直す場合には、同じビルドおよびサービスの構成が再び使用されます。 そのため、以前にアクセスしたことのない新規コンテキストに初めて切り替えるときにのみウィザードが表示されます。

特定の基本コンテキストを操作している間は、編集、ナビゲート、ビルド、デバッグを行ったり、コード・カバレッジ・ツールを実行したり、 アプリケーションのパフォーマンス分析を行ったりできます。 ただし、コンテキストがターゲットにするプラットフォームのハードウェアや OS によっては、制限がいくつかあります。 また、ツールによっては動作が異なったり、特定のコンテキストに対して使用できなかったりすることがあります。 操作するコンテキストのタイプの違いについて 詳しくは、『リモート・コンテキストの操作』および『ローカル・コンテキストの操作』を 参照してください。


フィードバック