190 likes | 378 Views
A Lap Around Visual Studio 2010 for the Visual Basic Developer. Lisa Feigenbaum Program Manager Microsoft Corporation http://blogs.msdn.com/lisa. A Lap Around VS 2010 for the VB Dev. Session Objectives Discover what’s available See how to take advantage of new features Agenda
E N D
A Lap Around Visual Studio 2010 for the Visual Basic Developer Lisa Feigenbaum Program Manager Microsoft Corporation http://blogs.msdn.com/lisa
A Lap Around VS 2010 for the VB Dev • Session Objectives • Discover what’s available • See how to take advantage of new features • Agenda • New Editor & Shell • VB IDE • VB Language • VS 2010 & .NET 4 Highlights
New Editor & Shell • WPF User Interface • New Look, Rich Experience • Start Page • Remove or pin projects, View directory, Customize • Editor • Zoom, Multi-Monitor, Block selection, Outlining • Extensibility • Visual Studio Gallery, Extension Manager
Code-Focused VB IDE • Understanding • Highlight References • Type Colorization • Navigating • Navigate To: Files & Members, Ctrl+, • Writing & Testing • IntelliSense: Non-aggressive, Substring,PascalCase • Generate From Usage: Type, Method, Property
VB Language • Syntax Enhancements • Multiline Statement Lambdas • Auto-implemented Properties • Collection Initializers • Array Literals • Implicit Line Continuation • Co/contravariance • Office Deployment: No PIA • Dynamic Language Interop on the DLR
Dynamic Languages On .NET IronPython IronRuby C# VB.NET Others… Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching ObjectBinder JavaScriptBinder PythonBinder RubyBinder COMBinder
VB 10, C# 4.0 And Dynamic Visual C# Visual Basic DimcalcAs Calculator = GetCalculator() Dimsum As Integer = calc.Add(10, 20) Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); DimcalcAs Object = GetCalculator() Dimsum As Integer = calc.Add(10, 20) object calc = GetCalculator(); TypecalcType = calc.GetType(); object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, newobject[] { 10, 20 }); int sum = Convert.ToInt32(res); Static binding Binding to ScriptObjects (JavaScript) DimcalcAsScriptObject = GetCalculator() Dimres As Object= calc.Invoke("Add", 10, 20) Dim sum As Integer = Convert.ToInt32(res) Dynamic binding (pre-VS 2010) ScriptObject calc = GetCalculator(); object res = calc.Invoke("Add", 10, 20); int sum = Convert.ToInt32(res); Statically typed to be dynamic dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); DimcalcAs Object = GetCalculator() Dimsum As Integer = calc.Add(10, 20) Dynamic method invocation Dynamic conversion Dynamic conversion Dynamic method invocation
VB & C# 2010 Language New in VS 2010 Already exists in VS 2008
VB & C# 2010 IDE New in VS 2010 Already exists in VS 2008
VS 2010 / .NET 4 Highlights • DGML Graphs • WPF Drag & Drop • IntelliTrace • Parallel Extensions • New Editor & Shell
Summary • What We’ve Seen • New Editor & Shell • VB IDE • VB Language • VS 2010 & .NET 4 Highlights • Call to Action • Download Beta2 • Use the resources and try it out • Tell us your feedback
Resources Visual Basic Developer Centerhttp://msdn.com/vbasic VB 2010 Resourceshttp://msdn.microsoft.com/en-us/vbasic/dd819153.aspx Blogshttp://blogs.msdn.com/vbteam (VB Team) http://blogs.msdn.com/lisa (Lisa) Visual Basic Forumshttp://forums.msdn.microsoft.com/en-US/tag/visualbasic/forums/ Connecthttps://connect.microsoft.com/VisualStudio
http://blogs.msdn.com/lisaLisa.Feigenbaum@microsoft.com THANK YOU!