Today with the Visual Studio 2015 Preview, one of the big things we’ve done is improved the C++ experience, adding support for targeting Android, boosting runtime and build-time performance, improving standards compliance, and improving the editor experience. The Preview is available here for download and as a VM that you can run in Azure (if you’re an MSDN subscriber, you get 150 hours of Azure for free).
Let’s go deeper on what’s in the release!
- C++ Cross-Platform Mobile Development. C++ is attractive because it offers portability and a chance to reuse the same code on different platforms. With Visual Studio 2015 Preview, modern application developers can use the Visual C++ tool chain (c1xx, c2) to target Microsoft Windows Platforms and Clang / LLVM for targeting Android (with plans to support iOS in the near future). This makes it even easier to re-use existing C++ libraries to target multiple platforms (Android/Windows/iOS), share cross-platform code, and create high-quality Xamarin Native Android and Native-Activity applications using all of the power of Visual Studio. For a closer look, see Cross-Platform Mobile Development with Visual C++.
- C++11, C++14, C++17 (proposed) compatibility. Standards support across compilers improves portability. With Visual Studio 2015 Preview, Visual C++ is even more compliant with user-defined literals (C++11), generic lambdas (C++14), and await (C++17 proposed). For a view of VS conformance in table form, see this post by Stephan Lavavej (STL). Also check out Details About Some of the New C++ Language Features, Improvements to Warnings in the C++ Compiler, and Resumable Functions in C++.
- Enhanced productivity & build-time improvements. “Productivity” and “C++” are not often used in the same sentence except to criticize some aspect of the IDE, build process or diagnostics. Friction in any of these areas slows down the development process. With Visual Studio 2015 Preview, you get improvements in each including refactoring for C++ and improved IntelliSense database buildup and simplified QuickInfo for template deduction (IDE); incremental linking for static libs, new fast PDB generation techniques, multithreading in the linker (build); and dedicated space for analyzing graphics space using the Visual Studio Graphics Analyzer (VSGA) and you can view the impact of shader code changes without re-running the app (diagnostics). For more details about incremental build, see Speeding up the Incremental Build Scenario. For more details about C++ Refactoring support, see All about C++ Refactoring in Visual Studio 2015 Preview.
- Improved performance. Most of the C++ developers we spoke with needed code to run fast, often as part of intensive data transformation or analysis or real-time control. Visual Studio 2015 Preview builds on the AVX2 support in Visual Studio 2013 to bring more general optimizations like loop-if unswitching, Vectorization of control flow, and increased support for Vectorization (including when optimizing in favor of smaller code). In addition we have a number of ARM32 compiler code generation improvements.
In Visual Studio 2015 Preview, you will be able to target Windows 8.1 Phone and Store along with Windows 8.0 Phone development. See C++ Tools Acquisition for Windows Phone and Store Development for more details.
The team is eager to get your feedback. Members of the team will be available for a live discussion through the following sessions:
- Multi-Device Development using Visual Studio (iOS, Android & Windows) (Thu, 13:40 EST)
- C++ in Visual Studio “14” (Thu, 17:00 EST)
You can also watch over 55 on-demand sessions from Microsoft engineers including Herb Sutter’s Visual C++ Conformance and Cross-Platform Development in Visual Studio 2015 video.
Take some time now to download the Visual Studio 2015 Preview and, after kicking the tires a bit, giving us some feedback. Share feature suggestions on UserVoice, log bugs you find on our Connect site and send us a smile or frown from inside the IDE. In addition, keep an eye here for posts on our cross-platform support for Android, language conformance, diagnostics, and more over the next few days.