C#引入必应搜索代码
[原文发表地址] Introducing Bing Code Search for C#
[原文发表时间] 2014-02-17 8:00 AM
更新:对于那些用扩展性代替Visual Studio智能感知体验的人们,你仍然可以使用‘ALT-A’作为快捷方式来访问这项功能或是分配‘Tools.LaunchSnippetSearch’命令给你选择的快捷方式(在工具->选项->环境->键盘下)
设想一下想要逐行阅读文件并且处理它们。今天,我们很可能加载一个web浏览器,访问我们最感兴趣的搜索引擎并且开始制作一个精心设计的关键字集合来帮助搜索引擎理解我们正试图解决的问题。
在理想的情况下,我们会找到包含示例的高质量的官方文档,或者从某个大论坛或群体的问答网站中发现一个投票率高的主题。然后,我们将扫描选项,对我们试图找到的相关内容做一些复制/粘贴的操作。
我们希望这样能够让可用性变得更强,并且使得给你尝试完成的任务找到相关的代码更容易。
精益求精
我们想让你有更好的体验。为此,Visual Studio,必应和微软联手提供了一个DevLabs体验,这将使得代码搜索到一个更高的水平。
当你发现你自己可以利用任务来寻找代码示例,你可以通过智能感知直接触发新的必应代码搜索体验。
那会触发一个类似于隐匿定义的广大的内联体验,焦点在代码搜索。你输入你想要完成的任务,例如‘逐行读取文件’,按回车键,会得到为您量身定做的代码结果。
在后台,这个查询连同上下文片段一起被安全地传送给必应,这有助于我们更关注查询的丰富意义。我们使用元数据比如项目类型,语义语境(使用新的C#/VB编辑器服务亦名‘Roslyn’!),和其他一些微软研究方法。
那些部分伴随着查询集,然后利用必应的巨大搜索索引和关键字分析去追页面,这些页面中很可能包含一些高品质的示例,你能从它们中得到你想要的。
从这些页面中,我们使用大量的句法和语义代码度量,隔离和排列相关的代码样本。
那时你可以方便地在Visual Studio中看到的排序结果,这些围绕着你的代码,伴随我们对示例的预计质量评价及其来源(因此你可以去挖掘)。
利用网络
这个新的技术的实施可以使用几乎整个的web资源。然而,我们发现了一些顶级的富有代码示例的合作网站,它要求我们尽我们所能为许多顶级用户任务充分揭晓答案。
我们和MSDN, StackOverflow, Dotnetperls 和 CSharp411合作直接提交一些最佳的代码示例到Visual Studio中。
DevLabs处在实验过程
为了使这一技术早一点发布,我们首先选择了一个问题子集去追踪它。特别地,必应代码搜索是专门为C#提供解决方案而工作的,我们将寻找能使它适合更多语言的方法。
确保你从Visual Studio图库页获取扩展,请使用它并且让我们知道你怎么想的!
快乐编码!