2016-05-11 33 views
6

在Razor中编写代码时,智能感知下拉框不起作用。它会打开,然后在不到一秒钟后关闭。当有以下括号时,MVC/Razor - 智能感知弹出窗口关闭

当我正在写一个类或类似的东西时,这种情况不会发生在我的视图上。

为了解释为I型

  • @Html会发生什么。
    1. 智能感知框打开并保持打开状态。
  • @ Html.DisplayFor(p值=> M)//的闭括号自动由VS
    1. 写入的框打开在显示具有M开始可能的输入,但立即关闭。
  • @ Html.DisplayFor(p值=>模型。)
    1. 盒子打开并显示与模型相关联的属性,但随后立即关闭。

然而,如果我添加一个空间:

  • @ Html.DisplayFor(p值=> M)
    1. 盒保持打开。
  • @ Html.DisplayFor(p值=>模型。)
    1. 盒保持打开。

有没有设置或东西是这样对我?

通过关闭和重新打开VS以及重建项目,此问题依然存在。

使用Visual Studio 2015 Professional 2015更新2 在做MVC时使用Razor。 如果有可能导致此问题的设置,我也安装了Web Essentials。

+0

当使用ctrl-space触发弹出窗口时会发生什么? VS可能只是在解析你的代码,并意识到原始的弹出窗口内容是无效的。有时候部分编写错误的代码会导致整个文件不可分析,这意味着有关可用成员的所有信息都将丢失。 JetBrains Resharper在解析和自动完成方面做得更好。 – Charlie

+0

@Charlie ctrl +空格将正确打开弹出窗口并保持打开状态。我将如何去跟踪“部分写入错误的代码”? – hcaelxxam

+0

部分编写的错误代码非常有用。最好的例子是当你启动一个if语句并打开大括号(可能来自一个粘贴)但不提供大括号。解析器不能找到类的结尾,所以它只是放弃,直到你得到所有大括号来匹配。您可能还有其他一些选项或插件,它们是“偷取焦点”并导致弹出窗口消失。这将很难追查到。您可以尝试禁用所有插件,将您的设置重置为默认等,并查看它是否消失。重新启动计算机也可能工作。 – Charlie

回答

0

我有时非常相同的恼人的问题(VS2015),我不知道无缘无故只是一个例子:在CSHTML文件我顶......

@{ 
    Style. 
} 

当我按下“。”在风格之后,智能感知显示出一瞬间,然后消失。

我知道这很愚蠢,但是当我添加一个返回键来添加行空间时 - 那么我会再次使智能感知工作正常。

@{ 
    Style. 

} 

我知道这不是一个解决办法,但这项工作很快就让我再次走了。

删除样式后的所有空格。最多},所以它看起来像风格。}也为我工作,所以可能会有一些特殊字符造成问题。