【问题标题】:Intellisense autocomplete inserting text in wrong placesIntellisense 自动完成在错误位置插入文本
【发布时间】:2021-03-02 07:23:26
【问题描述】:

在 cshtml 文件中编写代码时,有时智能感知会出现问题,并开始在我实际输入的位置上方几行处编写文本。目前它似乎仅限于当我点击 tab 键让它完成一个还不错的属性名称时,因为我不能这样做。但是,它似乎也发生在其他时间,例如当我键入 @Model 然后按一个句点时,它可能会在代码文件的其他部分写入 Model 一词。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 能否请您提供更多信息或一些屏幕截图来描述您的问题?
  • 下次我会的。它可能大约每周发生一次。对于屏幕截图,想象一下在您输入@Model 和一个点之后,模型一词被插入到编辑器中的某个完全随机的位置。我“认为”这通常发生在我用 javascript 编写剃须刀代码时。如果您在双引号之间输入,它似乎效果更好。
  • 下次遇到问题时,请尝试关闭vs,删除.vs隐藏文件夹、binobj文件夹,然后重新启动项目。
  • @PerryQian-MSFT 谢谢,我会试试的!仅供参考,昨晚我遇到了一个类似但不同的问题,当我按下选项卡让它自动完成智能感知菜单中突出显示的属性时,它会写一些与所选属性完全无关的文本。同样,这是在剃刀文件中。希望删除这些文件夹可以解决这两个问题。
  • @PerryQian-MSFT 顺便说一句,我确实计划回来评论我是否再次遇到这个问题,但我会等几天以确保它真的消失了。如果我忘记了,请随时在另一条评论中标记我,但你想在这里回复我。

标签: razor ide visual-studio-2019 intellisense code-editor


【解决方案1】:

这可能更适合作为 VS 反馈项目,但由于这是我发现有人引用相同问题的唯一地方,我想我会添加一些确认。我没有解决方案,只能添加更多示例。这个问题困扰了我好几个月!在 JavaScript 中键入剃须刀代码时,尤其是在带引号的字符串中,这似乎最常发生。

这是一个来自测试项目的示例,我试图将模型字段的引用放入 JavaScript 字符串中。请注意,我单击了几次选项卡,它实际上并没有在我输入的位置插入智能感知结果。但是当我向下滚动时,您会看到它随机插入了很远的另一个位置!

我还尝试删除隐藏的 .vs 文件夹、bin/ 和 obj/,并且在重新启动 Visual Studio 后仍然可以可靠地重现该问题。目前在最新(16.9.4)之前的1。我确实注意到,如果我重新打开这个 cshtml 文件,等到文件似乎已完全加载(所有红色错误都消失了),我也会可靠地得到一个 ArgumentException,它会在我开始输入时发生。然后,当我向下滚动时,我已经看到 Model 已随机插入到代码的另一个位置。

我将尝试更新到最新版本 (16.9.5),并以安全模式开始以跳过加载所有 3rd 方库,并查看问题是否仍然可以重现,以防它是由其中一个引起的我目前正在使用的一些扩展。

编辑:与 16.9.5 相同的问题。尝试使用安全模式是不行的,它会完全禁用 .cshtml 文件的智能感知和语法着色。

【讨论】:

  • 我什至没有提到 ArgumentException,因为我不知道如何重现,而且它似乎发生得如此随机,但即使我的主要问题目前似乎已经解决,我仍然会得到它。
猜你喜欢
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
  • 2021-06-26
  • 2017-12-29
  • 2012-05-16
  • 1970-01-01
相关资源
最近更新 更多