在 VS 2015 中,仅在 Razor (.cshtml) 文件中,大约一半的时间自动完成/建议列表/智能感知无法正常工作(抱歉,不确定实际术语...当您键入对象时并点击 .
,属性和方法列表将显示以供选择)
行为是,当我点击 .
时,列表会弹出几分之一秒,然后关闭。它发生得太快了,我尝试快速循环几次 Backspace
、.
、Backspace
、.
至少看到我需要的名称,但我通常无法获取它,最终不得不从代码中的其他地方找到确切的名称。太烦人了...
这种情况偶尔发生,我找不到真正的模式。以下是我已排除的模式:
- 打开的文件似乎并不重要。
- 是否关闭/重新打开文件似乎并不重要
- 是否导航到另一个文件并返回似乎并不重要
- 它会在同一个文件中多次工作/不工作
- 它似乎与任何特定对象/属性/方法无关
我已经检查了所有选项(Razor 似乎没有文本编辑选项?),尝试清除缓存、重新加载解决方案/项目、重新启动 VS,所有这些似乎仍然没有提供任何模式。
有没有人遇到过这个问题,并且知道我还可以在哪里解决它?
示例
这是一个非常简单的例子......新项目,很少的代码/文件,非常简单的 View 。在 Model.
停止的地方,我应该有常用的基本方法和一个“Items”集合。它弹出一瞬间然后消失...不涉及 lambdas/复杂 View 解析(这也是可重现的):
更新:模式
我注意到的事情:
- 如果我输入
@model ns.ns.ns.type
,它很少发生在命名空间的“基”端。当我进一步走向这种类型时,它就发生了。这是间歇性的。 - 在某些情况下,它每次都运行得很好。例如,我经常使用 DevExpress 工具,并且从未见过其任何扩展上的行为(因此,
@Html.DevExpress()。
(以及其他类似的,不一定是 DevEx 模型)永远不会导致一个问题) - 当我访问我的
@Model
(这是我最想要的地方!)时,这种情况几乎总是发生。我发现在某些情况下每次都可以重现(参见上面的示例),但大约为 90%+ - 有时,当我处理对象树时,一个会失败,而下一个会工作(例如:
@models ProjName.Web.App.Subscriptions.Models.AccountCreateVM
...它可能会失败订阅
,但在模型
上运行良好) - 有时,开始在自动完成功能中输入姓名会使其重新启动并重新开始工作。在上面的示例中,开始为
AccountCreateVM
键入Acc
会使其重新开始工作。
最佳答案
我还没有找到根本原因,但在所有情况下,CTRL+SPACE
都有效。这不是最好的,但总比什么都没有好。
(这个快捷方式不是我过去使用过的,所以这可能是标准行为,但是...)如果您位于点 Model.
并且自动完成列表消失, CTRL+SPACE 会持续将其恢复,当它返回时,它会保留下来!如果只有一个可能的自动填充成员,它会在 CTRL+SPACE 时自动填充该成员 p>
关于razor - VS 2015 Razor 自动完成/智能感知下拉菜单在下拉菜单后立即隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36212901/