在 VS 2022 .cs 页面中输入时出现重复字符

问题描述 投票:0回答:7

在 .cs 或 .vb 代码区域中,每当我输入某些内容时,它就会变成双倍。

示例 a 将是 aa 如果将是 iiff

即使我输入 Enter,它也会添加两行而不是一行,并且退格键和其他键也以相同的方式工作。

当我在 .aspx 页面或其他任何地方输入时,我的键盘工作正常。

我尝试了一些方法来解决这个问题,例如:

  1. 代码清理、构建、重建
  2. 重新启动 Visual Studio 和电脑

但仍然面临同样的情况。

c# asp.net visual-studio
7个回答
11
投票

我在 .cshtml 文件中遇到了类似的问题。我发现我试图在包含 @ 符号(用于在标记和代码之间切换)的方法下添加 jquery 事件。在本例中,它是@Url.Action。我的解决方法是将包含 @Url.Action 的方法移动到脚本块的底部,然后我就可以在其上方自由键入,而不会出现任何重复字符。

例如在我的代码上方使用@Url.Action:

在我的代码下面使用@Url.Action:


9
投票

Visual Studio 2023 17.6.4 的发布解决了这个问题

请参阅:https://developercommunity.visualstudio.com/t/Duplicate-key-lines-when-editing-scrip/10372422#T-N10396538


5
投票

只需对 vs 进行修复即可。这个问题多年来一直出现 - 即使是以前的版本。因此,修复您的安装。

您可以进入工具->获取工具和功能。

然后你会得到这个:

关闭上面的屏幕,然后你会看到这个:

从上面选择这个:

因此,通常维修应该可以解决这个问题。

我想您可能正在远程连接到计算机 - 这可能是一个问题,但我建议将上述内容作为第一步。

编辑:如果问题仅针对 HTML 编辑,请尝试此操作

转到设置,从设置中选择选项,从选项中选择文本编辑器,从文本编辑器中选择 HTML,从 HTML 中选择常规,从常规中禁用自动列出成员。已确认更改此设置即可解决问题。


2
投票

步骤

  1. 进入项目根文件夹
  2. 删除
    bin
    obj
    文件夹的内容
  3. 构建解决方案以重新生成
    bin
    obj
    文件夹中的内容
  4. 检查您的问题是否已解决

project root folder image for reference


1
投票

我在 .aspx 文件中遇到了同样的问题,原因与 Paul H 的答案类似。就我而言,<%...%> 导致了这个问题:

function myFunction() {
    var variable = <%=(int)Session["Something"]%>;          
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hellos
    halllloo
    hhaalloo
    hhaalloo
    hhaalloo
    hhaalloo
    hhaalloo
    hhaalloo
    hhaalloo
}

将 <%...%> 代码移至底部,解决了我的问题以及解决方法:

function myFunction() {
    var variable = getSomething();
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
}

[...code...]

function getSomething() {
    var variable = <%=(int)Session["Something"]%>;
    return variable; 
}

0
投票

我今天遇到了同样的问题,我尝试过但不起作用。

  • 重新启动 Visual Studio
  • 重新启动电脑
  • 修复了上面提到的Visual studio。

有效的方法是:

  • 只需关闭 Visual Studio 中打开的文件并重新打开该文件。

我认为,删除项目目录中的

.vs
文件夹也会有所帮助,因为它会在您重新启动时关闭打开的文档。


0
投票

我在打开 Visual Studio 2022 时遇到了同样的问题。为了解决这个问题,我禁用了导致崩溃的扩展。或者,您可以禁用所有扩展,关闭 Visual Studio,重新打开它,然后启用所需的扩展。完成此操作后,您就可以开始了。

© www.soinside.com 2019 - 2024. All rights reserved.