Visual Studio Code - Intellisense自动完成行为

6
我对 Visual studio code 还不太熟悉。我正在使用 Visual studio code 开发 AngularJS 应用程序。由于我的 .NET 开发背景,我非常喜欢 Visual studio code 的智能感知功能。但我感觉它缺少了一些东西。当我输入任何对象名称时,自动完成框会弹出建议,当我选择相应的项目并按下句点时,对象名称没有被完整地填充。例如:假设对象名称为 SampleObject。当我开始输入“Sam”时,建议框会显示“SampleObject”。一旦我选择这个名称并按下句点,输出结果是“Sam.”,而不是“SampleObject.”是否需要添加某些设置以获得期望的行为?非常感谢您的帮助。谢谢。

Ctrl+Space打开建议弹出窗口。当您开始输入关键字/对象名称时,就会发生这种情况。我的问题是关于下一部分的。选择列表中的项目并按句号。 - Sakthirajesh N
你正在使用哪个版本的VS Code?我无法在Windows 10上的1.1.1中复制这个问题。 - Gareth Oates
此外,您在哪个页面发现了这种行为?例如 jshtml 还是所有页面都有? - Guruprasad J Rao
我在 Windows 7 X64 上运行 VS Code 1.1.0。我注意到这种行为在 js 文件中出现,我还没有检查其他文件。 - Sakthirajesh N
当我按下“tab”或“enter”键时,上述问题不会出现。 - Sakthirajesh N
2个回答

12

我在VScode的GitHub问题论坛上发布了同样的查询。我收到了以下回复。

您可以将以下片段添加到键盘快捷方式配置中,以便在按“.”时接受建议并插入点。

{
    "key": ".",
    "command": "^acceptSelectedSuggestion",
    "when": "editorTextFocus && suggestWidgetVisible && suggestionSupportsAcceptOnKey && editorLangId == 'javascript'"
}

这个起作用了。


更多关于Visual Studio Code键盘快捷键的信息可以在这里找到:https://code.visualstudio.com/docs/customization/keybindings#_customizing-shortcuts - dotarj
添加了“space”相同的功能(也与Visual Studio一致)。我不认为有必要包括suggestionSupportsAcceptOnKeyeditorLangId == 'javascript';干就行了。 - dudeNumber4

0

VSCode 1.51 (2020年10月) 将通过以下方式使这些选择更加明显:

建议状态栏

现在,建议控件还可以在窗口底部显示自己的状态栏。
使用editor.suggestStatusBar.enable设置启用它。
这使得切换详细信息更加简单,并显示完成支持插入、替换或两者都支持。

Suggest Status Bar -- https://media.githubusercontent.com/media/microsoft/vscode-docs/b90c7662cebb51d859506135a03f1ff459f1c743/release-notes/images/1_51/suggest-status.png

主题:GitHub Light,字体:FiraCode

在上面的示例中,选择“插入”会导致Math.floorceil,选择“替换”会导致Math.floor

新的editor.suggest.insertMode设置允许您配置您喜欢的是插入还是替换。
当一个建议同时支持插入和替换时,您的首选项将成为默认值。

请注意,您还可以使用设置{{link1:editor.tabCompletion}}来强制“替换”成为默认选项,而不是“插入”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接