防止在Visual Studio代码中自动完成


103

我正在使用新的Visual Studio Code,显然还没有准备好迎接黄金时段,但是我希望能够解决我遇到的问题。

在SQL文件中,只要您键入case,它就会自动添加end,就好像您正在构建一个case块一样。即使您在评论中,或Case用作单词的一部分(例如select CaseID from...)。我想完全禁用所有这些废话,因为它对我来说自动完成事情做得不好。

我已经找到的唯一配置选项已经设置:

"editor.autoClosingBrackets": false,
"editor.suggestOnTriggerCharacters": false,

关于如何阻止这种情况还有其他想法吗?

对于begin(添加end)之类的东西也是如此,我敢肯定还有更多。


3
一种解决方法是按^ Z打字后casebegin。还是很痛苦。
zedfoxus 2015年

Answers:


169

在最新版本的Visual Studio Code中,我发现

"editor.acceptSuggestionOnCommitCharacter": false

配置禁用此行为。


60
这次真是万分感谢。我正在打字render(并得到CanvasRenderingContext2D。WTF?!?!?!它不会让我在不禁用提交字符的情况下编写输入的内容。多么可怕的默认设置。未经您的许可,编辑人员不应替换您键入的内容。
张天伦

14
更糟的是,当它更改为疯狂的东西并自动为该不需要的符号插入导入
Darius

1
@shybovycha是的,我"editor.acceptSuggestionOnCommitCharacter": false 手动添加到settings.json,但是没有按预期工作。我的意思是我重新启动VScode后它仍然自动完成。不知道为什么。
tucq88 '18

4
谢谢,因为getData+ (=> __acrt_get_locale_data_prefix()并不能帮助我提高工作效率。
改变igel

1
我更改了此设置,因为这使我对执行JS导入感到疯狂。但是,我还必须添加:"editor.quickSuggestions": false,这样,每次我键入“ const”时,都不会得到一个庞大且不相关的列表,要求我ESC在关键字和变量名之间单击。
尼尔·盖·林德伯格

58

一年后的现在,Visual Studio Code很酷,已经准备就绪。但是我仍然没有找到一种方法来完全关闭自动补全功能。

但是他们的文档中确实有一些东西:https : //code.visualstudio.com/docs/editor/intellisense#_customizing-intellisense

基本上,我将其放入settings.json尝试将其关闭的工作区。但是我仍然必须对此进行评估。

// Place your settings in this file to overwrite default and user settings. 
{
    // Controls if quick suggestions should show up while typing
    "editor.quickSuggestions": { "other": false, "comments": false, "strings": false },

    // Controls if suggestions should be accepted with "Enter" - in addition to "Tab". Helps to avoid ambiguity between inserting new lines and accepting suggestions.
    "editor.acceptSuggestionOnEnter": "off",

    // Controls the delay in ms after which quick suggestions will show up.
    "editor.quickSuggestionsDelay": 10,

    // Enable word based suggestions
    "editor.wordBasedSuggestions": false
}

1
自编写以来,我可能正在使用新版本,但是对我"editor.quickSuggestions"来说,我是一个可以调整3个子值的对象:{ "other": false, "comments": false, "strings": false }。此外,也许VS Code足够聪明,可以看到"editor.quickSuggestions": false所有3个并将其设置为false
Brad Cupit

我无法按照说明进行操作。请改善答案
userJT

3
acceptSuggestionOnEnter现在应该设置"off"为最新版本。
rjh

2
我不能忍受wordBasedSuggestions,人们倾向于重新建议与过去相同的拼写错误/错别字;“这里的一个函数名称在外观上看起来与真实名称相似,但事实并非如此!”
jrh

13

自2019年5月17日起,这对我有效。

"editor.acceptSuggestionOnCommitCharacter": false,
"editor.acceptSuggestionOnEnter": "off",
"editor.hover.enabled": false,
"editor.minimap.enabled": false,
"editor.parameterHints.enabled": false,
"editor.quickSuggestions": false,
"editor.quickSuggestionsDelay": 10,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestOnTriggerCharacters": false,
"editor.wordBasedSuggestions": false,

3
添加此选项可禁用悬停工具提示:"editor.hover.enabled": false
Vidar

这对我有用!
AmolR

8

这不是正确的答案,但它可能是一个更好的选择。增加:

编辑:快速建议延迟

从50毫秒(默认)到500-1000毫秒。

在这种情况下,您将有半秒钟的时间来击败自动完成选项,这在95%的时间内可能就足够了,并且在某些情况下您不会失去想要的功能。


好答案。我做到了 您可以将其设置为更高的数字,并挑战自己以查看是否可以比机器更快地完成自动完成;-)
PatrickT

7

在当前版本的VS Code中,将其添加到您的用户设置中:

"editor.quickSuggestions.other": false

这将禁用大多数虚假建议。


3

重申答案,使人们轻松浏览。用⌘+,或打开设置Ctrl+,

{
    "editor.quickSuggestions": false
}

您应该改为编辑现有答案。指令和语法突出显示是不错的补充,但有些人可能将重申的答案视为篡改投票的机制
Samy Bencherif

2
问题是其他答案更全面,尽管在我的案例中没有用,因为我只需要一个设置。我不想从他们的答案中删除详细信息,而只是专注于我需要的内容。
ubershmekel '19

2

我对版本1.22.1进行了此更改

“ editor.wordBasedSuggestions”:否

这防止了已经出现的单词的完成。


用户设置进行上述更改,可以在“ 文件” -> “首选项” -> “设置”下找到


-1

这可能对您有帮助>> editor.acceptSuggestionOnCommitCharacter:false

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.