我在Visual Studio中遇到了一个非常烦人的问题.(我的版本是2010年,我安装了ReSharper和VsVim,但我认为不重要.)当我在某些现有代码开头的某些代码之前添加文本时,自动完成功能会覆盖一些现有代码.
以此示例代码为例:

当我开始在以下的开头插入一些代码时string.Format:

然后我使用Tab自动完成,它覆盖string,而我想要的是之前插入的自动完成代码string:

我不希望它在我自动完成后自动删除文本.如果我想删除文本,我可以很容易地自己删除它(特别是使用VsVim).有什么方法可以阻止这种行为吗?我发现自己一直在努力.
我的问题是,当我创建一个变量时,假设int,后来我想添加 public 修饰符,该词int被删除(我认为原因是由于 C# 扩展)。如果我按空格键时没有发生这种情况,那么这不是问题。
当我按空格时,我不仅应该能够接受智能感知建议(在本例中为“公共”),而且还可以在建议和之前的单词之间添加一个空格。以前这不是问题,但 VS Code 和 C# 扩展本周进行了更新,带来了这一可怕的变化。
我该如何解决这个问题有什么建议吗?
我尝试添加"editor.suggest.insertMode": "insert"in settings.json,但显然这不是问题所在。