2013-02-15 11 views
64

Nasze projekty są zorganizowane w rozwiązanie główne (zawierające każdy projekt) i wiele mniejszych rozwiązań zawierających grupy powiązanych projektów.Jak udostępnić te same ustawienia programu Resharper między wieloma rozwiązaniami bez ręcznej interwencji?

Chciałbym udostępnić te same ustawienia Resharpera dla każdego rozwiązania, upewniając się, że programiści nie muszą importować plików konfiguracyjnych w Resharper lub robić nic ręcznie w tym zakresie. Wersja, której używamy, jest jedną z najnowszych, 7.0.1. Plik DotSettings zarejestrowany w TFS działa świetnie na pojedynczym rozwiązaniu, ale replikacja tego samego pliku dla rozwiązań 20-30 jest nie-nie.

Czy istnieje sposób na udostępnienie tej samej konfiguracji każdemu projektowi/rozwiązaniu w całym zespole, bez konieczności bezpośredniej konfiguracji przez programistów? W idealnej sytuacji powinna istnieć możliwość zmiany ścieżki do pliku .DotSettings dla każdego rozwiązania, aby po edycji pojedynczego pliku .DotSettings automatycznie wpływał na każde rozwiązanie w zespole.

Aktualizacja:

Przeszukałem trochę o tym i próbował 2 różne sposoby, ale żaden z nich nie działa w 100%:

  • Hardlinks używając pracę mklink tool doskonale lokalnie, ale TFS robi nie obsługuje ich
  • Normalne skróty również byłyby rozsądnym rozwiązaniem, ale Resharper ich nie odczytał.

Brak tu opcji.

Aktualizacja 2:

Rozwiązanie proponowane przez Daniela Hilgarth działa idealnie, ale tylko jeśli Resharper jest aktualizowana. Błąd, który powodował automatyczne sprawdzanie i edycję plików .DotSettings na każdym komputerze, został poprawiony w wersji 7.1. Przetestowałem to przed i po aktualizacji oprogramowania i teraz działa tak, jak się spodziewałem.

Więcej informacji na temat błędów można znaleźć tutaj:

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

+0

Z której wersji ReSharper korzystasz? –

+0

Używam wersji 7.0.1 narzędzia. Zaktualizuje pytanie, aby to odzwierciedlić. – julealgon

+0

Wersja 10 nadal nie zapewnia żadnego konkretnego rozwiązania. Chciałbym zobaczyć na przykład zupełnie oddzielną warstwę. – MarioDS

Odpowiedz

60

Resharper obsługuje opcji uwarstwienie.

będzie go używać tak:

  1. mieć jeden DotSettings plik ze wszystkimi ustawieniami w nim.
  2. Dla każdego roztworu wykonać następujące kroki:
    1. Resharper -> Zarządzanie opcjami
    2. Prawym przyciskiem myszy kliknij "Rozwiązanie 'Twoje rozwiązanie' team-shared"
    3. Wybierz Dodaj Warstwa -> Otwórz ustawienia File
    4. Wybierz plik centralne DotSettings

byłoby utworzyć plik DotSettings dla każdego rozwiązania. Trzeba je sprawdzić w TFS wraz z centralnym plikiem DotSettings.
Ważne: Plik DotSettings rozwiązań zawiera tylko łącze do centralnego, nie replikuje ustawień.

+1

Działa, ale "Rozwiązanie" ustawienia osobiste "Rozwiązanie" użytkownika zastępują warstwę współużytkowaną przez zespół. Musiałem więc powtórzyć 2-4 dla ustawień osobistych. Teraz podskakuję, czy muszę dodać mój plik sln.DotSettings.user do kontroli źródła, czy dodać jeszcze jeden krok do rutyny konfiguracji lokalnego środowiska programistycznego. – Sasha

+1

@alexander: Rzeczywiście, to jest prawdziwy problem i JetBrains pracuje nad tym: http://youtrack.jetbrains.com/issue/RSRP-333945 –

+0

Odnośnie stwierdzenia "Plik DotSettings rozwiązań zawiera tylko link do centralny "... czy to prawda? Postępowałem zgodnie z powyższą procedurą, ale skończyłem z dwoma plikami DotSettings (wersja centralna i rozwiązanie) wypełnionymi ustawieniami. To może być w porządku ... Chcę tylko upewnić się, że robię to dobrze. –

2

Jeśli chcesz mieć plik ustawień obejmujący całą firmę, sprawdź, czy nie jest to this.

Nie przetestowałem jeszcze tego, ale jeśli to działa, nie trzeba nawet dodawać odniesienia do każdego rozwiązania.

13

Pytanie jest stary, ale jeśli ktoś wciąż szuka okazji do podzielenia ustawienia drużyny:

wszystkie ustawienia dla R # can be exported and packed as a NuGet package i dystrybuowane jako zwykły rozszerzenia Resharper.

Daje to elastyczność: możesz udostępniać różne ustawienia dla różnych zespołów, ReSharper zajmie się wykryciem nowej wersji i powiadomi programistę. Cóż, w zasadzie wszystkie korzyści, które możesz uzyskać korzystając z NuGet.

+1

To naprawdę bardzo miłe. Pomyślałem o stworzeniu naszego własnego wewnętrznego pakietu NuGet do zrobienia właśnie tego rodzaju rzeczy, ale myślałem o zrobieniu tego ręcznie (instalując go jako normalny pakiet NuGet na poziomie rozwiązania, a następnie edytując względne ścieżki odniesień, aby ReSharper to). Nie wiedziałem, że własne rozszerzenia ReSharpera również używają NuGeta. Bardzo bardzo przydatne. – julealgon

2

W Resharper 2015

przechodzi do Resharper ->Options ->Manage (rys 1) ->Options ->Import and Export (rys 2) ->from file....

enter image description here

enter image description here

A jeśli chcesz zaimportować go do swojego zespołu, możesz Solution settings następnie zamiast Import and Export w Options przejdź do Copy Settings to ->team-shared.

enter image description here

Nadzieja to zaoszczędzić trochę czasu.

Powiązane problemy