VS 2015以前では、設定はレジストリに保存されていました。 HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config
。 VS 2017では、VSの複数のインスタンスをサポートするために、 この投稿 に従って設定がレジストリから移動されました。
this SO answer に従って、Windowsがハイコントラストモードのときにダークテーマを強制するようにレジストリを編集してきました。VSでも同じようにしたいです2017が、この変更を行うために、設定が保存されている場所を見つけることができません。
Visual Studio 2017のこれらの設定はどこに保存されますか?
このブログ投稿 :で答えを見つけました
私のマシンの通常のHKEY_CURRENT_USER\Software\Microsoft\VisualStudio\15.0キーがどのように空であるかを確認し、15.0_Configキーがないことに注意してください。
代わりに、VS 2017プライベートレジストリはAppDataフォルダーに保存されます。
さいわい、regedit.exeを使用してプライベートHiveを読み込むことができます。 HKEY_USERSノードを選択し、[ファイル]> [ハイブのロード…]メニューをクリックする必要があります。 privateregistry.binファイルを選択し、Hiveに名前を付けて(「VS2017PrivateRegistry」と入力しました)、通常どおり15.0_Configキーが表示されます(注:完了したら、[ファイル]> [Hiveのアンロード]を使用します)。
このガイドを使用して、プライベートレジストリを読み込み、 SO上記の回答 からの変更を行い、Hiveをアンロードし、ダークテーマでVS 2017を開始することができました!
[〜#〜] edit [〜#〜]:レジストリの編集に使用したPowerShellスクリプトをわずかに変更する必要がありました。これが更新バージョンです誰かが興味がある場合:
EDIT2:プライベートレジストリのロードも自動的に含むように変更され、Hiveのアンロードを許可するガーベスコレクションが含まれます。
[〜#〜] note [〜#〜]:ユーザー名の正しいパスを見つける必要があります(C:\Users\Geir
)および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'
すべてを自動的に実行し、何らかの理由で復元する必要がある場合に備えて、ハイコントラストのテーマをバックアップするバッチファイルベースのアプローチを実装しました。
https://randomshaper.blogspot.com.es/2017/06/visual-studio-2017-high-contrast-hack.html で見つけることができます
これに対する本当の修正は、Visual Studioチームが開発者がテーマを設定できるようにすることです。これを修正することに興味がある場合は、このVS問題レポートにアクセスして、それをフォローし、それをサポートするコメントを作成してください。現在検討中です。
Windowsがハイコントラストモードの場合、Visual Studioはユーザーにハイコントラストテーマの使用を強制します
Process Monitor からログを確認すると、同じレジストリキーを確認できます。
作成されていないだけです。作成する必要があります。名前の一部(e3d5273c
)マシンによって異なる場合があります。
次の VS2017PrivateRegistry.cmd バッチファイルは、すべてのVisual Studio 2017インスタンスのレジストリキーをHKLM_TMPVS_ [id]としてロードし、レジストリエディターを起動してVisual Studio設定を変更し、レジストリエディターを閉じるときにキーをアンロードします。
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
注:最初に実行中のVisual Studio 2017インスタンスをバックグラウンドプロセスで閉じてから、このファイルを管理者権限で実行します。
Visual Studio 2017プライベートレジストリ設定の変更 を参照してください。