Thursday, October 29, 2009

Visual Studio 2010 and .NET 4.0 Features

I started working in Visual Studio since its early Visual Basic days. The latest in that series was 6.0.  Then came a series of .NET platform versions: Visual Studio .NET (Rainier, 2003-Feb),  Visual Studio .NET 2003 (Everett, 2003-Apr), Visual Studio 2005 (Whidbey, 2005-Oct) and Visual Studio 2008 (Orcas, 2007-Nov). The latest version of Microsoft Visual Studio is VS 2010 (Code Name: Hawaii) and is expected to be available for public in March, 2010. I tried out the recently released Beta 2 version of VS 2010 and its cool.

Here are some of the new features (collected from various blogs including ScottGu's Blog and Kevin McNeish's Blog):
Visual Studio
  • Fresh look and feel with a blue based new logo and color theme.
  • Works side by side with VS 2008 and supports Multi Targeting (.NET 2.0, 3.0, ...).
  • New Product Lineup (Express, Professional, Premium, Ultimate).
  • Multi-Monitor Support (editors, designers and tool-windows).
  • Silverlight UI layout support.
  • Data binding support for both WPF and Silverlight.
  • Zoom in/out of any code editing window or text editing window.
  • Call hierarchy for C# is available at design time (Similar to stack trace; Right click on a symbol(method or class, etc.) and choose View Call Hierarchy).
  • Naviagate To (Edit > Navigate To or Ctrl+Comma) option to do quick search for a symbol or file in the source code (can search part of a name or abbreviation like IC for InitializeComponent, and can specify multiple strings separated by space).
  • Highlight References: Put the cursor on a symbol and after a short delay, all its references are highlighted. Or use Find all references (Right click on a symbol and choose Find All References) to see all its instances.(Ctrl-Shift-up/down arrow to cycle)
  • Consume First Development: Even if there is no class by name Person, you can type Person obj = new Person(); and then choose to generate the class. (Ctrl+ Dot)
  • Tools > Extension Manager to manage add-ins.
.NET Framework 4.0
  • Dynamic Language Support. [kind of late binding: dynamic Car = GetCar();]
  • MEF (Managed Extensibility Framework) for developing applications that supports plugins.
  • Optional Parameters [Supply a default value to make it optional: public void CreateBook(string title="No Title", string isbn = "0-00000-000-0"){}]
  • Named Parameters [Supply parameter values in any order specifying its name: CreateBook(isbn: "5-55555-5555-5"); or CreateBook("Book Title", isbn: "5-55555-5555-5");]
  • Co-variance and Contra-variance support [IEnumerable<string> strings = GetStrings();IEnumerable<object> objects = strings; is now possible.]
  • Starter Project Templates (Installed & Online; Empty, Normal, MVC, Ajax, etc.).
  • Clean Web.Config Files.
  • Code Optimized Web Development Profile(Or Tools>Options>HTML Designer>Off Designer)
  • ASP.NET, HTML, JavaScript Snippet Support.
  • Auto start: Only on IIS 7.5 (well-defined approach to perform expensive application startup).
  • URL Routing with ASP.NET 4 Web Forms.
WPF 4.0
  • New controls: DataGrid, DatePicker, and Calendar
  • Bag O’ Tricks controls: AnimatingTilePanel, ColorPicker, InfoTextBox, ListPager, NumericUpDown, Reveal, TransitionsPresenter, TreeMapPanel.
  • Extra control: Windows 7 & Office Ribbon Control
  • Graphics improvements: Cached Composition, Pixel Shader 3 Support, LayoutRounding, Animation Easing Function, CleartypeHint
  • Text improvements: New Text Rendering Stack, Display-optimized character layout, explicitly selecting aliased, grayscale, or ClearType rendering modes, optimizing text hinting and snapping, support for fonts with embedded bitmaps, BindableRun (Run.Text), Custom Dictionaries, Selection and Caret Brush
  • Windows 7 Multitouch Support: Multi-touch Manipulation, Inertia (Pan, Zoom, Rotate) events on UIElement, Raw multi-touch events (Up, Move, Down) on UIElement, UIElement3D and ContentElement, Multiple capture supporting multiple active controls, ScrollViewer enhancement to support multi-touch panning, Touch device extensibility, Future Surface SDK compatibility
  • Windows 7 Shell Integration: Jump List (Tasks, Items, Recent and Frequent Lists) and Taskbar (Progress bar, Overlay Icon, Thumbnail buttons with commanding support, Description Text) integration
  • Fundamentals: New XAML/BAML Parser Engine, Data Binding Support for DLR, Visual State Manager (VSM), HTML-XBAP Script Interop, UIAutomation Virtualization, SynchronizedInput Pattern
  • Deployment: .NET Framework 4 Client Profile, Full Trust XBAP Deployment
Win Forms 4.0
  • No new features or controls!
  • Will maintain compatibility for applications already written in WinForms.
  • Bug fixes and perf improvements.

No comments:

Post a Comment