2009-06-05 11 views
30

Ich habe ein Projekt, an dem ich arbeiten muss von zwei verschiedenen Computern, bei der Arbeit und zu Hause. Ich muss in der Lage sein, den Code von beiden Computern zu bearbeiten, also ist das Problem zweifach;Eclipse synchronisieren Arbeitsbereiche/Perspektiven/Einstellungen über Computer

  1. teilen Sie den Code
  2. den Arbeitsbereich teilen.

1 ist einfach genug mit svn; aber ich fühle mich eklig, dass ich kaputten code an svn verpfände, nur damit ich wieder von zu hause darauf zugreifen kann. Ich kann damit leben, aber gibt es eine bessere Option?

Um mehr auf 2 zu erarbeiten. Ich habe ein sehr kundenspezifisches Eclipse-Setup auf einem der Computer, wo ich stundenlang Plugins hinzufügte und alle winzigen Konfigurationsoptionen manipulierte, um an den Punkt zu gelangen, wo es genau richtig ist. Es wird ein Problem sein, jede einzelne Änderung am anderen Computer zu wiederholen. Gibt es eine Möglichkeit, das automatisch zu synchronisieren? Ich weiß, dass ich Einstellungen aus Eclipse exportieren und importieren kann, aber ich möchte das nicht jedes Mal manuell machen müssen, wenn ich etwas ändere. [Auch ich glaube nicht, exportieren Präferenzen exportiert auch Perspektiven?]

Beide Computer laufen Windows.

+2

Haben Sie http://stackoverflow.com/questions/951509/aintaining-a-common-set-of-eclipse-preferences angeschaut? –

+0

Um Adresse # 1: Verwenden Sie ein DVCS wie Mercurial! Dies beseitigt das Problem vollständig. http://www.hginit.com/ – Ricket

+0

Ich hatte gerade eine Idee von einem Präferenzen-Sync-Plugin mit JGit .. in der Hoffnung, es ist bereits gelöst - dann führte mich Google hier .. danke trotzdem für das fragen. – inger

Antwort

2

Um zu folgen, habe ich Pulse mit einigem Erfolg poweredbypulse.com verwendet. Es ist nicht die ideale Lösung, aber es funktioniert bisher ziemlich gut für mich.

1

Regarging # 1, habe ich auch darüber nachgedacht. Microsofts TFS hat eine "Zurücksetzen" -Funktion, die das tut, was Sie wollen (ausstehende Änderungen auf dem Server speichern, ohne zu committen). Es ist wie ein persönlicher Zweig.

In Subversion würde ich wahrscheinlich eine Verzweigung für meinen blading-edge, vielleicht-gebrochenen Code erstellen, und nur in regelmäßigen Abständen zu Stamm verbinden.

0

Oder einfach Remote Desktop in Ihrem bevorzugten Computer von der anderen.

+0

Leider funktioniert das nicht für ein Dual-Boot-Setup (wie das, das ich verwende). Ich kann Ubuntu und Windows nicht gleichzeitig booten, das wäre nicht machbar. –

1

Ich benutze rsync, um eine ähnliche Sache zwischen meinem Laptop (OSX) und Desktop (Linux) zu tun.

Eine schnelle Google-Suche erwähnt rsync ist für Windows verfügbar - so könnte dies eine Option für Sie sein.

Sie können dies wahrscheinlich so einstellen, dass es von Ihrem Betriebssystem nach einem Zeitplan festgelegt wird. Ich habe es selbst eingerichtet, wenn ich auf mein Büronetzwerk zugreife oder wenn Dateien geändert werden.

+0

Hey Matt, Entschuldigung, habe diesen Kommentar irgendwie früher verpasst. Ich löste mein Problem mit einer Kombination aus der Verwendung von rync, um den Server alle 5 Minuten und dem Eclipse-Puls zu aktualisieren. Aber Ihre Idee, es einzurichten, Dateien nur zu kopieren, sobald sie geändert werden, ist interessant und für mich ideal. Kannst du mich wissen lassen, wie das geht? – Naren

1

Eclipse und die meisten anderen Java-Tools sind leicht zu transportieren.

Sie können sie auf einen USB-Stick kopieren und auf einem beliebigen Computer ausführen. Für das JDK muss es ein ähnliches Betriebssystem haben.

Ich habe einen "C: \ Entwicklung" Ordner mit Eclipse, Java, Jboss, Arbeitsbereich, Ant, Maven, Svn, etc .. die ich entpacken und in C: auf jedem Windows-Rechner und meine Umgebung ausführen kann.

Ich renne es nicht aus dem USB-Stick, weil Sie nie wissen, welchen Buchstaben das Laufwerk erhalten wird und einige der Referenzen, die Eclipse hält, sind voll qualifiziert.

23

Tragbare Entwicklungsumgebung

Nicht, dass Sie von einem USB-Flash-Laufwerk ausführen wollen würde, aber Sie können Eclipse-Bundle und das JDK alle in einem Verzeichnis, wie hier beschrieben, eine schön selbst zu haben enthaltene Entwicklungsumgebung:

Sie auch in ein paar mehr Werkzeuge werfen kann, wenn nötig:

Siehe PortableApps für zusätzliche Werkzeuge, darunter eine, die ein Menü in der Taskleiste einen schnellen Zugriff auf alle Ihre tragbaren Werkzeugen geben setzen.

Sobald du hast, dass einrichten, dann eine Option verwenden, wie eine der folgenden Möglichkeiten das Verzeichnis auf mehreren Arbeitsstationen zu teilen:

External Hard Drive

Ein Flash-Laufwerk wäre zu langsam, aber oft ist eine externe Festplatte in Ordnung. Natürlich musst du es herumschleppen. Und es macht keinen Spaß, wenn Sie eines Tages vergessen, es zur Arbeit zu bringen - so wie gestern mein Laptop. :-) Laufwerksbuchstabeänderungen können ein anderes Problem sein.

Mirroring Werkzeuge

Eine Spiegelung/Backup-Tool ist einfach, aber fehleranfällig. Dies sind Einweg-Tools, da sie alles von einer Workstation auf eine andere kopieren. Das Risiko besteht darin, dass Sie Änderungen an einer Arbeitsstation vornehmen, das Ausführen des Tools vergessen, dieselben Dateien an der anderen Arbeitsstation ändern und das Tool ausführen, indem Sie Ihre Änderungen überschreiben.

Synchronization Werkzeuge

ein Schritt von einem Spiegelungswerkzeug wäre ein syncronization Werkzeug sein. Diese erkennen Änderungen und ermöglichen Ihnen die Auswahl von Zusammenführungen. Sie müssen daran denken, es manuell auszuführen oder ein anderes Tool verwenden, um es zu bestimmten Zeiten zu planen.

Synchronization Services

Dies sind Dienste, die automatisch Dateien zwischen Workstations synchronisieren. Die meisten, wenn nicht alle, behandeln Konflikte und erlauben den Zugriff auf frühere Versionen von Dateien.Sie sind nett, weil sie eingestellt und vergessen werden. Sie müssen nicht daran denken, ein Spiegel- oder Sync-Tool auszuführen. Außerdem müssen Sie keine Workstation eingeschaltet lassen, damit Sie sie manuell synchronisieren können, wenn Sie zur anderen Workstation gelangen.

+0

+1 gut erforscht. Ich mag die Idee, eine sekundäre Synchronisationsstrategie zu verwenden, um die Dateien gespiegelt zu halten. –

+2

Um die Eigenart mit dem Leerzeichen im Namen zu lösen, erstellen Sie eine Verknüpfung (Junction on NT) mit einem Speicherort mit einem akzeptablen Namen. – larelogio

+1

Ist es möglich, Eclipse auf einem Flash-Laufwerk zu installieren (und diese Installation mit allen Betriebssystemen anstatt nur mit einem Betriebssystem arbeiten zu lassen)? –

1

Sie könnten die Verwendung von Pulse in Erwägung ziehen. Es ist kostenlos und eignet sich hervorragend zum Erstellen einer Standard-Eclipse-Installation, die alle Ihre Plugins und Arbeitsplatzeinstellungen enthält (wenn Sie die freiberufliche Version verwenden - nicht kostenlos). Es ist nett, eine funktionierende Eclipse-Konfiguration erstellen zu können und dann die gleiche Profilinstallation auf einem anderen Computer zu wiederholen ODER dieses Profil mit einem ganzen Team zu teilen.

9

Ich habe gerade das recently announcedworkspace mechanics Plugin ausprobiert. Es scheint genau für den zweiten Teil der Frage gemacht zu sein.

Sie müssen ein Verzeichnis angeben, in dem die Einstellungen gespeichert werden sollen (standardmäßig ~/.eclipse/mechanic). Wenn das Plugin installiert ist, können Einstellungen einfach in separate Dateien exportiert werden. Wenn Sie einen neuen Arbeitsbereich starten und das Plugin auf das richtige Verzeichnis verweisen (oder den Standard beibehalten), wird ein Dialogfeld angezeigt, in dem Sie auswählen können, welche Einstellungen für den aktuellen Arbeitsbereich gelten sollen.

3

In Bezug auf Problem # 1 verwende ich Dropbox und bin sehr glücklich damit.

Ich habe ein Problem beim Öffnen eines Projekts festgestellt, nachdem es auf einem anderen Computer aktualisiert wurde: Eclipse nimmt Änderungen in vorhandenen Dateien auf, fügt jedoch nicht automatisch neue Dateien hinzu. Dies wird gelöst, indem Sie einfach mit der rechten Maustaste auf das Projekt klicken und "Aktualisieren" auswählen.

Verwandte Themen