Wie kann ich die gleichen Resharper-Einstellungen ohne manuellen Eingriff für mehrere Lösungen freigeben?

79

Unsere Projekte sind in einer Master-Lösung (die jedes Projekt enthält) und mehreren kleineren Lösungen organisiert, die Gruppierungen verwandter Projekte enthalten.

Ich möchte für jede Lösung die gleichen Resharper-Einstellungen verwenden, um sicherzustellen, dass die Entwickler niemals Konfigurationsdateien in Resharper importieren oder manuell etwas tun müssen. Die von uns verwendete Version ist eine der neuesten, 7.0.1. Die in TFS eingecheckte DotSettings-Datei funktioniert hervorragend mit einer einzelnen Lösung, aber das Replizieren derselben Datei für 20 bis 30 Lösungen ist ein Nein-Nein.

Gibt es eine Möglichkeit, dieselbe Konfiguration für jedes Projekt / jede Lösung im gesamten Team zu verwenden, ohne dass die Entwickler dies explizit konfigurieren müssen? Im Idealfall sollte es möglich sein, den Pfad zur .DotSettings-Datei für jede Lösung so zu ändern, dass beim Bearbeiten einer einzelnen .DotSettings-Datei automatisch jede Lösung im Team betroffen ist.

Aktualisieren:

Ich habe ein bisschen darüber gesucht und 2 verschiedene Methoden ausprobiert, aber keine davon funktioniert zu 100%:

  • Hardlinks, die das mklink-Tool verwenden, funktionieren lokal einwandfrei, werden jedoch von TFS nicht unterstützt
  • Normale Verknüpfungen wären ebenfalls eine vernünftige Lösung, aber Resharper liest sie nicht

Ich habe hier keine Optionen mehr.

Update 2:

Die von Daniel Hilgarth vorgeschlagene Lösung funktioniert einwandfrei, jedoch nur, wenn Resharper aktualisiert wird. Ein Fehler, der dazu führte, dass die .DotSettings-Dateien auf jedem Computer automatisch ausgecheckt und bearbeitet wurden, wurde in Version 7.1 behoben. Ich habe dies vor und nach dem Aktualisieren der Software getestet und es funktioniert jetzt wie erwartet.

Weitere Informationen zum Fehler finden Sie hier:

http://youtrack.jetbrains.com/issue/RSRP-288235

julealgon
quelle
Welche Version von ReSharper verwenden Sie?
Daniel Hilgarth
Ich verwende die 7.0.1-Version des Tools. Aktualisiert die Frage, um dies widerzuspiegeln.
Julealgon
Version 10 bietet hierfür noch keine spezifische Lösung. Ich würde es zum Beispiel gerne als eine völlig separate Ebene sehen.
MarioDS

Antworten:

77

Resharper unterstützt die Optionsebene.

Sie würden es so verwenden:

  1. Haben Sie eine DotSettings-Datei mit all Ihren Einstellungen.
  2. Führen Sie für jede Lösung die folgenden Schritte aus:
    1. ReSharper -> Optionen verwalten
    2. Klicken Sie mit der rechten Maustaste auf "Lösung 'Ihre Lösung', Team geteilt".
    3. Wählen Sie Ebene hinzufügen -> Einstellungsdatei öffnen
    4. Wählen Sie die zentrale DotSettings-Datei

Dies würde eine DotSettings-Datei für jede Lösung erstellen. Sie müssen diese zusammen mit der zentralen DotSettings-Datei in TFS einchecken.
Wichtig: Die DotSettings-Datei der Lösungen enthält nur einen Link zur zentralen, sie replizieren die Einstellungen nicht.

Daniel Hilgarth
quelle
1
Es funktioniert, aber die Einstellungen für "Lösung 'Ihre Lösung' persönlich" überschreiben die vom Team gemeinsam genutzte Ebene. Also musste ich auch für die persönlichen Einstellungen 2-4 wiederholen. Jetzt stelle ich fest, ob ich meine Datei sln.DotSettings.user zur Quellcodeverwaltung hinzufügen oder einen weiteren Schritt zur Konfigurationsroutine der lokalen Entwicklungsumgebung hinzufügen muss.
Sasha
1
@alexander: In der Tat ist das ein echtes Problem und JetBrains arbeitet daran: youtrack.jetbrains.com/issue/RSRP-333945
Daniel Hilgarth
In Bezug auf die Aussage "Die DotSettings-Datei der Lösungen enthält nur einen Link zur zentralen" ... ist das wahr? Ich habe die oben beschriebene Prozedur befolgt, aber am Ende zwei DotSettings-Dateien (zentral und Lösung) mit Einstellungen erhalten. Das könnte in Ordnung sein ... Ich möchte nur sicherstellen, dass ich das richtig mache.
Jason Capriotti
1
Ich habe die Lösungseinstellungen und den Link zur zentralen entfernt und dies erneut versucht. Es hat wie erwartet funktioniert. Möglicherweise hatte ich bereits eine Lösungseinstellungsdatei, die alle Einstellungen enthielt.
Jason Capriotti
21

Die Frage ist alt, aber wenn noch jemand nach einer Möglichkeit sucht, Teameinstellungen zu teilen:

Alle Einstellungen für R # können exportiert und als NuGet-Paket gepackt und als reguläre ReSharper-Erweiterung verteilt werden.

Dies gibt Ihnen Flexibilität: Sie können verschiedene Einstellungen für verschiedene Teams freigeben. ReSharper kümmert sich darum, die neue Version zu erkennen und den Entwickler zu benachrichtigen. Grundsätzlich alle Vorteile, die Sie mit dem NuGet erhalten können.

Anton Sizikov
quelle
1
Das ist wirklich sehr schön. Ich habe darüber nachgedacht, ein eigenes internes NuGet-Paket zu erstellen, um genau dies zu tun, aber ich habe darüber nachgedacht, es manuell zu tun (es als normales NuGet-Paket auf Lösungsebene zu installieren und dann die relativen Pfade der Referenzen zu bearbeiten, damit ReSharper verwendet wird es). Ich wusste nicht, dass ReSharpers eigene Erweiterungen auch NuGet verwenden. Sehr sehr nützlich.
Julealgon
2

In Resharper 2015

Gehen Sie zu Resharper-> Options-> Manage(Bild 1) -> Options-> Import and Export(Bild 2) ->from file....

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Und wenn Sie , was es für Ihr Team importieren können Sie Solution settingsdann statt Import and Exportin Optionsunterwegs Copy Settings to-> team-shared.

Geben Sie hier die Bildbeschreibung ein

Hoffe das spart dir etwas Zeit.

Matas Vaitkevicius
quelle