Як поділити однакові налаштування Resharper між кількома рішеннями, не втручаючись вручну?


79

Наші проекти організовані в основному рішенні (що містить кожен проект) та декількох менших рішеннях, що містять групування відповідних проектів.

Я хотів би поділитися однаковими налаштуваннями Resharper у кожному рішенні, переконавшись, що розробникам ніколи не потрібно імпортувати файли конфігурації в Resharper або робити що-небудь вручну з цього приводу. Версія, яку ми використовуємо, є однією з останніх, 7.0.1. Файл DotSettings, зареєстрований у TFS, чудово працює на одному рішенні, але тиражування одного і того ж файлу на 20-30 рішень - ні-ні.

Чи є спосіб поділитися однією і тією ж конфігурацією з кожним проектом / рішенням у всій команді, без необхідності розробникам чітко конфігурувати це? В ідеалі повинна бути можливість змінити шлях до файлу .DotSettings для кожного рішення, щоб при редагуванні одного файлу .DotSettings він автоматично впливав на кожне рішення в команді.

Оновлення:

Я трохи розшукував це і пробував 2 різні методи, але жоден з них не працює на 100%:

  • Жорсткі посилання за допомогою інструмента mklink працюють ідеально локально, але TFS їх не підтримує
  • Звичайні ярлики також будуть розумним рішенням цього, але Решарпер їх не читає

У мене тут немає варіантів.

Оновлення 2:

Рішення, запропоноване Даніелем Хілгарт, працює бездоганно, але лише за умови оновлення Resharper. Помилка, яка призвела до автоматичного перевірки та редагування файлів .DotSettings на кожній машині, була виправлена ​​у випуску 7.1. Я перевірив це до і після оновлення програмного забезпечення, і тепер воно працює, як я очікував.

Більше інформації про помилку можна знайти тут:

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


Яку версію ReSharper ви використовуєте?
Даніель Хілгарт

Я використовую версію інструменту 7.0.1. Оновить запитання з урахуванням цього.
julealgon

Версія 10 досі не надає жодного конкретного рішення для цього. Наприклад, я хотів би бачити це як цілком окремий шар.
MarioDS

Відповіді:


77

Resharper підтримує варіант шарування.

Ви б використали це так:

  1. Майте один файл DotSettings із усіма налаштуваннями.
  2. Для кожного рішення виконайте такі дії:
    1. ReSharper -> Керування параметрами
    2. Клацніть правою кнопкою миші "Рішення" Спільне використання команди "Ваше рішення"
    3. Виберіть Додати шар -> Відкрити файл налаштувань
    4. Виберіть центральний файл DotSettings

Це створить файл DotSettings для кожного рішення. Вам потрібно перевірити їх у TFS разом із центральним файлом DotSettings.
Важливо: Файл DotSettings рішень містить лише посилання на центральний, вони не повторюють налаштування.


1
Це працює, але налаштування "Solution 'Your Solution' personal" замінюють рівень спільного використання команд. Тому мені довелося повторити 2-4 для особистих налаштувань. Тепер я підскакую, чи потрібно додавати файл sln.DotSettings.user у вихідний елемент керування або додати ще один крок у програму конфігурації локального середовища розробки.
Саша

1
@alexander: Дійсно, це справжня проблема, і JetBrains над цим працює: youtrack.jetbrains.com/issue/RSRP-333945
Даніель Хілгарт,

Щодо твердження "Файл DotSettings рішень містить лише посилання на центральний" ... це правда? Я дотримувався наведеної вище процедури, але в підсумку отримав два файли DotSettings (центральний та рішення), заповнені налаштуваннями. Це може бути добре ... Я просто хочу переконатися, що я роблю це правильно.
Джейсон Капріотті

1
Я видалив налаштування рішення та посилання на центральний і спробував це знову. Це спрацювало, як очікувалося. Можливо, я вже мав файл налаштувань рішення, який містив усі налаштування.
Джейсон Капріотті

21

Питання старе, але якщо хтось все ще шукає спосіб поділитися налаштуваннями команди:

Усі налаштування для R # можна експортувати та упаковувати як пакет NuGet та розповсюджувати як звичайне розширення ReSharper.

Це дає вам гнучкість: ви можете ділитися різними налаштуваннями для різних команд, ReSharper подбає про виявлення нової версії та повідомлення розробника. Ну, в основному всі переваги, які ви можете отримати при використанні NuGet.


1
Це справді дуже приємно. Я думав створити власний внутрішній пакет NuGet, щоб робити саме такі речі, але думав зробити це вручну (встановити його як звичайний пакет NuGet на рівні рішення, а потім відредагувати відносні шляхи посилань, щоб ReSharper споживав це). Я не знав, що власні розширення ReSharper також використовували NuGet. Дуже дуже корисно.
julealgon

2

У Resharper 2015

Перейдіть до Resharper-> Options-> Manage(рис. 1) -> Options-> Import and Export(рис. 2) ->from file....

введіть тут опис зображення

введіть тут опис зображення

І якщо ви , що імпортувати його для вашої команди , ви можете Solution settingsпотім замість Import and Exportв Optionsшляху до Copy Settings to-> team-shared.

введіть тут опис зображення

Сподіваюся, це заощадить ваш час.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.