Tod*_*out 6 vb.net intellisense visual-studio
对我来说,Java生态系统的开发支付了多年的账单.但是,几年来,我一直主要在.Net领域工作.最初,我转换到.Net世界包括编写和维护VB.Net代码.在提供了多年的Eclipse/Java组合工作之后,VS提供了我所期望的几乎所有优秀的intellisense支持.最终我的雇主决定用C#做新的开发.我对c#的intellisense支持的最初印象不是很好.有时似乎VS没有C#的后台编译器,但偶尔它会做一些聪明的事情,表明那里有一些后台处理,但还不足以真正以有意义的方式提高生产力.关于两种语言之间智能感知支持的差异,是否有任何明智的技术原因?
Ahm*_*eed 14
现在,C#和VB之间存在差距.VB为您生成了很多代码.例如,在完成"If"语句后按Enter键将自动在该行的末尾添加"Then"(如果您将其关闭),并使用"End If"部分将其关闭.在C#中,您可以添加那些开始和结束{}花括号.
VB在C#之前很久就进行了后台编译.事实上,这是使用ReSharper的主要吸引力因素之一,它提供了这样的功能.但是,从VS 2008/.NET 3.5 SP1开始,这一切都发生了变化.你可以在这里阅读Scott Gu的帖子,但我会粘贴相关部分:
"C#代码编辑器现在识别并显示以前需要显式编译来识别的许多语义代码问题的红色波浪错误.例如,如果您尝试在C#代码编辑器中声明并使用未知类型,那么您将不会在你进行构建之前看到编译错误.现在使用SP1,你会立即看到实时红色波浪错误(不需要显式编译)."
使用CodeRush或ReSharper肯定会增强常见语句自动完成的体验,这将使VB开发人员感觉无缝过渡.
这并没有完全解决技术问题,但开发团队是不同的,并不一定做同样的事情.换句话说,不太可能采用共享方法.这个博客文章由VB团队的技术负责人摘录,支持这一点:
"背景编译"是VB中的一项功能,可在您键入时为您提供一组完整的错误.在VB和C#之间来回移动的人注意到了这一点,但是仅限VB的开发人员可能没有意识到其他语言(如C#)并不总能给出100%准确的智能感知,并且不会总是给你所有存在的错误在你的代码中.这是因为他们的Intellisense引擎是独立的,按比例缩小的编译器,它们不在后台进行完全编译.另一方面,VB从头到尾编译整个项目,因为Visual Studio处于空闲状态,允许我们立即使用完全准确的错误填充任务列表,并允许我们为您提供完全准确的智能感知.
最后一个注意事项是最近Channel9对C#/ VB/F#团队的团队PM Luca Bolognese的访谈,他强调了这些语言不再会在不同的方向偏离,并将开始分享它们的相似之处.所以看起来未来会有很棒的东西!
| 归档时间: |
|
| 查看次数: |
3012 次 |
| 最近记录: |