vs code が右クリックメニューが嫌い。
- Drive
- Directory
- Background
- all file(*)
これらにメニューをスパム行為のように登録してくる。とても使いにくい。
レジストリを操作する。
UAC昇格した、PowerShellで、次のコマンドを実行する。
## VS Code がうるさいので消す。 New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Classes\Drive\shell\VSCode' -Name 'LegacyDisable' -PropertyType 'String' -Value '' Move-Item -LiteralPath 'HKLM:\SOFTWARE\Classes\Drive\shell\VSCode' -Destination 'HKLM:\SOFTWARE\Classes\Drive\shellex\VSCode' New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Classes\Directory\shell\VSCode' -Name 'LegacyDisable' -PropertyType 'String' -Value '' Move-Item -LiteralPath 'HKLM:\SOFTWARE\Classes\Directory\shell\VSCode' -Destination 'HKLM:\SOFTWARE\Classes\Directory\shellex\VSCode' Move-Item -LiteralPath 'HKLM:\SOFTWARE\Classes\*\shell\VSCode' -Destination 'HKLM:\SOFTWARE\Classes\*\shellex\VSCode'
きれいに消える。Shift押したときのEXメニューにはちゃんと残るので良い。
完全に無効化する場合
次の方法で、LegacyDisableという、空文字のエントリを作成する。
$path='HKLM:\SOFTWARE\Classes\Drive\shell\VSCode' New-ItemProperty -LiteralPath $path -Name 'LegacyDisable' -PropertyType 'String' -Value ''
直接削除するか、別名に変更でも構わないが、LegacyDisable
をつかって無効化しておくのが無難だと思う。
shell ex ( shift 押したときのメニュー)に変える場合
shell
を shellex
に変えればいい 。
$src='HKLM:\SOFTWARE\Classes\Drive\shell\VSCode' $dst='HKLM:\SOFTWARE\Classes\Drive\shellex\VSCode' Move-Item -LiteralPath $src -Destination $dst
これらの方法は、ほかの右クリックメニューを排除するけど、たまに使うってときに便利です。