Visual Studio C++ 项目转到定义打开对象浏览器而不是转到源代码
Posted
技术标签:
【中文标题】Visual Studio C++ 项目转到定义打开对象浏览器而不是转到源代码【英文标题】:Visual studio c++ project go to definition opens object browser instead of going to source code 【发布时间】:2018-01-11 05:30:21 【问题描述】:我看过以下问题并尝试了他们的所有答案:
Visual Studio Go to Definition (F12) opens Object Browser instead of Code View How can I turn "Object Browser" to "Metadata" for "Go to definition" in Visual Studio 2010?即我尝试过的:
清理项目并删除所有生成的项目文件 重置所有键盘映射本题与上一题的区别如下:
-
这是一个 C++ 项目,不是 c#,没有引用,也没有 .NET 版本。
我没有安装也没有使用 ReSharper 程序。
我已经尝试在单独的目录中签出相同的代码和解决方案,问题不再出现(但在干净签出后仍然出现在原始目录中)
这从今天开始,我不知道可能是什么事件导致了它。我没有安装任何新插件或类似插件。最近唯一发生的事情是,昨天我将一些 NUNIT 引用安装到了一个 C# 项目中,该项目位于同一解决方案中。
由于上面列出的其他帖子没有列出有关问题的明确详细信息,这是对正在发生的事情的详细描述:
-
我尝试使用 F12 或右键单击菜单转到对象的定义(或转到声明):
它会在符号搜索中显示一个可能性列表,而不是去寻找它的来源(即
HeartBeat
类):
所有这些引用都会打开对象浏览器窗口,而不是转到源:
如何将 Visual Studio 的行为恢复正常?
【问题讨论】:
这听起来像是在 Help->Send Feedback in VS 下提交,然后查看响应页面。 @SornelHaetir,如果我明年想要一个解决方案,那么当然可以。在问题中,我可以通过检查新的来解决这个问题,但这对我或遇到此问题的其他人来说并不是很令人满意。 所以你知道,在最坏的情况下,你总是可以通过devenv.exe /resetuserdata
完全重置你的VS
@DeanSeo,我不知道。你应该从中做出答案。它也有效,所以一定要添加。
【参考方案1】:
正如 OP 所提到的,/resetuserdata
一定会让您的 Visual Studio 恢复到正常,如下所示:
devenv.exe /resetuserdata
虽然这不是基本的解决方案。
这种奇怪的情况可能会发生,尤其是当您同时运行多个 Visual Studio,而您只在其中一个上更改了一些配置。
这是因为 Visual Studio 尝试共享相同的 .vssettings
,并且每次退出时都会覆盖该文件,以保持 .vssettings
始终拥有您所做的最新配置集- 最新配置的定义是您关闭的最后一个Visual Studio。
因此,您认为自己所做的配置更改可能不是您的 Visual Studio 正在运行的配置更改。
为防止这种情况发生,您可以将您的 .vssettings
只读。
然后每次关闭它,你的VS都会抱怨它,但你可以保持你的自定义配置安全。 (我同意,虽然有点丑)
【讨论】:
以上是关于Visual Studio C++ 项目转到定义打开对象浏览器而不是转到源代码的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio C++ 2005-2013 中的智能感知缺少函数定义
转到定义不适用于我的项目(vue 和 sass 文件)[visual-studio-code]
Visual Studio 2010“转到定义”/f12 无法正常工作 [重复]
转到 Typescript 源定义而不是 Visual Studio Code 中的编译定义