Mit mehreren Maschinen und Kontexten arbeiten

Eine Übersicht über Kontexte und ihre Verwendung bei der Entwicklung des gleichen Codes auf mehreren Systemen.

Wenn Sie Software für mehrere Plattformen oder Software für dezentrale Plattformen für ferne Systeme entwickeln (mit einer homogenen oder heterogenen Gruppe von Systemen), können Sie die von lokalen/fernen C/C++-Projekten bereitgestellte Unterstützung mehrerer Kontexte verwenden, um Ihre Projekte mehreren Zielsystemen zuzuordnen.

Ein Kontext ist im Wesentlichen eine benannte Zuordnung zwischen einem Verzeichnis auf einem Host und einer zugeordneten Sammlung von Daten, die die IDE bei der Interaktion mit diesem Kontext verwendet. Normalerweise ist jedes lokale/ferne C/C++-Projekt einem Kontext für jedes gewünschte Zielsystem zugeordnet. Ein Kontext verweist auf das Verzeichnis auf einem Zielsystem, in dem die Quellendateien des Projekts gespeichert sind. Das Ziel dieser Kontexte können ferne Systeme oder Ihr lokales System sein. Die Verwendung des lokalen Kontexts erleichtert die lokale Entwicklung Ihrer Anwendung, online oder nicht verbunden. Weitere Informationen zu den Unterschieden bei der Arbeit mit diesen unterschiedlichen Kontexttypen finden Sie in Mit fernen Kontexten arbeiten und Mit lokalen Kontexten arbeiten.

Damit die Unterstützung mehrerer Kontexte vollständig genutzt werden kann, muss Ihr Projekt ein synchronisiertes Projekt sein. Ein synchronisiertes Projekt hat einen lokalen Kontext und mindestens einen fernen Kontext, mit dem es synchronisiert ist. Am Anfang nach der Projekterstellung verfügt es über einen fernen Kontext, mit dem es synchronisiert wird. Sie können jedoch über die Sicht 'Ferne Kontexte' jederzeit weitere Kontexte hinzufügen. Bei Auswahl Ihres Projekts wird die Liste der Kontexte angezeigt, die Ihrem Projekt derzeit zugeordnet sind, und Sie können in der Sicht zusätzliche Kontexte hinzufügen. Bei einem synchronisierten Projekt wird eine Kopie Ihrer Dateien auf der lokalen Workstation und auf jedem System verwaltet, mit dem das Projekt verbunden ist. Wenn Sie eine Datei bearbeiten, handelt es sich um die lokale Kopie. Wenn Sie die Datei speichern, werden die Änderungen mit Push an mindestens eins der fernen Systeme übertragen (je nach Synchronisationseinstellungen in der Sicht 'Ferne Ausgleichsfunktion') und die fernen Kopien werden aktualisiert. Wenn Sie eine ferne Kopie direkt ändern, wird diese Änderung von der fernen Ausgleichsfunktion erkannt und sie kann durch Synchronisation in der lokalen Kopie übernommen werden (wenn Sie sowohl die lokale als auch die ferne Kopie ändern, können Konflikte mithilfe eines Mischtools gemischt werden). Normalerweise werden nur Textdateien synchronisiert, durch einen Build erstellte Dateien (z. B. Objektdateien und ausführbare Dateien) werden nur auf dem System gespeichert, auf dem sie erstellt wurden, und sie werden nicht zurück auf den Client kopiert. Die lokale Kopie der Dateien ist die Masterkopie. Wenn Ihre Verbindung unterbrochen ist, können Sie die lokalen Kopien weiterhin bearbeiten, und wenn Ihre Verbindung wiederhergestellt ist, werden die Änderungen mit Push an die fernen Kopien übertragen. Integrierte Systeme zur Versionssteuerung, z. B. Rational Team Concert, arbeiten mit der lokalen Kopie. Die Verwendung des Offlinemodus unterbricht alle Ihre Verbindungen und bewirkt einen Wechsel aller Projekte zur Verwendung eines lokalen Kontexts, um die lokale Entwicklung im Offlinebetrieb zu erleichtern.

Wenn Ihr Projekt noch kein synchronisiertes Projekt ist, Sie die Unterstützung mehrerer Kontexte jedoch verwenden wollen, können Sie 'Lokalen Standort zuordnen' im Kontextmenü des Projekts auswählen, um es in ein synchronisiertes Projekt zu konvertieren. Dadurch wird ein Assistent aufgerufen, mit dem Sie Ihrem Projekt einen anfänglichen primären Kontext zuordnen können.

Wenn ein Projekt über mehrere ferne Kontexte verfügt, muss einer der primäre Kontext sein. Wenn Sie Aktionen in der IDE ausführen, z. B. Build starten, wird der Befehl an den primären Kontext gesendet. Sie können den primären Kontext jederzeit wechseln. Die ferne Ausgleichsfunktion synchronisiert nur mit dem primären Kontext, kennt jedoch alle Dateien, die aktualisiert wurden. Wenn Sie zu einem neuen primären Kontext wechseln, überträgt sie daher automatisch alle Änderungen mit Push, die seit der letzten Festlegung dieses Kontexts als primärer Kontext aufgetreten sind. Dieses Verhalten macht es möglich, dass Ihre Verbindung zu den nicht primären Kontexten unterbrochen werden kann. Möglicherwiese soll nicht ständig eine Verbindung zu allen fernen Kontexten bestehen.

Wenn Sie zum ersten Mal zu einem Kontext wechseln (d. h. ihn zu Ihrem primären Kontext machen), wird ein Assistent angezeigt, mit dem Sie festlegen können, wie Sie mit diesem Projekt interagieren wollen.

Je nach Hardware und Betriebssystemplattform, die Ziel des Kontexts sind, werden Ihnen Auswahlmöglichkeiten bezüglich der Compilertoolkette, die Sie in diesem Kontext für Build und Syntaxanalyse verwenden wollen, und auch einige Indexierungsoptionen angezeigt. Der Assistent erstellt eine ordnungsgemäße Servicekonfiguration für den Kontext, um die IDE anzuweisen, ihre verschiedenen Services (z. B. Builderstellung und Indexierung) von diesem System abzurufen. Außerdem erstellt er eine dem Kontext entsprechende Erstellungskonfiguration, so dass Sie Ihr Projekt so konfigurieren können, dass eine ordnungsgemäße Erstellung für diesen Kontext stattfindet, mit verschiedenen Umgebungsvariablen, Erstellungsbefehlen/Erstellungszielen und anderen Informationen. Wenn Sie zwischen Ihren verschiedenen Kontexten wechseln, speichert die IDE die Erstellungs- und Servicekonfigurationen, die Sie beim Wechsel von einem bestimmten Kontext zu einem anderen Kontext verwendet haben. Wenn Sie später zu diesem Kontext zurückkehren, werden dieselben Erstellungs- und Servicekonfigurationen wieder verwendet, so dass der Assistent nur beim ersten Wechsel zu einem neuen Kontext, den Sie bisher noch nicht verwendet haben, in Erscheinung tritt.

Während Ihrer Arbeit mit einem bestimmten primären Kontext können Sie folgende Funktionen für Ihre Anwendung ausführen: bearbeiten, navigieren, erstellen, Debug ausführen, Tools für Codeabdeckung ausführen und Leistungsanalyse ausführen. Es gibt jedoch einige von der Hardware und dem Betriebssystem der Plattform, die Ziel Ihres Kontexts ist, abhängige Einschränkungen und einige Tools können in bestimmten Kontexten nicht verfügbar sein oder sich anders verhalten. Weitere Informationen zu den Unterschieden bei der Arbeit mit diesen unterschiedlichen Kontexttypen finden Sie in Mit fernen Kontexten arbeiten und Mit lokalen Kontexten arbeiten.


Feedback