We are happy to announce that Visual Studio 2013 is now available.
And now—in no particular order—here are the top reasons why C++ developers want Visual Studio 2013:
Better C++ language conformance. Support for C++11 began in Visual Studio 2010, which included auto and lambda functions. In Visual Studio 2012, we implemented more of the standard—for example, range-based for loops, standard threads, and futures. Visual Studio 2013 provides even more—variadic templates, delegating constructors, non-static data member initializers, uniform initialization, 'using' aliases, and other features. For more information, see the C++ Conformance Roadmap on Soma's blog, and learn about the Future of C++ from Herb Sutter.
Editor, editor, editor! We're introducing new editor features that boost productivity, save time, and provide better context. We added over 40 settings to help you control C/C++ code formatting. Brace completion automatically closes braces (and other characters that typically come in pairs). Parameter Help tooltips now automatically switch to the best matching overload, based on the number of parameters you've typed. The Enhanced Vertical Scrollbar provides visual cues about your file. You can use Peek Definition to view definitions in line instead of opening a new document tab. (To see it in action, put the cursor on a symbol and press Alt+F12.) Navigate To uses smart semantic search to help you find symbol definitions or files. For a list of editor and productivity improvements, see C++ IDE Improvements in Visual Studio 2013 and Visual Studio 2013 New Editor Features.
Better performance and improved code quality. We've improved the Visual C++ compiler so that it generates faster code, even from existing sources. We added an optimization that changes the order of certain, nested loops to reduce stalls on memory access. We also made the auto-vectorizer smarter by enabling the compiler to now vectorize a larger number of loops—including loops that perform pointer manipulation, which is a common pattern for libraries like STL (for example, transform). We're also introducing Profile Guided Optimization (PGO) for Windows Store apps, vector calling convention for x86/x64 platforms, and other improvements.
Connected Windows 8.1 apps. Use the new Add Push Notification wizard to register your app with the Windows Store, configure your mobile service to enable push notifications, and add code to your app to register a device channel (for example, see Connecting to Windows Azure Mobile Services on MSDN). Also included: The new C++ library for Azure mobile services and the C++ REST Extension SDK provide connectivity. (An open-source version of the C++ REST Extension SDK is available on CodePlex.) The DirectX Templates DirectX App and DirectX App (XAML) have also been improved and structured similarly, making it easier to transition from one model to another after creation. The new templates also take advantage of Windows 8.1 features.
Enhanced C++ AMP. C++ AMP is an open specification for harnessing the processing resources of modern graphics cards from C++ code. In Visual Studio 2013, C++ AMP gets better debugger and profiler support so that you can examine operations being performed on the GPU. We added a bunch of features to enhance support for textures and side-by-side CPU/GPU debugging (mixed-mode debugging is available on Windows 8.1 for the WARP accelerator). See What's New for C++ AMP in Visual Studio 2013.
Improved graphics debugging. In Visual Studio 2012, you could debug DirectX apps on your development machine or on a simulator. In Visual Studio 2013, we've added support for debugging apps on remote machines or devices (x86, x64, ARM) so that you can better identify hardware-specific issues. You can capture frames on a target device and then analyze the log file on your dev machine. Visual Studio 2013 also supports the debugging of apps that use Deferred Context or Compute Shader written in HLSL. Usability of the tools has also been improved, through better organization of more detailed information about DirectX objects—device state, shader, buffer.
Thanks! We couldn't have made these improvements without the overwhelming support of our customers and community, and the great feedback you provide through Connect, the forums, this blog, and other channels. Thanks also to our mighty MVPs, who never hold back their true feelings J
No more native 64-bit compiler for express edition? New windows sdk also removed the 64-bit compiler.
@Kris, the code formatting issues are resolved in final build.
Could you improve the efficiency of std::deque and iostream. They are too slow compared to gcc's or clang's.
I have to use boost::container::deque to replace it.
I have hoped them for so many years.
If you need further feedback, you can send e-mails to "email@example.com"