代码镜头在Visual Studio 2013中无法使用了。

11

Visual Studio 2013的Code Lens功能无法正常工作。它显示“正在加载该方法的引用”,但需要很长时间,而实际上它根本不会为任何方法加载引用。

它曾经运行得很好,但我不知道为什么它停止工作了。我已经多次重启了Visual Studio 2013,甚至重新启动了我的计算机,但没有成功。

Code Lens is not working anymore

它在我的Visual Studio 2013中是启用状态。

enter image description here


一切都在“工具->选项->文本编辑器->所有语言->CodeLens”中检查了吗? - Scott Solmer
是的,请查看我的更新问题。 - Tarik
你上一次进行全新构建是什么时候?在它停止工作之前有什么特定的变化吗? - Andrew Clear
我不确定在它停止工作之前发生了什么变化,但我尝试了许多干净的构建,但似乎没有什么起作用。 - Tarik
4个回答

8
我将回答自己的问题,因为我成功地解决了它。
每次在Visual Studio中运行测试时,似乎都会将测试结果存储在TestResults文件夹中,并且在我的计算机上大小约为800MB。
我只是删除了它并清理了项目bin和obj文件夹(之前我已经这样做了好几次,但真正起作用的是删除TestResults文件夹)。
我猜测由于TestResults文件夹的巨大大小,Visual Studio 2013无法快速加载所有结果等内容,这就是为什么需要花费很长时间才能向我展示Code Lens功能。因此,定期删除该文件夹可以获得更好的性能。
以下是我谷歌TestResults文件夹后的一些结果:
  1. 如何:部署测试文件:http://msdn.microsoft.com/zh-cn/library/ms182475.aspx
  2. 如何保留测试结果目录?http://blogs.msdn.com/b/aseemb/archive/2013/02/23/how-to-preserve-the-test-results-directory.aspx
  3. 如何删除测试结果文件夹http://blogs.msdn.com/b/ploeh/archive/2006/07/13/cleaningawaythetestresultsfolder.aspx

更新

即使上述方法对您有效,我意识到它们实际上已经在Visual Studio 2013 Update 2中修复了此问题。因此,请更新并安装它。


2
嘿,我安装了VS 2013 Update 3,并且遇到了同样的问题。删除测试结果+ obj + bin对我有用。因此,我不确定Update 2是否真正解决了这个问题 :) - FryHard
我不得不在VS2013 Update 4中删除测试结果,所以Update 2没有解决这个问题。顺便提一下,循环引用也会阻止代码镜头引用的工作。 - Liero
在我的VS2013 Update 5中遇到了同样的问题。在删除obj + bin + TestResults后,Code Lens会重新启动。 - Glauco Cucchiar
仍然适用于VS 2019 (16.4.1)。 - aboersch

4
如果以上解决方案不适用于其他人,请不要担心,我有一个可以解决的方法。在我的情况下,它显示了我有引用,但是没有显示有关它们的详细信息或链接。
我不得不安装一个新的扩展程序来重置MEF缓存损坏。这修复了代码镜头和页面“312e8a59-2712-48a1-863e-0ef4e67961fc”未找到的错误。
参考链接: http://www.hjerpbakk.com/blog/2014/7/25/no-content-in-solution-explorer-using-visual-studio-2013

我猜我也遇到了类似的问题。我选择了一个我安装的小扩展程序。卸载了这个扩展程序。重新启动了VS。然后重新安装了这个扩展程序。CodeLens又开始工作了。 - Josh DeLong
我曾经遇到同样的问题,通过卸载一个旧的/未使用的扩展程序来解决 - CodeLens 再次开始工作。谢谢! - David BS

1
我发现如果你使用防火墙屏蔽了Visual Studio,Code Lens 将无法工作。
因此,请解除防火墙对其的屏蔽以使其正常工作。

0

必须在 TFS 服务器上启用 CodeIndexing。您可以使用 TFSConfig 检查此设置:

 TFSConfig CodeIndex /indexingStatus /collectionName:"YourCollectionNameHere"

您可以使用以下方式开始索引:
 TFSConfig CodeIndex /setIndexing:on /collectionName:"YourCollectionNameHere"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接