【问题标题】:Visual Studio 2012 - Intellisense sometimes disappearing / brokenVisual Studio 2012 - Intellisense 有时会消失/损坏
【发布时间】:2012-11-14 09:18:46
【问题描述】:

我和我的同事使用 VS2012 已经有几个星期了。有时在工作几个小时后,智能感知就坏了。关闭所有打开的标签后,它会再次工作。

有更多人有同样的问题吗?这不可能是扩展问题,因为我在家里也有同样的问题。也许有解决方法?

【问题讨论】:

  • 出现此问题后使用Ctrl + Space 是否有效?
  • 没有 Ctrl+Space 确实没有效果
  • Visual Studio 对其支持的每种语言都使用独立的 IntelliSense 实现,因此答案可能取决于所使用的特定语言。此外,一些 Visual Studio 扩展更改、增强甚至完全替换了一种或多种语言的 IntelliSense 功能,这可能会改变此处提供的答案。
  • 请在此用户语音中投票以要求软重置和弦以至少缓解这种情况:visualstudio.uservoice.com/forums/121579-visual-studio/…
  • 我有这个问题。我没有安装任何插件到 VS 或曾经。我每次都在正常模式下打开和关闭解决方案和文件。所以不知道是什么导致了这种错误。

标签: visual-studio visual-studio-2012 intellisense


【解决方案1】:

这些是让 Visual Studio 2012 intellisense 重回正轨的几个顶级解决方案,一一尝试,希望其中一个能解决问题:

When the problem occurs next time follow these: 从 #1 开始,当前一个不适合你时移到下一个

1: Close all the tabs 并再次打开您的文件。 (感谢 russds)

2:Clean the Build > Close the Solution > Restart Visual Studio > Open the Solution 再次

3:转到:Edit > IntelliSense > Refresh Local Cache

4:关闭 Visual Studio 2012 并删除此文件夹:%AppData%\Microsoft\VisualStudio\11.0\ReflectedSchemas

5:转到:TOOLS > Import and Export Settings > Reset all settings

6:删除项目文件夹中的.suo文件。 (感谢 Jason Steele)

我希望您的问题能够通过上述六个步骤中的任何一个得到解决。 但如果不是这样,我认为你应该考虑重新安装你的 VS2012。

【讨论】:

  • 不能到 #1,因为我的 VS2012(?)中不存在该菜单项。无法执行 #2,因为该文件夹不存在。但是重启VS2012后问题就消失了。
  • 我找不到刷新本地缓存的地方?
  • 我也遇到了同样的情况,上述方法均无效,但关闭所有选项卡确实有效。这应该是此解决方案中的选项之一。
  • 4 在 VS 2012 中为该项目工作,但在 VS 2013 中该文件夹不存在,我仍然有问题。我尝试删除看起来相似的 GeneratedSchemas,但也没有用。
  • @SajjadHashmi,您如何看待编辑答案以包括删除 .suo 文件的步骤?该线程中有几个 cmets 和投票赞成的答案表明,因此它似乎有助于其他人将其列入此主列表。我今天提议对这个问题进行编辑以包含该问题,但我的编辑被拒绝(原因让我感到困惑和有点气馁)。无论如何,请考虑对您的答案进行补充。
【解决方案2】:

我使用 Visual Studio 2012 并且遇到了同样的问题。要修复它(当 Intellisense 不再工作时),我只需关闭当前选项卡(其中 Intellisense 不工作)并重新打开它。无需关闭 Visual Studio 或所有选项卡。

【讨论】:

  • 这实际上对我有用。胜过重新加载整个解决方案或重新启动 Visual Studio。
【解决方案3】:

什么都试过了。 WORKED 正在删除 SUO 文件。它是解决方案目录中一个名为 SolutionName.v11.suo 的隐藏文件:

  1. 关闭解决方案
  2. 确保您可以看到隐藏文件。
  3. 擦除 suo 文件。
  4. 重新打开解决方案。

您将失去解决方案桌面(不会在编辑器中自动打开任何文件),但要恢复智能感知需要付出很小的代价:)

【讨论】:

  • 关于为什么会发生这种情况的任何想法?我现在每天删除我的 sou 文件 3 次或更多次。我没有隔离任何插件,但我猜它是 Web Essentials 或 Power Tools。
  • @Alon Gingold - 这不正是我在 11 月 13 日所说的吗?无论如何,我已经安装了 Xamarin 工具,想知道是否有其他人对 .suo 文件有问题也有这个问题?
  • 我已经安装了 xamarin,但在 Visual Studio 2013 中每天都遇到这个问题
【解决方案4】:

您无需重新启动 Visual Studio。相反,请关闭当前解决方案,然后再次重新打开它。我希望有一个更简单的解决方案。

4/16 更新: 对于 XAML 用户,一个有效的解决方案就像故意破坏您的代码一样简单;这应该足以检索智能感知。 More in here.

无法验证这是否也适用于其他类型的代码,但如果适用,请发表评论。

【讨论】:

  • 您不需要关闭当前的解决方案。相反,只需 WINDOW > Close All Documents。
【解决方案5】:

删除 .suo 文件。试试这个,在所有其他方法都失败后它对我有用。

【讨论】:

  • 让我想起了过去你不得不将 .ncb 文件设置为只读以便 VS 2005 无法使用它并在 C++ 标头上搅动 30 分钟时挂断的日子。
【解决方案6】:

我也有同样的问题。对我来说,选择文件最后一行的结尾,然后保存文件 (ctrl-s) 可以解决问题。

【讨论】:

    【解决方案7】:

    首先我应该注意到,自从将我的 RAM 升级到 16GB 后,这种情况就没有发生在我身上。

    当我在页面上复制/粘贴控件时似乎会发生这种情况。这样做的另一个副作用是 Designer.vb 文件没有立即更新,我无法访问后面代码中的这些控件。

    这是我经历的步骤顺序:

    • 如果似乎只有 1 个文件/窗口受到影响,请关闭/重新打开该文件。

    在 Visual Studio 中:

    1. 点击工具->选项->文本编辑器->所有语言->常规
    2. 取消选中“自动列出成员”
    3. 取消勾选“参数信息”
    4. 选中“自动列出成员”(是的,您刚刚取消选中的那个)
    5. 检查“参数信息”(同样,您刚刚取消选中的那个)
    6. 点击确定

    如果这不起作用,请尝试以下几个步骤:

    1. 如果仍然无法正常工作,请关闭所有窗口并重新打开
    2. 如果仍然无法正常工作,请关闭/重新打开解决方案
    3. 如果还是不行,重启VS。

    对于 C++ 项目:
    MSDN 有几件事可以尝试:MSDN suggestions

    看起来很可能是损坏的.ncb 文件。

    来自 MSDN:

    1. 关闭解决方案。
    2. 删除.ncb文件。
    3. 重新打开解决方案。 (这会创建一个新的 .ncb 文件。)

    (我还没有弄清楚为什么在某些情况下需要更激烈的步骤。)

    • 在 VS 2013/15 中测试
    • 自从升级我的 RAM 后,我没有遇到过这个问题

    【讨论】:

      【解决方案8】:

      我有一些糟糕的 xaml 代码。编译时它没有给出错误,但它仍然阻止智能感知在 xaml 文件中正常工作。

      我删除了以下代码来解决此问题: Binding="{Binding ReturnCode & Info}"

      “&”是问题

      【讨论】:

        【解决方案9】:

        这些都不适合我,但我终于通过禁用 Resharper 让它工作了。 我不确定为什么有必要,因为我有另一个 LS 解决方案,其中智能感知工作正常。 只是想我会发布它以防其他人遇到与我相同的问题。

        【讨论】:

          【解决方案10】:

          我遇到同样的问题并解决它。请记住,如果您使用 Silverlight,任何不正确的 XAML 代码都可能导致 IntelliSense 崩溃。我建议如果您正在使用 Silverlight,请编译您的项目以检测不正确的 XAML 代码并在第一步中解决它们,如果问题仍然存在,请使用上述步骤。

          【讨论】:

            【解决方案11】:

            问题出在 .vcproj 文件上。

            你会发现如果你从调试模式切换到发布模式,构建,然后尝试智能感知,它通常可以工作。

            关闭 Visual Studio。如果您在项目中搜索 .vcproj 文件,请编辑它们并搜索 AdditionalIncludeDirectories 的前两个实例。此值应类似于“..\,..\”而不是“../..”。

            重新打开您的项目,让 Intellisense 完成构建,然后应该修复它。

            【讨论】:

            • 这在重新安装 VS 后为我解决了问题。
            【解决方案12】:

            要遵循的步骤:

            1. 转到工具菜单
            2. 点击“导入和导出设置”
            3. 选择“重置所有设置”。点击下一步
            4. 备份您的设置。点击下一步
            5. 选择您的环境设置(例如 Visual C# 开发设置)。点击完成。

            无需重新启动 Visual Studio。

            【讨论】:

              【解决方案13】:

              在我的一个项目中,剃须刀 Intellisense 无法正常工作。上述修复均不适合我。我终于能够通过将 web 配置中的网页版本更改为 2.0.0.0 而不是 3.0.0.0 来解决问题,如下所示:

              <appSettings>
                 <add key="webpages:Version" value="2.0.0.0" />
                 ...
              </appSettings>
              

              我希望这对其他人有帮助。

              【讨论】:

                【解决方案14】:

                以上都没有帮助修复我的 devbox (VS2012) 上的 Intellisense。我什至尝试了“devenv /resetuserdata”,这导致需要重新安装所有插件。

                不过,在 C++ 项目中,#if ABC ... #endif 块中的代码仍然是灰色的。

                作为一种临时解决方法,我将#if ABC 修改为#if 1//ABC,然后在完成编辑块后恢复更改。烦人……

                编辑:几个小时后,我找到了更好的解决方案。我在头文件中注释掉了“#define ABC 1”,并添加了“ABC=1;”到项目属性->C/C++->预处理器->预处理器定义。然后 Intellisense 开始正常工作!代码块没有变灰。

                【讨论】:

                • Visual Studio 的默认设置将灰显编译器由于编译器指令(例如 #if)而跳过的所有代码。如果在您的活动配置更改时定义的常量发生更改(例如,#define debug 通常设置为调试模式,而在发布模式下不存在),那么灰显的代码部分将会更改。
                【解决方案15】:

                我在 Visual Studio 2013 中遇到了类似的问题,我刚刚清理了解决方案,然后删除了 4:关闭 Visual Studio 2013 并删除此文件夹:%AppData%\Microsoft\VisualStudio\12.0,它解决了问题。

                【讨论】:

                  【解决方案16】:

                  我已将我的问题与 VS Power Tools 损坏 *.suo 隔离开来。关闭 VS,删除 .suo,然后重新打开可以解决问题。它还会删除该解决方案的所有个人设置。

                  我遇到的另一个破坏性较小的解决方案是使用“编辑项目文件”电源命令,然后重新加载项目以使智能感知再次工作。

                  希望对其他人有所帮助。

                  【讨论】:

                    【解决方案17】:

                    对于 VS2013 - ASP.NET MVC 5 项目,解决此问题的一种简单方法是卸载并重新加载特定项目。

                    【讨论】:

                      【解决方案18】:

                      对于一个 Python 项目,我最终删除了隐藏的 .vs 文件夹、.sln 文件和 .pyproj 文件。然后,我从现有代码重新创建了项目,Intellisense 再次工作。

                      【讨论】:

                        【解决方案19】:

                        关闭不起作用的选项卡对我有用。

                        附言我会提前保存,以防 VS 很奇怪;)

                        哦,快捷键是 Ctrl+Alt+Space(在建议和标准完成模式之间切换)

                        【讨论】:

                          【解决方案20】:

                          我多次遇到这个问题,但我仍然面临着它。

                          对我有用的解决方案是减少放置解决方案的路径长度。 我将解决方案放在更靠近 C 驱动器 (c:/code/your_project.sln) 的位置,它刚刚解决了智能感知问题 这总能解决问题。

                          【讨论】:

                            【解决方案21】:

                            以上都不适合我。仔细检查时,我注意到智能感知对某些文件有效,但并非对所有文件有效。然后发现它只有一个文件。最后打开 .proj 文件,其中包含:

                              <ItemGroup>
                            <None Include="App.config" />
                            <None Include="packages.config" />
                            <Compile Include="Generator.cs" />
                            <Compile Include="PDFDocument2.cs" />
                            <None Include="PDFDocument.cs" />
                            <Compile Include="PdfDaemon.cs" />
                            <Compile Include="Properties\AssemblyInfo.cs" />
                            

                            当然,智能感知不适用于未标记为要编译的文件。

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 2013-01-29
                              • 1970-01-01
                              • 1970-01-01
                              • 2011-11-19
                              • 2012-10-23
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多