【问题标题】:Visual Studio “Go to definition” disabled or gray outVisual Studio“转到定义”已禁用或灰显
【发布时间】:2014-09-17 19:17:54
【问题描述】:

Visual Studio 的 Go To Definition 被禁用,F12 不起作用。其他命令(如 Alt-F12)可能会继续工作。

【问题讨论】:

标签: visual-studio-2013


【解决方案1】:
  1. 关闭解决方案。
  2. 删除解决方案的智能感知数据库文件:[solution].ncb 或 [solution].suo
  3. 重新打开解决方案。
  4. 可选:重建解决方案。

【讨论】:

  • 谢谢。它一直让我发疯,这立即修复了它。 :)
  • 我的问题似乎是因为我正在查看带有一堆缺失引用的代码,我无法构建它。由于我无法构建代码,因此无法为此解决方案创建智能感知数据库。我想我到处都是按Ctrl+F。
【解决方案2】:

请注意,这也可能是由于禁用了 C++/C# 的数据库。

在工具 - 选项中,在搜索框中键入“IntelliSense”,然后单击 C/C++ - 高级。在浏览/导航部分,将禁用数据库更改为 False(如果尚未如此)。

重新启用后,关闭并重新打开以强制重建。 注意:例如,IntelliSense 会在磁盘上生成大文件(*.sdf 和 ipch),这些文件应该从 Git 中排除。

【讨论】:

  • 您可以指出此屏幕位于“工具 -> 选项”的众多选项中的哪一个...
  • 如何到达这个窗口?工具有很多选择。找不到此选项。
  • @Newbee & Fabiotk:您可以通过搜索在所附屏幕截图的搜索窗口中输入的内容来找到它 - “inte”。具体来说,它位于“工具->选项->文本编辑器->C/C++->高级”中。
【解决方案3】:

我知道解决方案已经解决。但是,我遇到了完全相同的问题。我搜索了互联网。包括这个在内的所有技巧都不起作用。

最终,我想通了。我右键单击有问题的文件。我将文件包含在项目中。这不是很明显。其实不是,文件已经收录一周了。整个星期我每天都在处理那个文件超过 7 个小时。截至昨天下午 6:20。

哦,今天早上我无法正确编译。昨天有大量的语法错误消息。今天早上,我能够编译。奇怪的。对?然后我的 go to definition 就消失了。

我花了一段时间才发现 cs 和 Designer.cs 肯定被排除在外,但 aspx 文件却被排除在外。

我解决了这个问题。我的身影滑落了吗?我不知道。

这是人们检查的一件事。您自己、其他人或系统在不知情的情况下意外排除了 cs 文件。我知道这很奇怪,但它解决了问题。 Visual Studio 中有一些奇怪的场景。人们可以提出 200 个解决方案。他们 99% 的时间都在工作,但不是我们的案例。我只带了一个场景

【讨论】:

    【解决方案4】:

    我在Visual Studio 2010 遇到过这个问题。 对我来说,这个解决方案成功了

    1. 关闭所有文件。
    2. 重新打开文件。

    并且你很好。

    【讨论】:

      【解决方案5】:

      如果 Visual Studio 打开了不在当前解决方案中的文件,也会发生这种情况。

      我不知道我是如何进入这种状态的,其中打开了不同解决方案的文件,因为我没有手动打开它们,但是快速检查文件路径表明这些不是打开的文件解决方案。

      因此,“转到定义”被禁用。

      【讨论】:

        【解决方案6】:

        我发现我必须删除我的 TFS 映射: VS 2010 > 打开团队资源管理器 > 深入了解团队项目 > 双击源代码管理 > 右键单击​​左侧窗格中的团队项目并执行“删除映射” > 删除所有内容后,我手动转到本地文件夹并删除了任何挥之不去的文件文件 > 回到源代码管理资源管理器中,我重新映射到同一个本地文件夹并重新提取所有代码。现在“转到定义”再次起作用。

        不知道为什么我必须这样做......

        【讨论】:

          【解决方案7】:

          在黄色的引用中检查 dll。删除它并再次添加。

          【讨论】:

            【解决方案8】:

            我刚刚在 Visual Studio 2019 中的一个基于 CMake 的 C++ 项目中发生了这种情况。昨天一切都很好,然后当我今天打开它时,所有 Go To Definition/Declaration 等选项在每个文件中的任何地方都是灰色的在项目中,即使是在同一个文件中定义的东西(语法突出显示也不正确)。如果我单独打开其中一个 .cpp 文件(不加载项目/解决方案),它确实有效。

            我尝试了各种方法,包括此处的答案并告诉它再次生成 CMake 缓存,但最终修复它实际上是删除了 CMake 缓存。删除缓存选项似乎不起作用(所有文件仍在磁盘上,并且在输出窗口中有某种失败消息)所以我只是从项目目录中删除了整个“out”目录(嗯,将它移到项目之外的某个地方,以防万一)。再次加载 Visual Studio,它再次自动重建缓存,IntelliSense 立即再次开始工作!当我想运行项目时,我只需要等待 5 分钟,它就可以再次编译所有内容。

            也许没有必要删除整个“out”目录,但是当我点击“CMake Cache”菜单下的“Open in Explorer”时,它打开了实际的构建目录(这是“out”中唯一的东西” 目录)所以我认为整个事情都与缓存有关,并且已经厌倦了它,无法尝试进一步缩小范围。可能只是该目录中的某些文件。

            【讨论】:

            • 根据我的经验,仅删除输出目录的一部分会导致更多问题。我认为删除它是正确的选择。
            • @JonathanAllen 是的,它实际上在几天后又发生了,所以我先尝试了几件事,但最终不得不再次删除整个目录
            【解决方案9】:

            在我的 VS2019 中尝试了上述所有解决方案,但对我没有任何帮助。比我注意到右下角的更新标志。更新 VS 后,所有选项都恢复了。

            【讨论】:

              【解决方案10】:

              只需检查 Visual Studio 的左下角,如果 Restricted 将其设置为受信任的,您的问题就会解决。

              【讨论】:

                【解决方案11】:

                在我的情况下,由于我的项目是用 TFS 映射的,所以我无法去定义我的项目文件在从解决方案打开时也显示为只读。所以我已经移动到使用 TFS 映射的根文件夹,然后 right-clicked on folder > Go to properties > Attributes 部分是 Read-Only 我取消选中它并单击了 Apply。重新打开视觉工作室。现在一切正常。

                【讨论】:

                  【解决方案12】:

                  我在 Visual Studio 2019 版本中遇到了同样的问题。我按照以下步骤操作:

                  1. 转到解决方案中的引用文件夹。

                  2. 点击管理 Nuget 包。

                  3. 点击浏览。

                  4. 搜索“Microsoft.Net.Compilers”。

                  5. 点击更新。

                  这对我有用。

                  【讨论】:

                    【解决方案13】:

                    在我的情况下,另一个 Visual Studio 已打开(未成功关闭)。关闭所有VS的例子,然后重新打开解决方案。

                    【讨论】:

                      【解决方案14】:

                      只需使用 Windows 资源管理器打开解决方案,而不是从 VS 内部打开它...

                      【讨论】:

                      猜你喜欢
                      • 2012-02-01
                      • 2011-12-03
                      • 2012-10-02
                      • 2021-08-03
                      • 2010-10-24
                      • 2016-08-21
                      • 2016-02-03
                      • 1970-01-01
                      相关资源
                      最近更新 更多