Windows 10 将 ---open-url 添加到默认程序打开命令的注册表值中

Windows 10 将 ---open-url 添加到默认程序打开命令的注册表值中

我正在运行 Windows 10.1803,内部版本 17134.320。我尝试使用 VS Code 打开 .asp 文件。我经历了正常过程,但无论如何,当我尝试打开 ASP 文件时,Windows 总是会询问我想要使用什么程序。

因此,我查阅了这些文章,他们说我基本上必须手动编辑 Windows 注册表。我找不到我用作参考的文章,但它是一份 Microsoft 文档。它说要让文件扩展名链接到您的程序密钥,然后让您的程序密钥包含 shell 命令,如下所示:

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"

因此,进行了三处更改。添加了根的默认值,添加了“Url Protocol”的值,并修改了命令。此后,在 Windows 资源管理器中打开文件不再有效。如果我重新编辑命令,它又可以正常工作。

那么,到底出了什么问题?

答案1

找到解决方案这里。我创建了自定义注册表项vscode,但 Electron 在 VS Code 背后对其进行了编辑。我没有注意到已经存在一个名为的项VSCodeSourceFile,这正是我所需要的。我将 .asp 绑定从 重新映射vscodeVSCodeSourceFile,这样就成功了。

相关内容