MVC/Razor - 当后面有一个右括号时,智能感知弹出窗口会关闭

7
在Razor中编写代码时,智能感知下拉框无法正常工作。它会打开并在不到一秒钟的时间内关闭。
当我在编写类或其他内容时,这种情况不会发生,只有在工作视图时才会出现。
为了解释我打字时发生的情况:
@Html.
1. 智能感知框打开并保持打开状态。
@Html.DisplayFor(p => M) //VS自动编写右括号
2. 框打开并显示以M开头的可能输入,但立即关闭。
@Html.DisplayFor(p => Model.)
3. 框打开并显示与模型相关联的属性,但随后立即关闭。
如果我添加一个空格:
@Html.DisplayFor(p => M )
框将保持打开状态。
@Html.DisplayFor(p => Model. )
框将保持打开状态。
是否存在某些设置或其他因素导致了这个问题?
这个问题持续了关闭和重新打开VS,以及重新构建项目。
使用Visual Studio 2015 Professional 2015 Update 2,同时使用MVC进行Razor工作。 如果Web Essentials中有可能会导致此问题的设置,我也已经安装了它。

部分编写不良的代码是非常常见的情况。最好的例子就是当你开始一个if语句时,它的左大括号(可能是从复制粘贴中得到的)却没有提供右大括号。解析器找不到类的结尾,所以直到你匹配所有的大括号之前,它都无法继续执行。你可能有一些其他选项或插件正在“窃取焦点”,导致弹出窗口消失。这将非常难以追踪。你可以尝试禁用所有插件,将设置重置为默认值等,看看是否会消失。重新启动计算机也可能有效。 - Charlie
我有一个与hcaelxxam类似的设置,并且遇到了完全相同的问题。目前还没有找到解决方法,截至VS2015更新3时也没有修复。 - rossisdead
2
@rossisdead,很高兴知道我不是疯了!这个问题对我来说仍然存在;如果我找到解决方案,我会尝试记得告诉你。 - hcaelxxam
1
我有完全相同的问题。 但是,使用ctrl-space它会保持打开状态。 - nico008
我在全新的机器上第一次遇到了这个问题,在我的旧机器上使用VS2015一年从未见过它!真烦人。 - chipples
显示剩余3条评论
2个回答

0
在我的具体情况下,我通过安装最新版本的Microsoft ASP.NET和Web工具来解决了这个问题。

https://marketplace.visualstudio.com/items?itemName=JacquesEloff.MicrosoftASPNETandWebTools-9689

我安装了它之后,问题就解决了。很可能这个更新修复了一些旧版本可以修复的问题,但无论如何,我很高兴。

(我在Visual Studio中找到了这个选项,在“工具”->“扩展和更新”->“更新”->“Visual Studio Gallery”下)


0

有时候我也会遇到非常烦人的问题(在VS2015中),我不知道原因,但是举个例子:在cshtml文件的顶部,我有...

@{
    Style.
}

当我按下 Style 后面的“.”时,智能感知会出现一瞬间,然后就消失了。
我知道这很愚蠢,但是当我添加一个回车键来添加行间距时,智能感知就可以正常工作了。
@{
    Style.

}

我知道这不是一个解决方法,但这个变通方法可以让我快速恢复。

删除 Style. 后面所有的空格直到 },所以它看起来像 Style.},这对我也起作用了,因此可能有一些特殊字符导致问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接