Zentralisierte live die gemeinsame Bearbeitung in Visual Studio
Nun, bevor Sie auf mich Schießen für die Erziehung eine doppelte Frage auf SOF, lassen Sie mich zunächst lernen Sie genau das, was ich Suche, und ich werde die anderen Fragen und Antworten, und warum es nicht ausreichend ist.
Frage #1:
Ich bin auf der Suche nach einem Weg, um live-kooperative Bearbeitungen, während die Quelle ist gepflegt, die auf eine zentrale source-control-server. Zum Beispiel, wenn Sie Mich und Joe Blow Bearbeiten Datei X.cs
zur gleichen Zeit, wir sollten in der Lage sein, um jeden-anderen Bearbeitungen als wir geben. Fast so, als wenn wir saßen zusammen auf dem gleichen computer. Nun nehmen Sie das folgende Szenario: ich und Joe geht offline, und Nimha Smith beschließt, Sie will update-code. Wenn ich wieder online kommen am folgenden Tag, bekomme ich schob den code, der Nimha aktualisiert, während ich schlief,/Weg von den server.
Dies ist eine Kombination der Idee der live-Zusammenarbeit, und ein source-control-system wie SVN, etc.
Adressierung der möglichen Duplikate:
Gab es eine ähnliche Frage, hier: Die gemeinsame Bearbeitung von für .NET Entwicklung - was sind die Möglichkeiten, aber es gibt mir nicht alles, was nützlich, und ich werde erklären, warum:
- VsAnywhere: Es läuft über eine zentrale public-server (richtige Richtung..?) außer alle beteiligten müssen die exakt gleichen code an Ihre Maschine, bevor Sie einer Sitzung beitreten, und sobald Sie offline gehen, die session zerstört wird.
- SourceMeet: Läuft mit einem P2P-system, so dass keine server zum verfolgen von änderungen während der offline-etc. Habe es nicht ausprobiert, also kann ich nicht bestätigen, wie gut es kann merge-code (wenn überhaupt)
- CollabEdit: Nicht VisualStudio
- Cloud 9: Nicht VisualStudio
Und es ist offensichtlich diese Frage und diese eine, dass sind Fragen, die direkt über die source-control-software wie SVN oder GIT. Nun, ich habe versucht, um VSAnywhere und SVN zu spielen schön zusammen (SVN für immer änderungen, die offline sind, und VSAnywhere für die online-Entwickler), aber es funktioniert einfach nicht.
<edit>
Vor kurzem fand ich diese bachelor-thesis-Projekt mit dem Namen Collab, und es scheint wie eine gute Idee, aber ich konnte nicht scheinen, um es zu arbeiten, es zu versuchen. Wenn jemand anderes hat keinen Erfolg mit it bitte lassen Sie mich wissen, was Sie Tat. Wie es aussieht, wenn ich dieses collab Projekt arbeiten, es scheint so, als wäre es ein guter start in die Schaffung von etwas zu meinen Anforderungen passen.
<edit2>
Habe ich auch gekommen, über BeWeeVee, die eine Visual Studio-Erweiterung für den service, aber alle links, die für Sie gegangen sind tot. Und CodeALike das war wohl Ihr Ersatz für VS-real-time collaboration hat ein FAQ-Eintrag erklärt, dass es das real-time-Funktionen wurden entfernt und werden neu implementiert in der "Zukunft".
Frage #2:
Nun das bringt mich zum zweiten Teil meiner Frage, da ich voll und ganz verstehen kann es nicht ein Programm gibt, passt mein großer Auftrag. Wo könnte ich beginnen, die Implementierung der software, wie diese selbst? Gibt es einige bestehende open-source-control /real-time-Bearbeitung-code, dass ich anfangen kann zu bauen, aus der diese zu erstellen? Oder bin ich ziemlich viel stecken und von vorne anfangen, wenn ich will, um dies zu implementieren. Und ich bin sicher, Sie können sehen, indem Sie die tags, die ich angehen möchten, eine Aufgabe wie diese in C#, wenn ich zum Angriff auf alle.
Update 2017
Da gab es schon einige Interesse bekundet in die Kommentare ich ' ve erstellt ein gitter, wo wir uns sammeln können, alle interessierten und potenziell machen dies zu einer Realität: https://gitter.im/sof-centrailized-collab-editing/Lobby.
- Wenn Sie op auf die "gleiche Datei" Anforderung, die Sie setzen könnte dein code in einem dropbox-Ordner, und aggressiv zu speichern und laden Sie den code.
- Ich interessiere mich für hopping auf dieses Projekt, haben wir ein repo? codeplex? Ich bin wirklich interessiert in diesem. Ich würde gerne sehen, dass Microsoft gegen dieses Problem mit skype-integration zu, da Sie eigene skype jetzt.
- Hi, ist das Projekt noch am Leben ? Wenn ja, würden Sie, sollten Sie erwägen einen link hier ?
- Nicht lebendig, Nein. Wir fertigen die Planungs-Phase und kamen durch einige der Umsetzung, aber nie wirklich zu weit. Timwi und ich könnte wahrscheinlich zusammen ein repo, was wir zu tun haben, wenn einige andere Leute wollten es...
- sind Sie immer noch aktiv an der Entwicklung dieser? Ich würde gerne helfen! Ich habe auf der Suche nach etwas wie dies für eine kleine Weile und haben es integriert in Visual Studio wäre erstaunlich!
- Es wurde nie verfolgt, um etwas von Wert. Einige erste VS-Erweiterung-design, etc. Ich würde nicht dagegen sein, kriegen wir das Projekt, wenn es einige interessiert, Körper, aber seine sicherlich außerhalb der Reichweite und Interesse, wenn die nur mich allein. Ich habe ein gitter wenn jemand will, um hop in und über diese Möglichkeit mehr: gitter.im/sof-centrailized-collab-Bearbeitung/Lobby
- Es ist nur in der Vorschau, aber Microsoft ist das hinzufügen von Visual Studio-Live-Freigabe code.visualstudio.com/blogs/2017/11/15/live-share . Sie können gemeinsam an VS2017 oder VSCode oder mix und match. Demo-Video sieht die süß aus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen diese selbst lösen, möchten Sie vielleicht, um es zu tun, wie eine Visual Studio-Erweiterung. Beachten Sie, dass es zwei verschiedene Arten von plugins: "add-ons" und "Erweiterungen". Ich persönlich denke, Sie sollten schreiben ein Erweiterung, aber so oder so, Sie können schreiben Sie Sie in C#.
Werden Sie brauchen, um Haken in die Visual Studio-editor. Sie können entweder google nach, wie dies zu tun, oder schauen Sie einfach an einem vorhandenen Beispiel: eine Visual Studio-Erweiterung für elastic tabstops. Ihre Erweiterung überwachen Sie Ihre änderungen, wie Sie Sie und schicken Sie dann an den server über einige Protokoll-design. Sie haben zu schreiben, die server selbst, aber in der ersten version alle es braucht, um in der Lage sein zu tun ist, senden Sie uns einfach Ihre änderungen an alle anderen, die mit der Erweiterung. Die Erweiterung würde dann auch jeder machen, Bearbeiten in jedem anderen editor.
Wenn jemand eine Verbindung zum server mit einer älteren version des Codes, die Verlängerung könnte laden Sie einfach die neueste version vom server. Wenn jedoch der Benutzer hat änderungen während offline (also während keine Verbindung zum server), dann müssen Sie einige clevere Verschmelzung. Dies ist nicht trivial, aber ich weiß, wie es zu tun, denn ich habe es getan, bevor. Wenn Sie Fragen, sehr schön, ich werde schreiben, der merge-Algorithmus für Sie. Dann müssen Sie nur füttern Sie drei text-Dateien: die Basis (die version, die zuletzt mit dem server synchronisiert) und die zwei bearbeiteten Versionen (die man auch offline editieren und die neueste vom server).
Wenn es Ihnen gelingt, diese zu arbeiten, werden Sie möglicherweise etwas schaffen invaluably nützlich. Bitte stellen Sie sicher, dass Sie die Darstellung Ihrer Arbeit! 🙂
Gut, zu sehen, wie andere Menschen geben Sachen und dann haben cursor Kriege mit Ihnen in der editor hat schon von Google Wave. Iirc, es wurde geschubst als open source oder etwas nach dem Projekt selbst gescheitert. Es tut kümmert sich um alle Ihre Probleme bei der Aktualisierung, aber, und ist gebaut auf eine zugrunde liegende update-Modell, das sehr robust und solide aus, ein informatik-Perspektive. Es stellt die Geschichte und alle möglichen Dinge, die Analog zu einem source-code-system.
Konnten Sie umsetzen, was Sie wollen, wie eine spezielle Bearbeitung-widget hinzu. Wenn Sie eine gute Arbeit, die Sie wiederbeleben können Google Wave als eine nützliche und re-purposed collaborative-editing-Plattform.
Etwa VS Überall, wahrscheinlich, um die Zeit, die Sie versucht, VSA (etwa Mai), Software-version wurde Release Candidate 2 (=buggy), so dass die normalen, Sie fanden einige Probleme mit SVN-Integration als auch wir hatten offene Probleme mit TFS und Git.
Derzeit auf den neuesten RC3 einige dieser SVN-Probleme gelöst worden ist, erwarten wir, dass wir alles bereit für die endgültige version bald
Gibt es eine Möglichkeit, deinen eigenen VS-Anywhere-Server-Instanz in Ihrem LAN, so dass Sie wirklich nicht brauchen, um verwenden Sie unser Public Server, wenn Sie Student sind, oder Sie haben ein Open-Source-Projekt, VS Anywhere-Client und-Server ist für Sie Kostenlos, wenn nicht für die gewerbliche Nutzung und es gibt eine kleine Gebühr, die Sie zahlen sollten.
Wie gesagt von Timwi resynchronisation von offline-Codierung ist nicht trivial und sehr Komplex zu implementieren ist, wir denken, dass ein SCM ist das richtige Werkzeug, um diese Arbeit zu tun und das ist, weil wir noch nicht gearbeitet in diese Richtung, unserer Meinung nach ist zumindest bis wir auf diesem Gebiet arbeiten, können Sie standard SCMs zu ziehen, Letzte änderungen und verschmelzen mit Ihrer lokalen Kopie vor dem Aufbau einer Sitzung
VSA wird vereinfachen den Prozess, um die bootstrap-Sitzungen, so dass Sie 1) überprüfen Sie die Unterschiede von remote Visual Studio kopiert und 2) wenn überhaupt, verschmelzen Sie in Ihrer lokalen Kopie zu sein, im richtigen Zustand, nur beim öffnen der Sitzung. ("1)" umgesetzt wird "2)" kommt)
Session-management ist nicht trivial und wirklich komplexe Dinge, es gibt viele mögliche Szenarien, und dies ist so, weil wir die Bereinigung der Sitzung beim beenden, aber Sie können die Sitzung auch jederzeit wieder mit nur einem Klick...
Hoffe, diese information hilft Ihnen und wenn Sie mehr Frage haben, fühlen sich frei, um Kontakt VS Überall Unterstützung jederzeit
Wäre es, Wenn Sie beginnen wollen, ein Projekt zur Umsetzung eines solchen plugins bieten wir Ihnen Informationen über, wie die Dinge zu tun, ein schöner Ausgangspunkt ist, zu verstehen, die Operative Umsetzung, wie Sie benötigen, dieses Konzept zu implementieren, gleichzeitige Bearbeitung, auch benötigen Sie einen P2P oder Client/Server-Protokoll zur übertragung von Daten zwischen den clients.