在Visual Studio 2015中访问空格键时停止默认自动完成行为

时间:2015-08-30 22:02:33

标签: c# ide settings visual-studio-2015 options

注意此处的关键字为“默认”。我知道我可以点击转义,默认行为会中止。每次IDE认为它知道我想要什么时,我都不想点击转义键。我没必要在2013年这样做。

ADDENDUM 2 我似乎仍然无法沟通我在此之后所做的事情。当我按下空格键时,我想要发生的是 nothing ...我只想在屏幕上显示一个空格字符。我希望IDE实际插入建议的唯一一次是当我点击标签栏时。我希望更清楚?

这让我疯了。 2013年和之前允许你设置完成字符(也许是resharper?)但是在2015年我看不到停止自动完成的默认行为。

例如,假设我有一个类automobile_images,但是我没有指定名称空间,但是如果我输入的话,我在其中一个指定的名称空间中有一个类Foo: / p>

FooBar

...它自动放public void DoSomething(Foo// <-- then a space) 。我该如何关闭这种行为?

我应该提一下,我仍然想要自动完成,只是在标签上。

8 个答案:

答案 0 :(得分:28)

编辑 - &gt;智力感知 - &gt;切换完成模式

来自:https://msdn.microsoft.com/en-us/library/hcw1s69b.aspx

&#34;您还可以更改为建议模式,其中只有您键入的文本会插入到代码中。例如,如果输入不在列表中的标识符并按TAB键,则在完成模式下,该条目将替换键入的标识符。要在完成模式和建议模式之间切换,请按CTRL + ALT +空格键或单击编辑/智能感知/切换完成模式。&#34;

答案 1 :(得分:7)

对于在Visual Studio 代码中遇到相同问题的所有人,请将此行添加到用户设置:

"editor.acceptSuggestionOnCommitCharacter": false

答案 2 :(得分:1)

编辑器:在输入时接受建议的设置更改为off

答案 3 :(得分:1)

对于当前版本的Visual Studio Code(2020),您可以通过以下方式更改为建议模式:转到文件>首选项>设置,然后转到扩展名> TypeScript 然后检查 TypeScript:禁用自动类型获取。或者,在转到设置之后,您可以在“搜索设置”中搜索“类型获取” ,然后检查 TypeScript:禁用自动类型获取

答案 4 :(得分:0)

我只是在Visual Studio中通过以下操作来做到这一点:

文件> 首选项> 设置>切换“建议使用触发字符”

我还关闭了“提交字符时自动建议”和“输入时接受建议”  -但是,您可能需要这些设置。

答案 5 :(得分:0)

如果您使用Vs2017,并且每次启动Vs时设置都会重置,我创建了一个小脚本,该脚本在启动时会使用Visual Commander Extension自动禁用空间补全:

enter link description here

答案 6 :(得分:0)

如果您使用的是 Resharper 和Visual Studio 2017,则可能需要使用现有答案的组合来停止按下空格时的自动完成行为。评论太久了,所以添加了答案。

  1. 确保在Visual Studio中已关闭/未选择“智能感知切换完成模式”(如其他答案所述)。注意:如果打开顶部VS工具栏中的“文本编辑器”图标,则将看到一个额外的图标,该图标会高亮显示和关闭,以显示智能感知是打开还是关闭。 和

  2. 在工具栏上的resharper下拉菜单中(Resharper>选项...),转到 IntelliSense>完成字符> ,然后取消选中“在空间上完成”框< / em>用于C#。

现在按空格键不会自动完成(仍可以使用制表符等自动完成)。

(相关:如果您使用VSVim,此自动完成空间功能确实非常糟糕),因为默认情况下您无法使用典型的vim ESC键“退出”自动完成模式。例如如果不将变量/函数更改为其他自动完成选项,甚至很难输入static修饰符。)

答案 7 :(得分:0)

Visual Studio 2019 Pro->选项->文本编辑器->高级->禁用“响应代码完成”

这将禁用“完成模式”,但在VS重新启动时不会生效。 您必须在每次重新启动后再次启用和禁用它,这比使用“切换完成模式”菜单选项更糟糕。

由于该选项位于“选项”中,因此应该将其作为永久设置。