Windows 10 добавляет ---open-url в значение реестра для команды открытия программы по умолчанию

Windows 10 добавляет ---open-url в значение реестра для команды открытия программы по умолчанию

Я использую Windows 10.1803, сборка 17134.320. Я пытаюсь открыть файлы .asp с помощью VS Code. Я прошел обычный процесс, но, несмотря ни на что, Windows всегда спрашивала меня, какую программу я хочу использовать, когда я пытался открыть файл ASP.

Итак, я посмотрел статьи, и они сказали, что мне по сути нужно было вручную редактировать реестр Windows. Я не могу найти статью, которую я использовал в качестве ссылки, но это был документ Microsoft. Там говорилось, что нужно сделать ссылку на расширение файла с ключом программы, а затем сделать так, чтобы ключ программы имел команду оболочки, например:

HKEY_CLASSES_ROOT
    .asp
        (Default) - vscode
        OpenWithProgids
            (Default) - (value not set)
            VisualStudio binding
            sublime
    vscode
        DefaultIcon
            (Default) - (value not set)
        shell
            open
                command
                    (Default) - "C:\Users\tschwab\AppData\Local\Programs\Microsoft VS Code\Code.exe" -r "%1"

Я сделал то же самое с файлами .txt и Sublime (потому что у меня была та же проблема там), и это сработало как по волшебству. Но по какой-то причине, когда я открываю файл ASP, Windows часто редактирует значение реестра для vscode. Оно становится:

vscode
    (Default) - URL:vscode
    URL Protocol - 
    DefaultIcon
        (Default) - (value not set)
    shell
        open
            command
                (Default) - "C:\Users\tschwab\AppData\Local\Programs\Microsoft VS Code\Code.exe" --open-url -- "%1"

Итак, три изменения. Добавляется значение по умолчанию root, добавляется значение "Url Protocol", и команда изменяется. После этого открытие файла в проводнике Windows больше не работает. Если я отредактирую команду обратно, она снова работает.

Так что же не так?

решение1

Решение найденоздесь. Я создал пользовательский ключ реестра vscode, но Electron редактировал его за спиной VS Code. Я не заметил, что уже существовал ключ с именем, VSCodeSourceFileкоторое было именно тем, что мне было нужно. Я переназначил привязку .asp с vscodeна VSCodeSourceFile, и это сработало.

Связанный контент