防止 Visual Studio 在按下 F1 时打开新的 Firefox 窗口?

防止 Visual Studio 在按下 F1 时打开新的 Firefox 窗口?

我在两台完全独立的机器上安装了 Visual Studio 2013(已使用更新 1、2 和 3 进行测试),一台是 Windows 7 SP1,另一台是 Windows 8.1。两台机器都运行最新版本的 Firefox,并且 Firefox 设置为默认浏览器。Firefox 设置“打开选项卡而不是新窗口”已选中。

几乎每次我想通过在代码中按 F1 来打开 MSDN 上的 API 帮助页面时,都会打开一个新的 Firefox 窗口。两台机器上都会发生这种情况。但这只发生在 Firefox 上,当 IE 是默认浏览器时,它会正确打开一个新选项卡。这是 Visual Studio 2013 中的一个新问题,我在使用 Visual Studio 2010 时没有遇到这个问题。

有趣的是,这并非 100% 一致。很少情况下,我认为大约 5% 的时间,它会正确打开新选项卡而不是新窗口。而且我发现一个命令总是可以正确打开选项卡,即主菜单栏中的“帮助 - 查看帮助”命令(不是很有用)。

在网上搜索后发现Microsoft Connect 问题条目指出,这也是 Visual Studio 2012 中的一个问题,但显然在 2013 年 5 月的最新版本中已修复。虽然我自己从未使用过 Visual Studio 2012,但这个日期是在 Visual Studio 2013 发布之前,并且远早于它的 Update 1 发布。他们真的忘记将修复程序合并到 Visual Studio 2013 了吗?

无论如何,我的问题是是否每个人都遇到过这个问题,如果没有,是否有人知道如何解决它。

使用解决方法进行更新

我不知道这是如何或为什么会这样,但我找到了一种解决方法。只要 .NET Reflector(我使用的是 8.3.3.115 版本)正在运行,F1 键就可以正常工作。这是 100% 可复制的,并且适用于 Windows 7 和 Windows 8.1。

有人能给我解释一下吗?

我将保留这个问题直到找到真正的答案。

更新 2

Visual Studio 2015 出现同样的问题。

答案1

问题是 Visual Studio 使用不正确的参数启动 Firefox。正确的设置可以在注册表 ( HKEY_CLASSES_ROOT\FirefoxURL\shell\open\command) 中找到。现在,要解决此问题,只需将 Firefox 添加为 Web 浏览器(使用正确的启动参数:-osint -url "%1")并将其指定为默认浏览器。

答案2

我不知道这个问题什么时候修复,但 Windows 10 上的 Visual Studio 2017 不会出现这种情况。

相关内容