Наверное многие разработчики сталкивались с ситуацией, когда хотелось бы иметь несколько вариантов настройки Visual Studio. Например, если корпоративные стандарты кода отличаются от предпочитаемых для личных проектов. Конечно, можно каждый раз загружать необходимые настройки. Но это не очень удобно. Лучше воспользоваться возможностью Visual Studio под названием "отдельный экземпляр".. |
Отдельный экземпляр (называемый также Experimental Instance или Hive) это независимая конфигурация Visual Studio. Согласно документации, он используется для создания изолированной среды при отладке расширений. При этом все сделанные изменения в параметрах, включая установленные дополнительные модули, не затронут как основной, так и другие отдельные экземпляры. Таким образом, это отличный вариант для создания нескольких рабочих настроек.
Создаем новый экземпляр
Перед созданием экземпляра необходимо удалить полностью ReShaper и все продукты JetBrains, интегрированные в Visual Studio. В противном случае будет невозможна их нормальная работа в создаваемой копии рабочей среды (версия ReSharper на момент написания этой статьи – 9.1.3).
Для создания экземпляра необходимо установить Visual Studio SDK, соответствующий используемой версии Visual Studio. После этого в командой строке нужно выполнить:
"<Место установки Visual Studio>\VSSDK\VisualStudioIntegration\tools\Bin\CreateExpInstance.exe" /Create /VSInstance=<версия VS> /RootSuffix=<Имя создаваемого экземпляра>
Например, для Visual Studio 2015:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VSSDK\VisualStudioIntegration\tools\Bin\CreateExpInstance.exe" /Create /VSInstance=14.0 /RootSuffix=HomeSettings
В процессе выполнения этой команды все текущие настройки основного экземпляра будут скопированы в новый.
Теперь можно заново установить ReShaper как для рабочего, так и для созданного экземпляра Visual Studio. И если в первом случае установка производится как обычно, то во втором нужно открыть диалог Options чтобы задать имя экземпляра в параметре Experimental Hive. Необходимость переустановки ReSharper объясняется следующим: все расширения из основной среды будут перенесены в отключенном состоянии. При этом, включить ReSharper не представляется возможным возможности (кнопка Enable у него отключена).
Запуск созданного экземпляра
Для запуска отдельного экземпляра необходимо указать параметр /RootSuffix:
"<Место установки Visual Studio>\Common7\IDE\devenv.exe" /RootSuffix <Имя экземпляра>
Проще всего скопировать существующий ярлык для запуска Visual Studio и добавить /RootSuffix <Имя экземпляра> в строке Target.
Важный момент: после первого запуска необходимо зайти в Tools > Extensions and Updates и включить перенесенные расширения.
Остается только настроить созданный экземпляр в соответствии с требованиями и предпочтениями. Можно приступать к работе.
Сброс настроек экземпляра
При необходимости, можно сбросить все изменения в настройках отдельного экземпляра командой:
"<Место установки Visual Studio>\VSSDK\VisualStudioIntegration\tools\Bin\CreateExpInstance.exe" /Reset /VSInstance=<версия VS> /RootSuffix=<Имя экземпляра>
Удаление экземпляра
Для удаления экземпляра необходимо стереть:
- ветки регистра:
- HKCU\Software\Microsoft\VisualStudio\<версия VS><Имя экземпляра>
- HKCU\Software\Microsoft\VisualStudio\<версия VS><Имя экземпляра>_Config
- папку C:\Users\<имя пользователя>\AppData\Local\Microsoft\VisualStudio\<версия VS><Имя экземпляра>
- созданный ярлык для его запуска.