Visual Studio c ++项目去定义打开对象浏览器而不是去源代码

时间:2018-01-11 05:30:22

标签: c++ visual-studio visual-studio-2015

我已经看到了以下问题,并尝试了所有答案:

即我尝试过:

  • 清理项目并删除所有生成的项目文件
  • 重置所有键盘映射

此问题与上一个列表的区别如下:

  1. 这是一个C ++项目,而不是c#,没有引用,也没有.NET版本。
  2. 我还没有安装,也没有使用 ReSharper 程序。
  3. 我尝试在单独的目录中检出相同的代码和解决方案,问题不再发生(但在清理结帐后仍然会出现在原文中)
  4. 这从今天开始,我不知道可能导致它的事件。我没有安装任何新的插件或类似的。最近发生的唯一事情就是昨天我将一些NUNIT引用安装到了同一解决方案中的C#项目中。
  5. 由于上面列出的其他帖子没有列出有关问题的明确详细信息,这是对正在发生的事情的详细说明

    1. 我尝试使用F12或右键菜单来定义对象(或转到声明): enter image description here
    2. 它不会转到此源(即HeartBeat类),而是在符号搜索中显示可能性列表: enter image description here
    3. 所有这些引用都会打开对象浏览器窗口而不是转到源: enter image description here
    4. 如何将visual studio的行为恢复正常?

1 个答案:

答案 0 :(得分:3)

正如OP所提到的,/resetuserdata肯定会将您的Visual Studio恢复为 normal ,如下所示:

devenv.exe /resetuserdata

虽然这不是基本解决方案。

尤其是当您同时运行多个 Visual Studio 并且仅在其中一个上更改了一些配置时,可能会发生这种奇怪的情况。

那是因为 Visual Studio 尝试共享相同的.vssettings,并且每次退出时都会覆盖该文件,以使.vssettings让最新的配置设置为您始终制作 - 最新配置的定义是您关闭的最后一个 Visual Studio 的定义。

因此,您认为自己所做的配置更改可能不是 Visual Studio 正在运行的配置更改。

为防止这种情况发生,您可以将.vssettings 设为只读。 然后每当你关闭它时,你的VS会抱怨它,但你可以保证你的自定义配置安全。 (我同意,这有点难看)