CodeLens 未显示参考
Posted
技术标签:
【中文标题】CodeLens 未显示参考【英文标题】:CodeLens not showing references 【发布时间】:2014-01-16 09:50:13 【问题描述】:CodeLens 在我现在处理的项目解决方案中由于某种原因停止工作。它没有显示参考而是“-参考”。但是,当我用另一个项目打开 Visual Studio 时,它就像魅力一样工作。我可以确认 CodeLens 已启用。你有什么想法让它发挥作用吗?
【问题讨论】:
是否仅在特定文件中?还是该解决方案中的所有内容? 【参考方案1】:我的解决方案:
关闭 CodeLens 功能,然后再打开。
进入工具 -> 选项... -> 文本编辑器 -> 所有语言 -> CodeLens。 取消选中“启用 CodeLens”选项并单击“确定”。 返回工具 -> 选项... -> 文本编辑器 -> 所有语言 -> CodeLens。 选中“启用 CodeLens”选项并单击“确定”。注意:我之前曾通过关闭问题 .cs 文件然后重新打开它来解决此问题。可能还需要关闭所有引用的文件。
我的问题:
与原始海报类似,在我进行了一堆重构之后,CodeLens 停止刷新引用。我看到了对不存在的代码的过时引用,并且我还看到了原始帖子中描述的“-引用”问题。
我的环境和特定场景:
带有 Service Pack 2 和 Resharper Ultimate 10.0.1 的 Visual Studio 2015 我正在通过大量重构进行大修,但我的项目在一个小时左右无法编译。一旦我可以再次编译项目,这些引用就不起作用了。【讨论】:
升级到更新 3 后,我发现 CodeLens 已被禁用......重新打开它也解决了我的问题。 :) 也在 VS 2017 上工作过! +1+ 这对我不起作用,但删除 .suo 文件有效。 上次更新后 vs2017 (15.9.2) CodeLens 被禁用,谢谢。 VS 2022 Preview 默认关闭。它现在正在工作。谢谢。【参考方案2】:同样的问题。 CodeLens 可以正常使用小型解决方案,但不能使用大型解决方案。 而这种行为伴随着Alm.Shared.Remoting.RemoteContainer.dll进程崩溃。 在 VS 2013 Update 4 和 VS 2013 Update 5 RC 中尝试过。解决方案: 关闭所有程序并清理 %LocalAppData%\Temp 文件夹(或者可能只是其中的 ALM 文件夹)。
【讨论】:
仅删除 ALM 文件夹下的内容对我有用。把它全部清理干净对我来说有点吓人。 在 Vs2017 中为我工作,没有循环引用。 也为我工作!这应该是最佳答案。 我有VS 2017,但由于某种原因,上述临时目录下不存在ALM文件夹:| 对 VS2019 也有帮助 - 对于解决方案的某些文件,它还可以,对于其他文件,codelens 完全丢失了。在 VS 次要更新、删除 .vs 文件夹后,该问题仍然存在。清理 Temp 文件夹终于有帮助了。【参考方案3】:一个简单的解决方案,行之有效!
我确实尝试在 Visual Studio (2015) 中启用 CodeLens -->
-
快速启动 (Ctrl+Q)
选项 (CodeLens)
但是,它已启用 :( 然后,它确实适用于:(关闭程序),
Win+R --> %temp%
回车全部删除
【讨论】:
我的解决方案最近对我没有帮助.. 尝试了不同的版本 最后奏效的是,从git
进行了 fetch .. pull request
和 references
又开始现身了!! (有点腥啊哈!!)【参考方案4】:
尝试删除存储一些环境/解决方案设置的.suo
文件。这对我有帮助。
【讨论】:
这为我修复了它,使用 VS Enterprise 2017 15.4.4 我只是一起删除了 .vs 文件夹,这很有效。 VS 企业 2017 15.7.3 我认为这对我有用。我使用 VS Professional 2017 版本 15.8.5,这对我有用。 这对我有用,而不是删除 ALM 文件夹或关闭再打开代码镜头。我刚刚看到这是第二次为我解决此问题。 此解决方案在 Visual Studio 2019 中也适用于我。【参考方案5】:刚刚在 VS 2019 中遇到了这个问题。
我尝试禁用/启用 codelens,但没有成功。
在那之后我删除了.suo,但它没有用。
我尝试再次禁用/启用 codelens(删除 .suo 后),现在它又可以工作了。
更新(大约 2 周后):
它又开始发生了,这次我在 Extensions 中禁用了 IntelliCode,突然 Codelens 又开始工作了。
再次更新(2019 年 11 月 25 日):
我将此情况报告给了 Microsoft,并与他们进行了对话。您此时不必关闭所有 Intellicode,只需在 Tools -> Options -> Intellicode 中禁用 Intellicode Refactorings。我相信实际的修复计划是针对 VS 2019 16.4。
【讨论】:
我遇到了VS 2019的问题,我删除了.suo文件,然后重新启动VS,它已经工作了。 是的,我可以确认禁用 Intellicode 重构使一切恢复正常。我可以再次在 .net core 2.2 和 3.1 上正常工作。 VS2019. 你拯救了我的一天!谢谢。您是否有实际的 Visual Studio 论坛错误项目,以便我可以按照以恢复 Intellicode 选项? 能否分享一下 Visual Studio 论坛的 bug 项目,以便我也可以关注? 我今天早上刚刚升级到 16.10.4,显示引用已从选项窗口中完全删除。禁用 Intellicode 并重新启动后,Show References 返回,Code Lens 再次开始显示方法引用。【参考方案6】:对我来说 CodeLens 被禁用了,简单地说: 进入工具 -> 选项... -> 文本编辑器 -> 所有语言 -> CodeLens 然后选中“启用 CodeLens”选项并单击确定。
我知道这是一个超级简单的答案,但可以帮助其他开发人员。 更新后似乎由于某种原因禁用了它。
【讨论】:
奇怪,更新到 16.8.0 后它被禁用了,想知道还有什么可能坏了...smh 我没有更新 VS 并且它以某种方式禁用了它自己...【参考方案7】:您的解决方案中可能存在阻止 CodeLens 工作的循环引用。在Visual Studio Connect siteVisual Studio Connect site 上的 cmets 中提供了一些详细信息:
不知何故,我的解决方案中的两个项目最终都引用了每个 其他导致循环引用。我认为这是一个副产品 Resharper 引用未定义类的快捷方式。曾经我是 清理了所有引用,我现在在我的 引用计数。
您是如何“清理”引用的?
就我而言,我的解决方案有多个项目文件。在参考资料中 项目 A 的文件夹中,有对项目 B 的引用。在 项目 B 的引用文件夹,有一个项目 A 的引用。 这导致了循环引用。如果你尝试这样做 “手动”,VS 会提示您有关通知的警告 参考。
为了清理它,我从我的项目中删除了对项目 B 的引用 A. 我在我的项目 B 中做了一些次要的类定义,所以一切 最终还是会编译。
【讨论】:
我找不到循环依赖,但是我意识到当我将构建更改为发布配置时它开始显示引用:) 但是是的,它似乎是某种循环依赖问题。 链接似乎被破坏了,所以我从谷歌网络缓存中抓取了相关的部分并将它们直接添加到答案中。 我的solved removing temp【参考方案8】:我发现如果你用防火墙阻止 Visual Studio,Code Lens 就不起作用。
因此解除防火墙的阻止以使其正常工作。
或编辑文件的防火墙设置:
C:\Windows\Microsoft.NET\assembly\GAC_32\
Microsoft.Alm.Shared.Remoting.RemoteContainer\
v4.0_12.0.0.0__b03f5f7f11d50a3a\
Microsoft.Alm.Shared.Remoting.RemoteContainer.dll
【讨论】:
我相信你,因为我们公司使用了一种叫做 Avecto Defendpoint 的东西,导致我的 VS 出现了同样的问题。 @Vincent 我能说什么,对我来说这是什么问题,本地防火墙 - 在找到它之前,我来到了那个对我没有帮助的页面......【参考方案9】:我在 VS2015 上遇到了这个问题,它已经安装了“更新 1”。 问题是我最初使用“自定义”设置安装 VS2015,而不是“默认”选项,并且我不小心遗漏了“通用工具”下的“Git for Windows(第 3 方)”选项。
这可以通过以下步骤解决:
再次运行 VS2015 安装程序(从控制面板 - 卸载程序) 右键VS2015,选择“更改” 在弹出屏幕上,选择“修改” 在设置屏幕上,选择“Git for Windows(第 3 方)” 继续设置,安装选定的功能【讨论】:
快速说明:我的同事在安装 VS2015 更新 2 时将 CodeLens 固定在他的 VS2015 上【参考方案10】:尝试删除项目中隐藏的 .vs 文件夹内的 .suo 文件。这在 VS 2017 中对我有用。
【讨论】:
【参考方案11】:我的问题 总是在启用 CodeLens 后直接按 OK,我看到 CodeLens 信息所需的额外空间,然后它消失了,当我再次查看选项时,它被禁用。使我抓狂。
方法 删除缓存/配置。没有扩展工作的干净启动。没有 ReSharper 的正常启动工作。重新安装 ReSharper + 删除 cahces -> 错误行为
解决方案 Unter Extensions - ReSharper - 选项 - 环境 - 性能指南是“禁用所有语言的 CodeLens”设置为“静默修复”。设置为忽略 -> 工作!
希望这对某人有所帮助
【讨论】:
【参考方案12】:我也遇到了同样的问题,但是和我有相同开发环境的同事却没有...
我们两个环境之间的唯一区别是 RAM 的数量。他的虚拟机分配了 10GB,而我的虚拟机分配了 6GB。由于我将分配给我的 VM 的 RAM 数量升级到了 8GB,所以我的所有参考资料都会显示出来!
【讨论】:
【参考方案13】:为 Visual Studio 2015 安装 Update 1 解决了我的问题。
Download Update 1
【讨论】:
【参考方案14】:在阅读了 Stack Overflow 问题CodeLens only showing references? 的答案后,我决定我对 Codelens 的问题是我正在运行 Visual Studio 2015 Update 1,但使用的是 Team Foundation Server 2012。我升级到 TFS 2015,它就地升级并没有不需要像以前一样将任何新设置或 URI 连接到 Visual Studio。然后我重新加载了我的解决方案 - 但我仍然遇到问题,它只是到处都说“–引用”。我关闭了 Visual Studio,再次启动它并重新加载了我的解决方案,最后我看到了正确的引用计数,就像它们过去显示的那样。
【讨论】:
【参考方案15】:我在新的 VS 2015 更新 3 中发现它发生在中级解决方案 10 多个项目的大型类中,与循环引用、错误的 SUO 文件或其他事情无关。似乎只是删除临时文件位置(如前所述),关闭 VS,然后重新打开并点击“ALT+2”(强制查找 Code Lens 的参考)使它对我神奇地起作用。
它也出现在一些解决方案和项目中,Visual Studio 会在 .vs 文件夹中创建一个旧的引用 suo 文件。我不知道确切的押韵或原因,但可以在我的情况下创建它并且 CodeLens 再次工作。它可能是在源代码控制下的项目中以某种方式引用的 Visual Studio 选项。据我所知,这发生在一个旧的解决方案上,我已经升级了很多次,它在 GitHub 控制下,它确实有一个 .gitignore 文件(忽略文件可能会根据源代码控制而改变)。可以说,我过去曾与其他技术人员发生过类似的事情,当源代码控制文件锁定应该更新但不会更新时。简单的答案是添加到忽略并删除设置文件。
【讨论】:
【参考方案16】:我在 Windows 10 上安装了 Visual Studio 2017 Professional。 我在几种情况下观察到了这一点:
-
MicroSoft 决定我需要一些重要的 Windows 更新,并在我工作时安装了它 - 导致一些 VS 组件崩溃。
在后台收到 Visual Studio 更新。
Visual Studio 的某些组件崩溃 - 不是 VS,只是一些附加功能(没有具体说明是哪一个)
未知原因。
在每种情况下,我都是按顺序进行的(有时在每种情况下都有效)
构建/重建解决方案 构建/清理解决方案 关闭并重新启动 Visual Studio 移除 Symbols 缓存,重启 VS 关闭 VS 和 SSMS 并重新启动它们 关闭 VS 并重新启动 Windows 关闭 VS,强制加载所有挂起的 Windows 更新,重新启动 Windows 在选项中,取消选中 Codelens/apply 并重新检查/应用(确定按钮)【讨论】:
【参考方案17】:我尝试了上面的大多数解决方案都没有运气,因为我也看到了这个问题。最重要的是,某些新添加的类在 Visual Studio 中显示为白色/黑色(常规文本)。
更改为 Release 通常会有所帮助,但不是长期解决方案。 但是,这对这两个问题都有帮助 - 在另一台机器上验证。也许有些步骤可以省略。
关闭所有文档选项卡 清洁解决方案 右击解决方案,点击“启用轻量级解决方案加载” 关闭解决方案 重新打开解决方案 右击解决方案,点击“禁用轻量级解决方案加载” 关闭解决方案 重新打开解决方案 重建【讨论】:
我的问题似乎在 VS 2017, v15.5.6 中得到解决 - 实际上,它原来是解决方案的 .suo 文件的问题(在解决方案下的隐藏 .vs 文件夹中)。 Git切换分支后经常出现该问题。关闭解决方案,删除 .suo 并再次打开解决了它。比我上面建议的要容易一些。 (但仍然很烦人)以上是关于CodeLens 未显示参考的主要内容,如果未能解决你的问题,请参考以下文章