Visual Studio 2013 VB智能感知

15

如果这是一个愚蠢的问题,我提前道歉,但它困扰了我很久,我也解决不了。

我使用的是Visual Studio 2013 Professional版本,通常使用C#编码时,当我使用Intellisense时,按Enter键选择一个方法或其他内容时,它会添加我的选择并让我在同一行上继续输入。

但现在我在一个VB.NET项目上工作,当我以同样的方式使用Intellisense时,它会将光标放在下一行,也就是说,我按Enter键来选择任何内容时,它会添加我的选择并开始新的一行,因此我必须按Backspace键返回到上一行。这太烦人了!

有没有办法改变这种行为,使光标不跳到下一行?我看过Tools > Options中可用的设置,但无法找到答案,在谷歌上搜索类似的内容也没有成功。


当你按下TAB而不是Enter时,它是否也会跳到下一行? - Jevgeni Geurtsen
按下 TAB 键确实可以使光标停留在同一行。我不知道我可以使用它,谢谢!但是,当按下回车键时,是否有办法让光标保持在同一行?我太习惯按回车键了 叹气 - arie
1
Tab还是空格,如果你知道你需要一个空格。或者其他字符,比如开括号(等等)或者点号“.”。在我看来,VB智能感知比C#更好。 - porkchop
3
TAB键是自动完成的正确按键,你只是太习惯使用错误的按键了。在Visual Basic中,回车键非常重要,它输入语句完成字符,类似于C#中的分号; 。你需要重新训练肌肉记忆,这可能会痛苦约一周左右。 - Hans Passant
截至Visual Studio 2015 Update 3 RC版本,仍不支持此功能。在“选项”>“文本编辑器”>“C#”>“智能感知”下,有一个选项可以更改在完成列表中选择建议时使用“Enter”的行为。然而,此选项在“Basic”(Visual Basic)设置中缺失。 - srbrills
我曾经遇到过同样的问题。之前我一直在使用 C# 和 XAML,从来没有出现过问题。但是一旦我开始用 VB 做项目,就遇到了这个问题... - Aric
3个回答

10

在这里找到了它(段落"列表成员")

您已切换到建议模式,而不是完成模式

您还可以切换到建议模式,在此模式下,仅插入您键入的文本。例如,如果您输入一个不在列表中的标识符并按TAB,则在完成模式下,该条目将替换已键入的标识符。要在完成模式和建议模式之间切换,请按CTRL+ALT+SPACEBAR或单击编辑/IntelliSense/切换完成模式。

因此,要么使用TAB/SPACEBAR(如我在注释中所说),要么按CTRL+ALT+SPACEBAR切换回完成模式

编辑:我发现每当您键入Stri(现在列表中将突出显示String),然后按.(点),它将自动完成并保留在同一行。

我认为您在C#中执行此操作的方式在Visual Basic中不可能。


好像不是这样的 :( 我处于完成模式,当我按下回车键时它确实会完成文本,但它也会跳到新行。当我切换到建议模式时,它会在不完成文本的情况下跳到新行。 - arie
我没有找到任何关于这个问题的答案,我什么都没找到,所以我认为这不可能。虽然我发现了一些新的东西,并将其添加到我的主要答案中。 - Jevgeni Geurtsen
哦,谢谢,这也会很有帮助,我想我可以适应它!我还发现,与其按回车键,我按空格键,它会自动完成单词并停留在同一行,也许这比使用TAB更容易。 - arie
太棒了,我会把它添加到答案中! - Jevgeni Geurtsen
截至Visual Studio 2015 Update 3 RC,仍然不支持此功能。在“选项”>“文本编辑器”>“C#”>“智能感知”下,有一个选项可以更改在完成列表中选择建议时使用“Enter”的行为。但是,此选项在“Basic”(Visual Basic)设置中缺失。 - srbrills

0

当你遇到这种问题时,可以使用的简单方法是在IntelliSense提供预测列表时,按tab键而不是Enter键。


0

我曾经遇到过同样的问题,后来发现我的电脑上没有启用“自动列出成员”功能。该选项在工具 > 选项 > 文本编辑器 > 基本 > 常规下。这让我得到了我所需要的智能感知。


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