为什么C#IntelliSense与VB.NET相比延迟了?

为什么C#IntelliSense与VB.NET相比延迟了?,c#,.net,vb.net,intellisense,C#,.net,Vb.net,Intellisense,在VB.NET项目中,光标离开该行后,错误会立即高亮显示。在C#中,我必须等待几秒钟,IntelliSense才能突出显示它。此外,C版本不会在“错误列表”中显示所有项目错误,除非您开始构建它。事实上,它似乎在各个方面都起着不同的作用。有可能调整这种行为吗 我同时使用VisualStudio2008和VisualStudio2010。使用Visual Basic时,Visual Studio会立即编译新代码,而使用C#,只会直接突出显示语法错误,并在生成代码后编译错误。这是因为每当IDE空闲时,

在VB.NET项目中,光标离开该行后,错误会立即高亮显示。在C#中,我必须等待几秒钟,IntelliSense才能突出显示它。此外,C版本不会在“错误列表”中显示所有项目错误,除非您开始构建它。事实上,它似乎在各个方面都起着不同的作用。有可能调整这种行为吗


我同时使用VisualStudio2008和VisualStudio2010。

使用Visual Basic时,Visual Studio会立即编译新代码,而使用C#,只会直接突出显示语法错误,并在生成代码后编译错误。

这是因为每当IDE空闲时,VB.NET都会进行完整的后台编译,所以它总是准备好最新的信息。C#不这样做,而是有一个单独的过程来创建IntelliSense信息

如果不做大量工作或购买一些第三方工具,您就无法真正调整它。这是两种语言之间的差异之一,VB.NET团队专注于某些方面,C#团队专注于其他方面


尽管我认为你可以购买的一些插件(可能还有其他插件)正在宣传更好的IntelliSense,如果你真的想要的话。

我想说这并不完全准确,因为ReSharper在C#上做背景编译,inside VS.ReSharper可以做与VB.NET后台编译器相同的工作吗?@Nick Craver:稍微调整了我的答案,试图涵盖这一点。@Sphynx:我不确定它是否100%相同,因为我不做VB,从2003年起就没有做过,但它做了我想做的一切,包括即时编译警告……不过我在一台相当强大的机器上,所以我不确定它是否在其他硬件上有点落后。一年前我试用了一款Resharper,觉得它太慢了(不是很慢,但足以让人讨厌),但那是在我以前的机器上,当时它已经有几年的历史了,我买它的时候还只是中档。