如何防止 VS Code 在 IntelliSense 自动完成功能上删除下一个单词字符?

Ad *_*d N 16 intellisense visual-studio-code

这个问题类似于How to keep Visual Studio autocomplete from overwriting the next word,但针对的是 Visual Studio Code 而不是 Visual Studio。

当从列表中选择完成建议时,它会被插入,但光标后面的单词中的所有字符都会被删除。(因此,如果光标后面有空格,则不会发生任何事情。但是,如果在光标放置在单词开头时触发自动补全,则该单词将被删除)。

有没有办法禁用此删除行为并让它添加所选建议而不删除插入符号右侧的文本?

sta*_*all 19

检查您的settings.json 文件(您的用户settings.json和工作区.vscode/settings.json)。

你可能有这样一句话:

"editor.suggest.insertMode": "replace"
Run Code Online (Sandbox Code Playgroud)

您可以删除它以获得默认行为,而不是"insert""replace"或者只是将其更改为"insert"

该设置的描述如下:

控制接受完成时是否覆盖单词。请注意,这取决于选择此功能的扩展。

"insert"值的描述如下:

插入建议而不覆盖光标右侧的文本。

"replace"值的描述如下:

插入建议并覆盖光标右侧的文本。

对于某些语言,默认值可能会更改。您可以使用命令查看defaultSettings.json 文件来检查所有默认设置Preferences: Open Default Settings (JSON)

要设置每种语言的设置,请将它们包含在如下块中(例如 C++):

"[cpp]": {
    "editor.suggest.insertMode": "insert"
}
Run Code Online (Sandbox Code Playgroud)

  • @RezaTaba这是一个新引入的错误https://github.com/dotnet/vscode-csharp/issues/5801 (4认同)
  • 谢谢(你的)信息。我的用户和工作区都处于“插入”状态,但它仍然充当“替换”状态。你知道为什么吗? (3认同)