What's New in Visual Studio 2012
You can find information about new features and enhancements in Visual Studio 2012 by reviewing the following sections of this topic and the topics to which they link:
Windows Store Apps
Visual Studio IDE
Languages
|
Application Lifecycle Management and Team Foundation Server
ASP.NET 4.5 and Web Development
|
Other Enhancements
Visual Studio Updates
|
Designing and building Windows Store apps
Understand the basics of Windows Store apps.
For more information, see Getting started with Windows Store apps.
Build a Windows Store app by using one of several default project templates, which provide the files, resources, and structure for various kinds of Windows Store apps.
For more information, see Develop Windows Store apps using Visual Studio 2012.
Build a Windows Store app by using XAML and C++, C#, or Visual Basic.
For more information, see Developing Windows Store apps (C#/C++/VB).
Build and test a Windows Store app by using Team Foundation Build
For more information, see Build and Test a Windows Store App Using Team Foundation Build.
Create and run unit tests for Windows Store apps
For more information, see Walkthrough: Creating and Running Unit Tests for Windows Store Apps.
Build a Windows Store app by using JavaScript.
For more information, see Designing and building Windows Store apps (JavaScript).
Visually design Windows Store apps that you build by using HTML.
You can use Blend to drag app controls onto a design surface and then manipulate them and set their properties. For more information, see the Design Windows Store apps using Blend.
Visually design Windows Store apps that you build by using XAML.
You can use the XAML Designer to drag app controls onto a design surface and then manipulate them and set their properties. For more information, see Creating a UI by using XAML Designer.
Debugging, optimizing, and publishing Windows Store apps
Debug a Windows Store app locally by using the traditional debugging model for Visual Studio.
For more information, see Debugging and testing with Visual Studio.
Debug a Windows Store app by using the Windows Store simulator.
You can use the Windows Store simulator to run Windows Store apps and to simulate common touch and rotate events on the same machine. For more information, see Running Windows Store apps in the simulator.
Debug a Windows Store app by using the remote debugger to run, debug, and test an app that's running on one device from a second machine that's running Visual Studio.
For more information, see Running Windows Store apps on a remote machine.
Debug a Windows Store app interactively by using JavaScript debugging tools, including DOM Explorer and JavaScript Console window.
For more information, see Debugging apps (JavaScript).
Find performance bottlenecks in your functions and algorithms.
You can use Visual Studio Profiling to identify where the code of your app spends the most processing time. For more information, see Analyzing the performance of Windows Store apps.
Check the code in your Windows Store app for common defects and violations of good programming practice.
For more information, see Analyzing the code quality of Windows Store apps with Visual Studio code analysis.
Create a developer account at the Windows Store, or reserve a name for your Windows Store app.
You can interact with the Windows Store by using several commands on the Store menu. For more information, see Packaging your Windows Store app using Visual Studio 2012.
Create an app manifest, and package all the required files together so that you can upload them to the Windows Store.
For more information, see Packaging your Windows Store app using Visual Studio 2012.
Create an app manifest, and package all the required files together so that you can upload them to the Windows Store.
For more information, see Packaging your Windows Store app using Visual Studio 2012.
Designing and building Windows Phone apps
Understand the basics of Windows Phone apps.
For more information, see Getting started with developing for Windows Phone .
Build an app by using C# or Visual Basic and XAML.
For more information, see Create your first app for Windows Phone.
Register for a Windows Phone Dev Center account.
For more information, see Join the Program.
Submit your app into the Windows Phone Store.
For more information, see Submit your app.
Testing, optimizing, and publishing Windows Phone apps
Use a checklist to test your app.
For more information, see Testing apps for Windows Phone.
Run automated and manual steps to prepare your app for the Windows Phone Store.
For more information, see Windows Phone Store Test Kit.
Register for a Windows Phone Dev Center account.
For more information, see Join the program.
Submit your app into the Windows Phone Store.
For more information, see Submit your app.
Projects and Solutions
Work with Visual Studio 2010 SP1 projects and files in both Visual Studio 2012 and Visual Studio 2010 SP1.
For more information, see Visual Studio 2012 Compatibility.
Browse code in Solution Explorer.
Browse the types and members in your projects, search for symbols, view a method’s Call Hierarchy, find symbol references, and perform other tasks without switching between multiple tool windows. For more information, see Viewing the Structure of Code.
Install online samples.
Use Visual Studio to download and install samples from the MSDN Code Gallery. You can download samples that explain new technologies and help you to jump start projects and debug your code. For more information, see Accessing Online Samples.
Solutions load asynchronously.
Projects are now loaded asynchronously, and the key parts of the solution load first, so that you can start to work faster.
Window Management
Preview files in the Code Editor.
Reduce file clutter in the editor by viewing files without opening them. Preview files appear in a blue tab on the right side of the document tab well. The file opens if you modify it or choose the Open button. For more information, see Kinds of Windows.
Access frequently used files more 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 open in the IDE.
Arrange windows on multiple monitors more effectively.
Dock multiple floating tool or document windows together as a “raft” on other monitors. You can also create multiple instances of Solution Explorer and move them to another monitor. For more information, see How to: Arrange and Dock Windows.
Change the color scheme of the IDE.
Choose either the Light or Dark color theme for the Visual Studio UI. For more information, see How to: Change Visual Studio Fonts and Colors.
Search
Search across the IDE.
Specify a word or a phrase, and then choose an entry from the list to open the dialog box or window that’s associated with the item or command. For more information, see Quick Launch.
Search in tool windows.
Filter the view by entering a keyword in the search box at the top of certain tool windows, such as the Toolbox, Solution Explorer, Error List, and Team Explorer. For more information, see Finding and Replacing Text.
Find strings by using regular expression syntax from the .NET Framework.
Use regular expression syntax from the .NET Framework in the Find and Replace control and the Find in Files and Replace in Files dialog boxes. For more information, see Using Regular Expressions in Visual Studio.
Code Editing for C++
Specify more semantic colorization.
More C++ tokens now have colorization by default, and you can specify more colorizations. For more information, see Writing Code in the Code and Text Editor.
Use improved reference highlighting.
You can highlight all instances of a symbol just by pointing to one instance. You can move among the highlighted references by choosing the Ctrl+Shift+Up Arrow or Ctrl+Shift+Down Arrow keys. You can turn this feature off or on.
Choose member functions as you type.
The List Members list appears automatically as you enter text in the code editor. Results are filtered so that only relevant members appear. For more information, see Using IntelliSense.
Take advantage of C++/CLI IntelliSense.
C++/CLI now supports IntelliSense features such as Quick Info, Parameter Help, List Members, and Auto Completion.
Speed up your coding by using code snippets.
You can choose a code snippet from the List Members list and then fill in the required logic. Snippets are available for switch, if-else, for, and other basic code constructs. You can also create custom snippets. For more information, see Code Snippets.
Code Editing for JavaScript
Use features of ECMAScript 5 and HTML5 DOM.
Provide IntelliSense for function overloads and variables.
Provide IntelliSense information by using new elements supported in triple-slash (///) code comments. New elements include <var> and <signature>. For more information, see XML Documentation Comments (JavaScript).
View signatures in the statement completion list.
Function signatures appear on the right side of the statement completion list.
Use smart indenting, brace matching, and outlining when you write code.
Use Go To Definition to locate function definitions in source code.
Right-click a function, and then click Go To Definition (or put the cursor in the function and then choose the F12 key) to open the JavaScript source file at the location in the file where the function is defined. (This feature isn't supported for generated files.)
Get IntelliSense information from standard JavaScript comments.
The new IntelliSense extensibility mechanism automatically provides IntelliSense when you use standard comment tags (//).
Extend JavaScript IntelliSense to improve support for libraries from other organizations.
Use extensibility APIs to provide a customized IntelliSense experience. For more information, see Extending JavaScript IntelliSense.
Set a breakpoint within a single line of code.
When a single line contains multiple statements, you can now break on a single statement.
Control which objects are available in global scope.
For more information, see JavaScript IntelliSense.
View statement completion for identifiers even when accurate information about the object isn't available.
For more information, see Statement Completion for Identifiers.
Get IntelliSense information for objects in dynamically loaded scripts.
The language service provides automatic support for some recognizable script loader patterns.
Visual Basic
Write asynchronous code in an easy and intuitive way.
By using the Async feature, you can call asynchronous methods without defining continuations or splitting your code across multiple methods or lambda expressions. For more information, see Asynchronous Programming with Async and Await (C# and Visual Basic).
Obtain caller information that assists with tracing and debugging.
You can obtain the source code file path, source code line number, and member name of the caller to a method. For more information, see Caller Information (C# and Visual Basic).
Maintain the simplicity of a For Each loop for a complex list sequence.
You can use iterators to return each item in a collection one at a time. For more information, see Iterators (C# and Visual Basic).
Understand better how your code flows.
By using the Call Hierarchy feature, you can display all calls to and from a selected method, property, or constructor. For more information, see Call Hierarchy.
Define a namespace outside of the root namespace of your project.
You can use the Global keyword in a Namespace statement. For more information, see Namespaces in Visual Basic.
For more information, see What's New for Visual Basic in Visual Studio 2012.
Visual C#
Write asynchronous code in an easy and intuitive way.
By using the Async feature, you can call asynchronous methods without defining continuations or splitting your code across multiple methods or lambda expressions. For more information, see Asynchronous Programming with Async and Await (C# and Visual Basic).
Obtain caller information that assists with tracing and debugging.
You can obtain the source code file path, source code line number, and member name of the caller to a method. For more information, see Caller Information (C# and Visual Basic).
For more information, see What's New for Visual C# in Visual Studio 2012.
Visual C++
Write code that conforms to the C++11 language standard.
You can use Visual C++ to write code that uses range-based for loops, standard threads, futures, and atomics, and other powerful new features in the standard C++11 language.
Create Windows Store apps and games by using C++.
Use the Visual C++ with XAML development model for Windows Store apps and games and use the Visual C++ component extensions (C++/CX) and other new features to create them.
Write faster, more efficient code by using compiler improvements.
Because of compiler improvements, you can write code that you can compile to run faster on the CPU or execute on multiple processors, or you can write code that you can reuse to target different system configurations.
Equip your app to run more quickly and efficiently when multiple processors are available.
By using improved parallel libraries and new debugging and visualization features, you can enable your app to run better on a variety of hardware.
Make your code more robust.
You can use the updated unit test framework, architecture dependency graphs, Architecture Explorer, code coverage, and other tools to make your code more robust.
Equip your app to run faster by using multiple CPUs.
By using the improved Parallel Patterns Library (PPL) and new debugging and visualization features, you can enable your app to run faster on hardware that has multiple cores.
Take advantage of power-efficient GPUs to increase performance.
You can speed up your data parallel algorithms by using the new C++ Accelerated Massive Parallelism (C++ AMP) library and new debugging and visualization features to enable them to run on GPUs or other accelerators from a variety of vendors.
For more information, see What's New for Visual C++ in Visual Studio 2012.
JavaScript
Important
To find out how to create Windows Store apps in JavaScript, including information about the Visual Studio JavaScript editor and other features, see Develop Windows Store apps using Visual Studio 2012.
Introduce additional run-time constraints and error-checking into your code.
For more information, see Strict Mode (JavaScript).
Handle binary data from sources such as network protocols, binary file formats, and raw graphics buffers.
For more information, see Typed Arrays (JavaScript).
Use the Windows Runtime in Windows Store apps.
For more information, see Using the Windows Runtime in JavaScript.
Add background workers that run in parallel with the main page.
For more information, see About Web workers.
For more information, see What’s New In JavaScript.
Visual F#
Program directly against rich spaces of data and services, such as databases, web services, web data feeds, and data brokers.
By using F# type providers, you can focus on your data and program logic instead of on creating a system of types to represent your data. For more information, see Type Providers.
Query databases directly in the F# language.
Use F# LINQ queries to specify exactly the data that you want in the F# language, without writing a database query or a stored procedure. For more information, see Query Expressions (F#).
Managing the application lifecycle
Manage the backlog, sprints, and tasks by using agile tools.
Define multiple teams, each of which can manage their backlog of work and plan sprints. Prioritize work, and outline dependencies and relationships. See who is over capacity, in real time. Update tasks and see the progress within a sprint. For more information, see Collaborate.
Engage stakeholders to provide feedback on pre-release software.
Stakeholders can record action scripts, annotations, screenshots, and video or audio recordings. For more information, see Request and review feedback.
Illustrate requirements with storyboards, and link storyboards to work items.
Build a storyboard from a collection of pre-defined storyboard shapes, capture user interfaces, and link any storyboard or file shared on a network to a work item. For more information, see Storyboard backlog items.
Manage enterprise projects by using Microsoft Project and Project Server.
Manage project portfolios and view status and resource availability across agile and formal software teams. For more information, see Enable Data Flow Between Team Foundation Server and Microsoft Project Server.
Modeling applications
Visualize your code more quickly and easily.
Create dependency graphs from Solution Explorer so that you can understand the organization and relationships in code. For more information, see Visualize Code Dependencies on Dependency Graphs.
Read and edit dependency graphs more easily.
Browse graphs and rearrange their items to make them easier to read and to improve rendering performance. For more information, see Edit and Customize Dependency Graphs and Browse and Rearrange Dependency Graphs.
Open and view linked model elements in work items.
For more information, see Link Model Elements and Work Items.
Generate C# code from UML class diagrams.
Start implementing your design more quickly, and customize the templates that are used to generate code. For more information, see How to: Generate Code from UML Class Diagrams.
Create UML class diagrams from existing code.
Create UML class diagrams from code so that you can communicate with others about the design. For more information, see How to: Create UML Class Diagrams from Code.
Import XMI 2.1 files.
Import UML class, use case, and sequence diagram model elements exported as XMI 2.1 files from other tools. For more information, see How to: Import UML Model Elements from XMI Files.
Developing applications and collaborating more effectively as a team
Track tasks and boost productivity by using an enhanced interface.
Organize upcoming, ongoing, and suspended work while increasing transparency and reducing the impact of interruptions. For more information, see Day in the Life of an ALM Developer: Write New Code for a User Story.
Work more efficiently in a version-controlled codebase.
Organize your work, reduce the impact of interruptions, and manage shelvesets and changesets. For more information, see Develop Your App in a Version-Controlled Codebase.
Conduct and track code reviews by using new tools.
For more information, see Day in the Life of an ALM Developer: Suspend Work, Fix a Bug, and Conduct a Code Review.
Perform unit testing by using a dedicated tool.
Test code as part of your workflow. For more information, see Running Unit Tests with Test Explorer.
Find duplicate code so that you can refactor.
For more information, see Finding Duplicate Code by using Code Clone Detection.
Compare code versions by using an enhanced diff tool.
For more information, see Compare Files.
Work offline.
Work in local workspaces either inside or outside of Visual Studio, even when you're not connected to Team Foundation Server. For more information, see Decide Between Using a Local or a Server Workspace.
Easily debug code that was generated from text templates.
You can set breakpoints in T4 text templates and debug them in the same way as ordinary code. For more information, see Debugging a T4 Text Template.
Automating and debugging builds
Run, monitor, and manage builds by using an enhanced interface.
For more information, see Run, Monitor, and Manage Builds.
Run automated builds from Team Foundation Service.
Take advantage of an on-premise or hosted build controller.
Define gated check-in build processes that support multiple check-ins.
Build multiple check-ins at the same time. For more information, see Define a Gated Check-In Build Process to Validate Changes.
Run native and third-party framework unit tests in your build process.
For more information, see Run Tests in Your Build Process.
Debug your build process more easily.
Choose a link in the build results window to view diagnostic logs. For more information, see Diagnose Build Problems.
Microsoft Test Manager
Run manual testing on Windows Store apps.
You can use Microsoft Test Manager to run manual tests to help you identify problems in your Windows Store apps that are running on a remote device, such as a tablet. For more information, see Testing Windows Store apps Running On a Device with Microsoft Test Manager.
Conduct exploratory testing.
From the Exploratory Testing window, you can run tests without being restricted to a test script or set of predetermined steps. For more information, see Performing Exploratory Testing Using Microsoft Test Manager.
Include multiple lines and rich text in your manual test steps.
Test steps can include multiple lines to consolidate related actions within a single test step in your test cases. Microsoft Test Manager now also includes a toolbar that you can use to format the text of your test steps. You can use various formatting options, such as bold, underline, or color highlighting to emphasize key points. For more information, see How to: Create a Manual Test Case.
Get the status of your test plans within Microsoft Test Manager.
This report is available to you from the Plan tab in the center group menu bar of Microsoft Test Manager. From there, you can view Results, which include a report on the status of your test plan. For more information, see How to: Create a Manual Test Case.
Clone test plans for new iterations.
By cloning tests, you can work more easily on different releases in parallel. For example, if you already have a test plan called “Contoso V1 – Milestone 1” and your team decides to make version V2, you can clone the test plan and use it for the V2 source code branch. After cloning the test plans, you and your team can work on both versions of the applications simultaneously. For more information, see Copying and Cloning Test Suites and Test Cases.
ASP.NET 4.5 Core Services
Improve page load time when referencing JavaScript and CSS files.
You can combine separate JavaScript and CSS files and reduce their size for faster loading through bundling and minification.
Work with projects that target earlier versions of the .NET Framework.
ASP.NET 4.5 updates multi-targeting so that you can work with projects that target earlier versions of the .NET Framework.
Avoid cross-site scripting attacks.
Encoding APIs that prevent cross-site scripting have been integrated into the core framework of ASP.NET pages.
Write asynchronous web applications more easily.
Use the new .NET 4.5 async (C# Reference) and await (C# Reference) keywords in combination with the Task type to simplify asynchronous web programming. For more information, see Using Asynchronous Methods in ASP.NET 4.5 and Using Asynchronous Methods in ASP.NET MVC 4.
For more information, see What’s New for ASP.NET 4.5 and Web Development in Visual Studio 2012.
ASP.NET 4.5 Web Forms
Write code that’s called directly by data-bound controls.
In ASP.NET Web Forms, you can now use model binders for data access as you can in ASP.NET MVC. If you use model binders, data-bound controls can call your code directly, like action methods in ASP.NET MVC.
Write strongly typed, two-way data-binding expressions in Web Forms data controls.
By using strongly typed expressions, you can access complex properties in data controls instead of using Bind or Eval expressions.
Make pages perform better through unobtrusive JavaScript.
By moving the code for client-side validation into a single external JavaScript file, your pages become smaller and faster to load.
For more information, see What’s New for ASP.NET 4.5 and Web Development in Visual Studio 2012.
General Enhancements for Web Development
Use the most recent web standards.
The new HTML editor offers full support for HTML5 elements and snippets. The CSS editor offers full support for CSS3, including support for CSS hacks and snippets for vendor-specific extensions to CSS.
Test the same page, application, or site in a variety of browsers.
Installed browsers appear in a list next to the Start Debugging button in Visual Studio.
Quickly find the source of rendered markup.
The new Page Inspector feature renders a webpage (HTML, Web Forms, ASP.NET MVC, or Web Pages) directly within the Visual Studio IDE. When you choose a rendered element, Page Inspector opens the file in which the markup was generated and highlights the source.
Find snippets and code elements quickly by using improved IntelliSense.
IntelliSense in the HTML and CSS editors filters the display list as you enter text. This feature shows strings that match the typed text in their beginning, middle, or end. It also matches against initial letters. For example, "bc" will match "background-color."
Select markup and extract it to a user control.
This feature is a convenient way to create markup for reuse in multiple locations. Visual Studio registers a tag prefix and instantiates the control for you. The selected code itself is replaced with an instance of the new user control.
Create and edit code and markup more easily.
When you rename an opening or closing tag, the corresponding tag is automatically renamed. When you choose the Enter key inside an empty tag pair, the cursor appears on a new line in indented position. Source view has Smart Tasks like Design view.
Create CSS more efficiently.
In the new CSS editor, you can expand and collapse sections, use hierarchical indentation, and comment and uncomment blocks freely. The CSS editor now has a color selector like the HTML editor.
Write JavaScript in the JavaScript editor.
For information about enhancements to the JavaScript editor, see the Code Editor Enhancements for JavaScript section.
Deploy web application projects more easily.
You can import publish settings from hosting providers, specify Web.config file transformations for a publish profile, store encrypted credentials in the publish profile, specify the build configuration in the publish profile, and preview deployment updates.
For more information, see What’s New for ASP.NET 4.5 and Web Development in Visual Studio 2012.
Data-Related Enhancements for Web Development
Automate validation for frequently used data types.
You can add new DataAnnotation attributes to properties to automate validation for frequently used data types such as e-mail addresses, telephone numbers, and credit-card numbers.
Deploy incremental database updates.
After you deploy a database with a web project, changes to the database schema are automatically propagated to the destination database the next time that you deploy.
For more information, see What’s New for ASP.NET 4.5 and Web Development in Visual Studio 2012.
IIS Express for Web Development
Develop web applications against a server identical to that of IIS.
In Visual Studio 2012, IIS Express is the default server for web development. IIS Express is a lightweight, self-contained version of IIS that contains all the core capabilities of the IIS web server role.
ASP.NET Web API
Easily build and consume HTTP services that reach a broad range of clients.
Services can be consumed by browsers, mobile applications, tablets, and other devices. Built-in support for content negotiation enables clients and servers to mutually determine the right format for data.
Directly access and manipulate HTTP requests and responses by using a modern HTTP programming model.
Use a clean, strongly typed HTTP object programming model that’s supported both on the server and on the client. The new HttpClient API can call web APIs from any .NET Framework application.
Easily extract data from an HTTP request.
Model binders make it easier to extract data from various parts of an HTTP request. The message parts become .NET objects that Web API actions can use. The ASP.NET Web API supports the same model binding and validation infrastructure as ASP.NET MVC.
Enjoy a full set of routing capabilities.
ASP.NET Web APIs support the full set of routing capabilities in ASP.NET MVC and ASP.NET, including route parameters and constraints.
For more information, see Getting Started with ASP.NET Web API and ASP.NET Web API (Part 1).
LightSwitch
Connect to OData data sources.
Your LightSwitch applications can connect to any Open Data Protocol (OData) data source, including those from the Windows Azure DataMarket. For more information, see How to: Connect to Data.
Expose your application data as an OData data source.
You can expose data from a published LightSwitch web application as an OData feed for use by other applications, taking advantage of LightSwitch features such as authentication and filtering. For more information, see LightSwitch as a Data Source.
Assign roles and permissions to security groups.
If you use Windows authentication, you can assign roles and permissions to any security group in Active Directory. For more information, see LightSwitch Authentication and Authorization.
Limit data that the server returns.
You can define filters that apply across any queries that access your data, even through an association. For more information, see How to: Filter Data in a LightSwitch Application by Using Code.
Improve the look of your screens with new controls.
You can organize screen content by using the Group Box control. You can also display text and data on a screen without data binding. For more information, see How to: Add Static Text or Images to a Screen.
Customize the formatting of numbers and dates.
You can use the new Format Pattern property for numeric and date data types to control the display format of numbers and dates. For more information, see How to: Format Numbers and Dates in a LightSwitch Application.
Treat URLs and percentages as data types.
You can use custom business types to treat a decimal as a percentage and a string as a URL, with built-in formatting and validation. For more information, see Adding a Data Field.
For more information, see What's New for LightSwitch in Visual Studio 2012.
Data Application Development
Work with database objects in SQL Server Object Explorer.
Use the new SQL Server Object Explorer, which resembles Management Studio, to create queries and define database objects. View the column definitions, including primary and foreign keys. For more information, see Connected Database Development.
Define tables in the new Table Designer.
Use the Table Designer to define tables in the SQL Server 2012 format. As you define a table in the graphical interface, the Transact-SQL code is updated in the Script pane. For more information, see How to: Create Database Objects Using Table Designer.
Develop and test database applications in SQL Server Express LocalDB.
SQL Server Express LocalDB is a lightweight version of SQL Server that has all the programmability features of a SQL Server database. SQL Server Express LocalDB replaces SQL Server Express as the default database engine for development. You can upgrade your files or continue to use SQL Server Express if you must use both Visual Studio 2010 and Visual Studio 2012. For more information, see Local Data Overview.
Graphics Tools
Add, edit, and compile HLSL shaders more easily.
You can use syntax coloring, indenting, and outlining when you are coding HLSL shaders, and MSBuild automatically supports the Microsoft HLSL Compiler (fxc.exe).
View and modify image assets more efficiently.
You can use the Image Editor to create, inspect, and modify bitmap and compressed image formats (DDS, TGA, TIFF, PNG, JPG, GIF), and the editor supports transparency and mipmaps. For more information, see Image Editor.
Work with 3-D models.
You can use the Model Editor to inspect standard 3-D model formats (OBJ, COLLADA, and Autodesk FBX). You can also use the built-in 3-D primitive generation and materials to create placeholder art for 3-D games and apps, thereby improving artist-developer workflow. For more information, see Model Editor.
Create advanced pixel shaders.
You can use the Shader Designer, which is a graph-based shader creation tool that provides a live preview of the effect, to create advanced pixel shaders and export them as HLSL code that you can use in apps that are based on DirectX. For more information, see Shader Designer.
Parallel Computing
Use C++ AMP to make your code run faster.
By using C++ Accelerated Massive Parallelism (C++ AMP), you can control how data moves between the CPU and the GPU or other data-parallel hardware and thereby accelerate the execution of your C++ code. For more information, see C++ AMP (C++ Accelerated Massive Parallelism).
Debug your parallel apps more effectively.
Not only can you use the GPU Threads and Parallel Watch windows to debug parallel apps, but you can also use them to evaluate and fine-tune performance gains. For more information, see What’s New for the Debugger in Visual Studio 2012.
Customize the data that you use to examine how well your parallel app performs.
By using the Concurrency Visualizer, you can examine how your multithreaded app performs. In this version, you get quicker access and increased configuration control, and you can add your own custom performance data to the visualizer. For more information, see Concurrency Visualizer.
Use TPL dataflow to make your concurrency-enabled app more robust.
Use components of the Task Parallel Library (TPL) Dataflow library when your code involves multiple operations that must communicate with one another asynchronously or when you want to process data as it becomes available. For more information, see Dataflow (Task Parallel Library).
SharePoint Development
Create lists and content types by using designers.
You can more easily create a list or a content type by using a designer to set up and lay out the contents of the list or content type. For more information, see Creating Site Columns, Content Types, and Lists for SharePoint.
Create site columns for SharePoint sites.
You can more easily create SharePoint site columns, which are also known as "fields," by using an item template. For more information, see Creating Site Columns, Content Types, and Lists for SharePoint.
Add Silverlight web parts to your SharePoint projects.
You can more easily and conveniently create Silverlight web parts by using a project template. For more information, see Walkthrough: Creating a Silverlight Web Part that Displays OData for SharePoint.
Publish SharePoint solutions to remote SharePoint sites.
You can publish SharePoint solutions to remote SharePoint sites, in addition to local SharePoint sites. For more information, see Deploying, Publishing, and Upgrading SharePoint Solution Packages.
Increase SharePoint performance by using profiling tools.
By using tools in Visual Studio, you can identify code and other elements that are slowing down your SharePoint projects and perform other performance profiling. For more information, see Profiling the Performance of SharePoint Applications and Analyzing Application Performance by Using Profiling Tools.
Create sandboxed visual web parts..
You can include visual web parts in sandboxed SharePoint projects, not just farm projects.
Create sandboxed solutions more easily.
When you’re working on a sandboxed solution in Visual Studio, only compatible APIs appear in Intellisense, and a compiler error occurs if you try to use farm-only API calls.
Debug JavaScript more easily.
You can debug JavaScript in SharePoint projects, and IntelliSense is provided when you're coding JavaScript in SharePoint projects. URLs for JavaScript are resolved for visual web parts in sandboxed solutions.
Develop SharePoint projects more easily by using streamlined project templates.
To help streamline SharePoint development, some SharePoint project templates from the previous version of Visual Studio were moved into project item templates. For a full list and descriptions of the project and project-item templates, see SharePoint Project and Project Item Templates.
Test your code by using the Microsoft Fakes framework.
SharePoint projects support Microsoft Fakes, which is an isolation framework in which you can create delegate-based test stubs and shims in .NET Framework applications and test your code by isolating your unit tests from the environment. For more information, see Verifying and Debugging SharePoint Code.
For more information, see What's New for SharePoint Development in Visual Studio 2012.
Office Development
Create apps for Office.
You can surface web technologies and cloud services within Office documents, email messages, meeting requests, and appointments. For more information, see Create Apps for Office by using Visual Studio.
Develop solutions for Office 2013.
You can create document-level customizations and application-level add-ins for Office 2013 applications by using Office developer tools. To get project templates for these kinds of solutions, you download and install the Microsoft Office Developer Tools for Visual Studio 2012.
Develop Office solutions that target the .NET Framework 4.5.
To target the .NET Framework 4.5, you download and install the Microsoft Office Developer Tools for Visual Studio 2012.
.NET Framework 4.5
Build managed assemblies that work on multiple .NET Framework platforms.
By using the Portable Class Library project in Visual Studio 2012, you can target multiple platforms (such as Windows Phone and .NET for Windows Store apps). For more information, see Cross-Platform Development with the .NET Framework.
Reduce system restarts when installing the .NET Framework.
For more information, see Reducing System Restarts During .NET Framework 4.5 Installations.
Improve file input/output performance by using asynchronous operations.
Use the new Async feature in C# and Visual Basic with asynchronous methods in the input/output classes when you work with large files. For more information, see Asynchronous File I/O.
Improve startup performance on multi-core processors.
Enable background just-in-time (JIT) compilation. For more information, see the ProfileOptimization class.
Develop and maintain WCF applications more easily.
For more information, see What's New in Windows Communication Foundation.
Improve the scalability of WCF applications.
Enable asynchronous streaming of messages to multiple clients. For more information, see WCF Simplication Features
Manage workflows more easily.
The Workflow Designer contains several enhancements. For more information, see What’s New in Windows Workflow Foundation.
Create state machine workflows.
For more information, see What’s New in Windows Workflow Foundation.
Add a ribbon user interface to your WPF application.
For more information, see the Ribbon control.
Display large sets of grouped data in WPF applications more quickly.
For more information, see What's New in WPF Version 4.5.
Create modern HTTP applications more efficiently by using the new programming interfaces.
For more information, see the new System.Net.Http and System.Net.Http.Headers namespaces.
For more information, see What's New in the .NET Framework 4.5.
New in Visual Studio 2012 Update 1
Ensure that the logos and splash screen for your Windows Store app will look good in a variety of screen resolutions.
For more information, see Optimizing images for different screen resolutions (Windows Store Apps).
Find and troubleshoot memory usage issues in Windows Store apps.
You can use the JavaScript Memory Analyzer to find memory leaks and to help identify their causes. For more information, see Analyzing memory usage in Windows Store apps (JavaScript).
Create code maps from the code editor.
By scanning code maps that appear next to the code editor, you can easily find your place in your code, navigate around your code, and identify relationships throughout your code. For more information, see Visualize and Understand Code with Code Maps in Visual Studio.
Target Windows XP when you build your C++ code.
You can use the Visual C++ compiler and libraries to target Windows XP and Windows Server 2003. For more information, see Configuring C++ 11 Programs for Windows XP.
Coded UI tests for SharePoint 2010 applications.
By including coded UI tests in a SharePoint application, you can verify whether the whole application, including its UI controls, is functioning correctly. You can also use coded UI tests to validate values and logic in the UI. For more information, see Testing SharePoint 2010 Applications with Coded UI Tests.
Web performance and load tests for SharePoint 2010 applications.
You can verify the performance and stress abilities of your SharePoint applications by configuring lLoad tests to emulate conditions such as user loads, browser types, and network types. For more information, see Web Performance and Load Testing SharePoint 2010 and 2013 Applications.
Record diagnostic events for SharePoint 2010 solutions that are running outside Visual Studio.
By using the IntelliTrace collector, you can save user profile events, Unified Logging System (ULS) events, and IntelliTrace events to an .iTrace file. You can then start to diagnose solutions in production or other environments by opening the .iTrace file in Visual Studio Ultimate. For more information, see Collect IntelliTrace Data Outside Visual Studio with the Standalone Collector.
New in Visual Studio 2012 Update 2
Find performance bottlenecks in your HTML, CSS, and JavaScript code.
You can troubleshoot symptoms like a lack of responsiveness in the UI or slow visual updates by using the UI Responsiveness Profiler. For more information, see Analyzing UI Responsiveness.
Create unit test projects for a Windows Phone app.
You can create unit test projects for a Windows Phone app and run them from Test Explorer. For more information, see Unit testing for Windows Phone apps.
Deploy a Windows Phone app at a command prompt.
You can also add the command to a script or a custom application. For more information, see How to deploy and run a Windows Phone app.
Precompile and sign company apps at a command prompt.
When you build a company app by using MSBuild, you can precompile and sign the app by using a command prompt, and you can add the commands to a script or custom application. For more information, see Preparing company apps for distribution.
For more information, see Description of Visual Studio 2012 Update 2.
New in Visual Studio 2012 Update 3
For more information, see Description of Visual Studio 2012 Update 3.