如何在Visual Studio 2015中更改默认错误搜索

本文关键字:默认 错误 搜索 2015 Visual Studio | 更新日期: 2023-09-27 17:52:16

当我在Visual Studio 2015CTP中编写代码时,我在ErrorList窗口中得到如下错误:

错误CS0117"控制台"不包含"ReadKey"的定义

通过点击CS0117,它将我重定向到默认浏览器,并使用必应搜索。大多数时候我们使用Google作为搜索引擎,有没有办法将Google作为默认搜索而不是Bing呢?

如何在Visual Studio 2015中更改默认错误搜索

简单地重定向搜索提供程序可能不起作用。我们生成一个搜索字符串,它被定制为与必应方面的专门搜索引擎一起工作。将相同的搜索字符串传递给另一个搜索引擎可能会得到糟糕的结果。

相反,您需要做的是为帮助事件定义您自己的处理程序。这将从错误本身提取相关信息(如错误代码、语言等),以创建与您选择的提供者一起工作的通用搜索。如果此处理程序出现在默认处理程序之前,那么您可以处理该事件并阻止执行默认(bing)搜索。

需要实现的接口有:

ITableControlEventProcessorProvider

这是一个MEF导出,应该具有以下属性:

[Export(typeof(ITableControlEventProcessorProvider))]
[DataSourceType(StandardTableDataSources.ErrorTableDataSourceString)]
[DataSource(StandardTableDataSources.AnyDataSourceString)]
[ManagerIdentifier(StandardTables.ErrorsTableString)]
[Name("my custom event processor name")]
[Order(Before=Priority.Default)]  

ITableControlEventProcessor

最好定义一个派生的类TableControlEventProcessorBase(它为所有事件提供默认/无操作实现),然后显式地处理PreprocessNavigateToHelp(ITableEntryHandle entry, TableEntryEventArgs e)事件:

  1. 从条目
  2. 中提取有用数据
  3. 为您选择的搜索提供程序创建一个通用搜索
  4. 打开一个浏览器实例
  5. 设置e.Handled为true(以防止其他帮助处理程序执行)。

没有内置支持切换所使用的搜索引擎。然而,可以创建一个扩展,让谷歌(和其他)搜索引擎链接,就像Bing Developer Assistant扩展在Visual Studio的前几个版本中所做的那样。

我想告诉你如何创建这样一个扩展的文档信息,但他们还没有发布。它们都在Visual Studio 2015正式发布前后发布的文档列表中。

我刚刚做的另一个快速hack是一个浏览器脚本。我用Greasemonkey将搜索从必应重定向到谷歌。因为谁会选择前者而不是后者呢?

如果您安装了Greasemonkey或在其他地方使用userscript,则可以使用

// @include     http://www.bing.com/search?q=*
var rex = /'?q=(.+)/;
window.location.href = ("http://www.google.com/#safe=off&q="+window.location.href.match(rex)[1]);

总是从必应重定向到谷歌。

不是真正的VS答案,而是一种变通方法。对我来说,这似乎很好,因为我更喜欢谷歌。

你可以通过为bingdev.cloudapp.net设置一个hosts条目为127.0.0.1,并使用IIS URL重写模块将你的请求重定向到google来改变它。

我在我的博客文章中有更详细的介绍

我尝试了Ondrej Petrzilka在2015年12月19日的评论,效果非常好,非常感谢。

  1. 搜索并安装这个chrome扩展switcheroo-redirector

  2. 启动Chrome

  3. 单击Chrome右上角的扩展图标,然后单击switchero。截图在这里

  4. Setup from: "www.bing.com/search?q":"www.google.com/search ? q"。(截图here2