Dove viene installato Visual Studio 2017 nella configurazione?

In VS 2015 e precedenti, le impostazioni sono state memorizzate nel registro, ad esempio HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config . In VS 2017, per supportare più istanze di VS, le impostazioni sono state spostate fuori dal registro, in base a questo post .

In precedenza ho modificato il registro per forzare Dark Theme quando Windows è in modalità Contrasto elevato, in base a questa risposta SO . Ora voglio fare lo stesso in VS 2017 ma non riesco a trovare dove sono memorizzate le impostazioni, per fare questo cambiamento.

Dove vengono archiviate queste impostazioni per Visual Studio 2017?

Ho trovato la risposta in questo post del blog :

Guarda quanto è vuota la normale chiave HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0 sulla mia macchina e si noti che non esiste una chiave 15.0_Config:

regedit

Invece, il registro privato VS 2017 è memorizzato nella tua cartella AppData:

AppData

Fortunatamente, è ansible utilizzare regedit.exe per caricare un hive privato. Devi selezionare il nodo HKEY_USERS e fare clic sul menu File> Carica hive …. Si seleziona il file privateregistry.bin, si assegna un nome all’hive (ho inserito “VS2017PrivateRegistry”) e ora è ansible visualizzare la chiave 15.0_Config come di consueto (nota: utilizzare File> Unload Hive al termine):

Registro privato

Utilizzando questa guida, sono stato in grado di caricare il registro privato, apportare le modifiche dalla risposta SO menzionata in precedenza , scaricare l’hive e avviare VS 2017 con il tema scuro!

EDIT : ho dovuto modificare leggermente lo script di PowerShell che ho usato per modificare il registro, ecco la versione aggiornata se qualcuno è interessato:

EDIT2 : ora modificato per includere automaticamente anche il caricamento del registro privato, inclusa una raccolta di garbace per consentire lo scarico dell’hive:

NOTA : è necessario trovare il proprio percorso corretto per il nome utente ( C:\Users\Geir ) e la versione VS ( 15.0_8165452c ).

 New-PSDrive HKU Registry HKEY_USERS reg load 'HKU\VS2017PrivateRegistry\' "C:\Users\Geir\AppData\Local\Microsoft\VisualStudio\15.0_8165452c\privateregistry.bin" $HighConstrastTheme = "HKU:\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_8165452c_Config\Themes\{a5c004b4-2d4b-494e-bf01-45fc492522c7}" $DarkTheme = "HKU:\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_8165452c_Config\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}" Remove-Item -Path $HighConstrastTheme -Recurse Copy-Item -Path $DarkTheme -Destination $HighConstrastTheme -Recurse [gc]::collect() reg unload 'HKU\VS2017PrivateRegistry' 

Ho implementato un approccio basato su file batch che esegue tutto automaticamente e inoltre esegue il backup del tema ad alto contrasto nel caso in cui sia necessario ripristinarlo per qualsiasi motivo.

Puoi trovarlo su https://randomshaper.blogspot.com.es/2017/06/visual-studio-2017-high-contrast-hack.html

Controllando il log da Process Monitor è ansible vederlo controllare la stessa chiave di registro.

Accesso alla chiave di registro VS.

Non è appena stato creato. Devi crearlo. La parte del nome ( e3d5273c ) potrebbe essere diversa sul tuo computer.

Il seguente file batch VS2017PrivateRegistry.cmd carica le chiavi del Registro di sistema per tutte le istanze di Visual Studio 2017 come HKLM_TMPVS_ [id], avvia l’Editor del Registro di sistema per apportare modifiche nelle impostazioni di Visual Studio e scarica le chiavi quando si chiude l’Editor del Registro di sistema:

 for /d %%f in (%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_*) do reg load HKLM\_TMPVS_%%~nxf "%%f\privateregistry.bin" regedit for /d %%f in (%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_*) do reg unload HKLM\_TMPVS_%%~nxf 

Nota: innanzitutto chiudere le istanze di Visual Studio 2017 con i processi in background e quindi eseguire questo file con i diritti di amministratore.

Vedi Modifica delle impostazioni del registro privato di Visual Studio 2017 per maggiori dettagli.

La vera soluzione per questo sarebbe per il team di Visual Studio consentire agli sviluppatori di impostare il tema. Se sei interessato a ottenere questo problema, vai a questo rapporto sul problema VS, seguilo e fai un commento che lo supporta. È attualmente allo studio.

Visual Studio obbliga l’utente a utilizzare il tema High Contrast quando Windows è in modalità Contrasto elevato