VB.NET IntelliSense:禁用回车自动完成时的换行

145
在使用Visual Studio 2010编辑C#代码时,按下ENTER键会使IntelliSense完成当前建议,而不会添加新行。
在VB.NET中,ENTER键的默认IntelliSense行为是在完成当前建议后添加新行。
如何配置IntelliSense以将VB.NET行为更改为C#行为?
我已经知道可以按TABSPACE键,但由于习惯,我总是按下ENTER(并换行)。

2
习惯使用TAB键而不是回车键。 - Vinicius Rocha
2个回答

124

更新 Visual Studio 2017:

现在使用 Visual Studio 2017,您可以更改它。 工具 -> 选项 -> 文本编辑器 -> 基本 -> 智能感知。 在输入键行为中选择按回车不添加新行

Visual Studio 2015和之前版本的答案:

如果您想避免在自动完成建议时插入新行,请不要按Enter。 而是按下空格键,以完成您的自动填充并插入一个空格。

或者您可以使用这个第三方应用程序:

Resharper使覆盖Visual Studio智能感知并使用自己的智能感知变得可能。 这是我找到的唯一方法。 如果您想测试它,则有30天的免费试用期。


2
可能这是大多数人寻找的答案,但对我来说,它只能部分地按照我的要求工作。它不允许回车键像制表符一样完成内联(就像我从其他编辑器中习惯的那样)。它只允许在向下箭头进入列表后,回车键才能作为完成选择器。现在改用制表符适应。 - juanitogan
@juanitogan 我不再使用Visual Studio了,但我认为有一个选项可以解决你的问题。恐怕我记不清是哪个选项了。 - Abdelilah El Aissaoui
1
谢谢,这真的很烦人,特别是在不同IDE之间移动时(例如Android Studio) - Benno

63

遗憾的是,在VB.Net中,Intellisense完成的触发器键集不是可配置的项目。默认的Visual Studio环境中没有办法更改这种行为。

开发一种插件来完成此操作是可能的。但这是一个相当极端的措施。

编辑:截至Visual Studio 2017,现在可以更改此设置。请参见下面的答案


22
咻!我知道这不是你的错,但是当前语言不同导致 IDE 行为差异巨大真的很让人恼火。 - A.R.
8
可能是一个极端的措施,但那将会很棒。 - RustyH
7
这太太让人烦了! - andrea
7
习惯使用TAB键而不是回车键。 - Vinicius Rocha
13
@Vinicius 绝不! - QuantumHive
显示剩余4条评论

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