New Features in Visual Studio 11 and .NET Framework 4.5

The first thing you'll notice after installing the bits is that Visual Studio 11 loads FAST. Very fast, compared to Visual Studio 2010! Below you'll find a summary of some of the new features and enhancements in Visual Studio 11.

Visual Studio 11 Developer Preview is out. You can download the web installer here,
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27543

or the full ISO image here:

http://www.microsoft.com/download/en/details.aspx?id=27538

NOTE: I had a problem on one machine with the web installer. If you run into installation issues, download and mount the ISO instead.

IDE

Project and solution backward compatibility. Open and edit projects and solutions created by using Visual Studio 2010 in Visual Studio 11 Developer Preview without converting the Visual Studio 2010 project first. The project and solution can then be opened again in Visual Studio 2010, as long as you have not implemented any code that has a dependency on any Visual Studio 11 Developer Preview-only features. For more information, see Installing Visual Studio Versions Side-by-Side.

Browse code in Solution Explorer. Access code browsing features directly from Solution Explorer. You can browse the types and members in your projects, search for symbols, view a method’s Call Hierarchy, find symbol references, and more, without having to switch between multiple tool windows. For more information, see Viewing the Structure of Code.

Visual Studio Templates support for C++. You can now author C++ project and item templates using the Visual Studio Templates technology. This was previously unsupported for C++.


Window Management

Access frequently used file easily. Pin files that you use often to the left side of the tab well so that you can access them easily regardless of how many files are opened in the IDE.

File preview in the Code Editor. View files in the editor without opening them to reduce file clutter in the editor. You can preview files by single-clicking them in Solution Explorer, during debugging when you step into files, with Go to Definition, and when you browse through Find Results. Preview files open in a blue colored tab on the right side of the document tab well. If you modify the file or choose the Promote button, the file opens.

Enhanced multi-monitor support. Float multiple windows together as a “raft” on other monitors. You can also create a second instance of Solution Explorer and move it to another monitor. To return all windows back to the original monitor, press Ctrl + double-click


Search

Quick command search. Use the new Quick Launch feature to quickly locate menu commands, open Options dialog box pages, or switch between open documents. As you enter a keyword, Quick Launch filters the list of possible matches automatically. Press Enter or click an entry to open the dialog box or window associated with the command.

Tool window search. The Toolbox, Solution Explorer, Error List, and Team Explorer windows, among others, let you filter the visible content in those windows. Enter a keyword in the search box located at the top of each window to filter the view.

.NET Framework regular expressions. The Find and Replace control and the Find in Files and Replace in Files dialog boxes now use .NET Framework regular expression syntax. This syntax replaces the Visual Studio regular expression syntax used in previous releases of Visual Studio.

Find and Replace control. Ctrl+F displays the Find and Replace user interface at the upper-right of documents in the editor. Matches are highlighted as you type, and you can navigate backward and forward through the matches in the current file.

Javascript

IntelliSense enhancements. IntelliSense performance is improved and feature support is enhanced, as described in this section. To customize behavior of the JavaScript Code Editor and IntelliSense, on the menu bar, select Tools, Options, Text Editor.

Support for ECMAScript 5 and the HTLM5 DOM.

Parameter Help improvements. You can provide IntelliSense for fields, function overloads, and variables by using /// code comments.

Signatures in statement completion. You can see function signatures on the right side of the statement completion list.

Immediate feedback. IntelliSense includes statement completion for identifiers in the active document when accurate information about objects is not available. For more information, see Statement Completion for Identifiers.

Implicit references. You can control which objects are available in the global scope by using reference groups. To configure reference groups, on the menu bar, choose Tools, Options, Text Editor, JavaScript, IntelliSense, References. For information about references, choose F1 on specific UI elements.

Breakpoints. You can set breakpoints on specific locations in a single line of code. For example, in the code var y = 5; var x = 10;, you can just set the breakpoint on var x = 10;.

Script Loader. Delay-loaded scripts are now loaded in the development environment, which allows IntelliSense to provide information about the script objects.

Brace matching. Matching braces are highlighted when the cursor is on the left side of an opening brace or on the right side of a closing brace.

Outlining. New navigational aids include collapsible functions in the editor.

Go To Definition. You can put your cursor in a function and press F12 (or right-click and select Go To Definition) to open the JavaScript file that contains the definition of the function. The page opens at the location in the file where the function is defined. Go To Definition is not supported for generated files.

Drag-and-drop references. You can drag .js files from Solution Explorer to the JavaScript Code Editor, where they are added as references. References added in this manner are put at the top of the page in the Code Editor.

Async Features

Visual Basic and C# introduce the Async feature, which makes asynchronous programming almost as straightforward as synchronous programming. Asynchronous code traditionally has required you to define continuations to capture what happens after a called asynchronous operation finishes. This complicates your code, and makes routine tasks such as exception handling awkward and difficult.

By using the Async feature, you can call asynchronous methods without defining continuations, and without splitting your code across multiple methods or lambda expressions.


Debugging and Tools

Debugger
Remote debugging. The Visual Studio remote debugging process is simplified. Installing and running the remote debugger does not require manual firewall configuration on either the remote computer or the Visual Studio computer. You can more easily discover and connect to computers running the remote debugger in the Select Remote Debugger Connection dialog box.

IntelliTrace
Collecting IntelliTrace data with the stand-alone utilities. The IntelliTrace collection utilities let you collect logs of IntelliTrace events and other debugging information about computers that do not have Visual Studio installed. The utilities do not alter the computer in any way, and you uninstall them just by deleting the folder. Because of the low-impact installation of the utilities, you can use IntelliTrace log files to debug issues that appear on production servers and other computers where maintaining the computer configuration is very important.

Note that IntelliTrace log files can be opened only on computers running Visual Studio Ultimate.

Code Analysis
Code Analysis window. Code analysis warnings now appear on the Code Analysis tool window. On the window, you can now filter messages by keyword, project, and severity. Selecting a message in the window highlights the line in the source code editor where the message was triggered. For certain C++ warnings, the message lists source lines that show you the execution path that led to the warning.

New C++ concurrency warnings. The new concurrency warnings help you ensure locking disciplines in multithreaded C/C++ programs. The analyzer detects several concurrency bugs. These include potential race conditions, lock order inversions, caller/callee locking contract violations, and mismatched synchronization operations.

C++ rule sets. You can specify the analysis rules that you want to apply to code analysis runs by creating or using rule sets.

C++ one-click suppression. On the Code Analysis window, you can insert a pragma into the source code that suppresses a selected warning.

Parallel Debugging
Two new windows are added for debugging parallel applications:

The GPU Threads window displays the status and the details of the threads running on the GPU.

The Parallel Watch window displays values of a single expression across multiple threads at the same time.

The debugging windows now include the following thread-aware features:

The GPU Threads, Threads, Parallel Tasks, Parallel Stacks, and Parallel Watch windows now include a Show Flagged Only button.

You can flag and unflag threads from the GPU Threads, Threads, Parallel Tasks, Parallel Stacks, and Parallel Watch windows.

The Debugger Location toolbar has an Unflag All Threads button.

The shortcut menu of the code gutter has Flag All At This Location and Unflag All At This Location options.

You can flag threads across processes.

You can freeze and thaw threads from both the GPU Threads window and the Parallel Watch window.

You can sort, reorder, configure, and group in the columns in the GPU Threads, Threads, Parallel Tasks, and Parallel Watch windows.

Data

LocalDB Engine
The LocalDB engine is a new lightweight version of SQL Server that is used to access a SQL Server "Denali" database file (.mdf).
NOTE: I am having an issue with this currently when attempting to Add a new table, and I've posted it on the .NET Forum where they are monitoring issues:



This is a known limitation in this release. In order to edit the schema for a SQL Denali Database you will have to use the SQL Server node in the Server Explorer. In order to make a connection to your database follow these steps:

Right Click on SQL Server in Server Explorer and select "Add SQL Server"
Give the connection info for your server
Edit the schema of the database
In my case since I am trying to make a connection to the LocalDB instance I must specify the server name as (LocalDB)\v11.0 and authentication should be Windows Auth.

SQL Server Node
The new SQL Server node in Server Explorer provides a view that is like SQL Server Management Studio.


ASP.NET Core Services
ASP.NET core services include enhancements for request validation and new support for the WebSockets protocol. There is support for bundling and minifying JavaScript, for asynchronous reading and writing of HTTP requests and responses, and for asynchronous HTTP modules and handlers. In addition, anti-XSS (cross-site scripting) encoding APIs have been integrated into the core ASP.NET page framework.

ASP.NET Web Forms
ASP.NET Web Forms now offer model binders for data access, which are like those in ASP.NET MVC. Model binders let you write code that is called directly by data-bound controls, which works something like action methods ASP.NET MVC. Additional enhancements to Web Forms applications include strongly typed data controls, support for client-side validation using unobtrusive JavaScript, redirection of references to built-in JavaScript files to the Microsoft CDN, and support for new HTML5 form input types.

Visual Web Developer Enhancements
HTML editor. The new HTML editor offers support for HTML5 features and includes time-saving features, such as the ability to save selected markup to a user control for reuse and the ability to configure the HTML editor to automatically validate a page against the schema specified by its <!DOCTYPE> declaration. Other features include improved IntelliSense, smart indentation inside tag pairs, automatic editing of the corresponding tag when you modify one of the tags in a tag pair, and the automatic insertion of double quotation marks for attribute values.

CSS editor. The CSS editor now offers support for CSS3 and other enhancements. These include sections that you can expand and collapse, hierarchical indentation based on parent and child relationships, the ability to comment and uncomment blocks, improvements in IntelliSense like those in the HTML editor, and a color picker.

JavaScript editor. The JavaScript editor offers support for ECMAScript 5, improvements in IntelliSense, matching braces, and a Go To Definition feature that moves the cursor from a variable or function name to its definition when you choose the F12 key.

Data-Related Enhancements
LocalDB replaces SQL Server Express as the default database engine for development. This is a lightweight version of SQL Server that has all the programmability features of a SQL Server database. Server Explorer now has a SQL Server node that provides tools for working with SQL Server databases. You can add new DataAnnotation attributes to properties in order to automate validation for frequently used data types such as e-mail addresses, telephone numbers, and credit card numbers.

There are many other enhancements and new features;  the above represents a listing of the ones that would be of most interest to the average developer.

Of course, this all comes with .NET Framework 4.5, which  includes .NET for Metro style apps (Requires Windows 8), Asynchronous operations, HTML5 support and other features.  This is going to be a superb release. The Visual Studio Dev Team has learned a lot.

By Peter Bromberg   Popularity  (4937 Views)