Visual Studio "14" CTP


Today, we are making available a first community technology preview of the next version of Visual Studio, codenamed Visual Studio “14”.  This early build is focused on enabling feedback and testing from the Visual Studio community.  Visual Studio “14” will most likely be available sometime in 2015, with a more complete preview release and final naming available later this year.  Given that this is a very early build, please install in a test environment with no earlier versions of Visual Studio installed.

You can read about the new features and known issues in this first Visual Studio “14” CTP, and also download today.

Over the last 3 months, we’ve announced many exciting technologies that will be important parts of Visual Studio “14” – including the “Roslyn” .NET compiler platform, ASP.NET vNext and Apache Cordova tooling.  The Visual Studio “14” CTP 1 includes a few of these tools, as well as many additional improvements across Visual Studio, including an early look at some new C++ 11 support that will be part of Visual Studio “14”.

C# and VB with the .NET Compiler Platform (“Roslyn”)

In Visual Studio “14”, the C# and VB compilers and IDE support are fully built on the .NET Compiler Platform (“Roslyn”).  This open-source compiler as a service now sits behind dozens of developer experiences in Visual Studio “14”, powering build, IntelliSense, refactoring, CodeLens, debugging and many more features developers use every day.  In most places the experiences are unchanged, but there have also been many small improvements across the entire development experience as part of the new compiler platform.

In the Visual Studio “14” preview C# refactoring support has been completely revamped including two new core refactorings: Inline Temporary Variable and Introduce Explaining Variable. Additionally, refactoring support for Visual Basic has been added for the first time.

 

Visual Studio “14” also supports APIs that come from NuGet with their own analyzers, squiggling issues in your code as you type and offering you automatic fixes, all powered by the .NET Compiler Platform.

You can read more about the new C# and VB developer experiences on the C# blog and the Visual Basic blog.

ASP.NET vNext

A few weeks ago, we announced ASP.NET vNext and plans for the future of .NET on the server.  ASP.NET vNext is designed for both cloud and server, offering SxS installation options and significantly enhanced developer productivity, through a modular and highly configurable framework and web stack.

The Visual Studio “14” CTP offers an early look at the Visual Studio tooling experience for ASP.NET vNext.  As well as the ASP.NET 4.5 Web Application templates, new templates are included for targeting ASP.NET vNext.

The next version of .NET that will be available along with Visual Studio “14” includes ASP.NET vNext as well as many additional new .NET technologies that we’ve previewed in recent month, including .NET Native for Windows Store apps, the next generation JIT, and the Roslyn compilers.

You can read more about ASP.NET vNext in the Visual Studio “14” CTP on the .NET Web Development and Tools blog.

C++ 11/14

We’ve continued to push forward on the standards conformance of the Visual C++ compiler.  The Visual Studio “14” CTP includes support for user-defined literals, noexcept, alignof and alignas, and inheriting constructors from C++11, generalized lambda capture, auto function return type deduction, and generic lambdas from C++14, as well as many more new C++ features.

This continues with the roadmap we laid out last year on the path toward C++11 and C++14 standards compliance.  The chart below is an updated view of what we know now, and the features that we’re working on now for future Visual Studio “14” CTPs.

In addition, the Visual Studio “14” CTP include new features for debugging, libraries and IDE productivity.

You can read more about the C++ improvements in the Visual Studio “14” CTP on the C++ blog.

Summary

This early preview of Visual Studio “14” is an opportunity to gather feedback on the next version of Visual Studio and .NET.  For developers picking up the CTP, I encourage you to share your feedback on the Connect website, or through Send-a-Smile in the Visual Studio IDE.

Namaste!


Comments (81)

  1. ankit.sri says:

    looks excellent

  2. Alex Mang says:

    Finally ๐Ÿ™‚

  3. New toys! Looks awesome!

  4. Ibrahim Shaib says:

    This is really great. Better days ahead. Weldon VS Team.

  5. antonio pelleriti says:

    Great news!

  6. LMKz says:

    Before I go and install this, does it include Universal VB project templates??

  7. shaggygi says:

    Great news and good job team!  Does this preview include the new Roslyn REPL and scripting APIs?

  8. Den says:

    Good job! Microsoft is a provider of the best IDE of today. Keep it up!

  9. Anthony D. Green [MSFT] says:

    shaggygi,

    This CTP doesn't include the REPL. The REPL we've shown in the past was a stand-alone REPL. We're currently working on the REPL and making sure it has first-class integration into the full Visual Studio experience. It'll be back when we that work further along and better than before!

    The scripting APIs were previously deeply connected with the REPL experience. We've been looking at how to simplify them for other task and intend to eventually release them directly into the "Roslyn" open source repository on CodePlex (http://roslyn.codeplex.com).

    Regards,

    -ADG

  10. hamid says:

    <h1>Great</h1>

  11. Anthony D. Green [MSFT] says:

    LMKz,

    It does not. Something better is on its way (can't say when) and it's just not there yet. There is no technical limitation that prevents VB devs from producing universal apps today (what's missing is some particulars of the tooling) and we're building a sample app that demonstrates this and will release it and guidance on the VB team blog as soon as we can.

    Regards,

    -ADG

  12. R DILEEP KUMAR says:

    GREAT

  13. XVilka says:

    Still no C99 support?

  14. Derrick says:

    Thanks!

  15. I must be doing something wrong. Tried various alternatives (adding BlockerOverride as the default value, adding BlockerOverride as a key even though it didn't specify that, etc.)

    If anyone has a .reg export that actually works could you please post it?

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftDevDivvsServicing]

    @=""

    "BlockerOverride"=""

  16. ^^^ As follow-up to my question, from the log file:

    [0B18:0438][2014-06-03T22:34:46]i000: Registry value not found. Key = 'SOFTWAREMicrosoftDevDivvsServicing', Value = 'BlockerOverride'

    Is that extra backslash at the end of the registry key causing grief? None of the other reg-key checks in the log have one. I can't get into vs_professional.exe via Orcas to examine the msi (maybe the root install isn't msi-based).

  17. markmnl says:

    As a professional using VS every day I am increasingly concerned by this rapid release cycle of VS

    * If I buy VS today it is now obsolete tomorrow as MS is only interested improving the next version.

    I may as well find another IDE that is continually improved than one that requires me to buy it again every year for new feature X.

  18. PhucTV says:

    New tool, more free time for fishing!

  19. Sten2005 says:

    At just the same time as this announcement, Microsoft's Paul Yuknewicz has declined the call for an updated VB6 programming language on the Microsoft UserVoice site:

    visualstudio.uservoice.com/…/3440221-bring-back-classic-visual-basic-an-improved-versi

    With some laughable 'technical' reasons why VB6 can't be updated Paul Yuknewicz now has the unenviable distinction of having twice cancelled VB6 – in 2002 with the decision to go for VB.Net and again in 2014 with the decision not to add to VB6 the same features already added to VBA.

    Paul Yuknewicz has also stated that it is not 'feasible' to open source VB6.

    Even then Paul Yuknewicz has to admit that VB6 will continue to have Microsoft support until 'at least' 2024.

    Microsoft has sent a clear message to developers throughout the world "Do not use Microsoft developer tools. You simply cannot trust Microsoft to protect your investment."

  20. shaggygi says:

    Any plans to add Visual Studio 14 preview images to the Azure Gallery for VMs?  This would be a big help for us that don't have the resources or time to setup/configure.  Thx

  21. Atlas says:

    Look forward to it =)

  22. Clark Nelson says:

    Absolutely amazing. Microsoft are the most impressive software company in the world.

  23. shibin says:

    great…!!!

  24. Fabio says:

    Refactoring! ๐Ÿ™‚

  25. ThomasX says:

    Did you fix the GUI? Did you bring back setup and deployment projects?

  26. Brian M says:

    C++ changes sounds good – But importantly will they address the user interface dislikes of VS2013.

    Our developers  wont budge from VS 2008 despite having VS2013 to hand! Ok they use it for none serious work…..!

    Note: It VS14 in 2015 not  VS2014 in 20014. Always a problem naming a product by year version ๐Ÿ™‚

  27. moh says:

    great…

  28. Matt Sampson says:

    @shaggygi – Regarding the VM Images – yes there will be one for Dev 14 CTP available as an Azure VM. It is availabe now in the Azure VM Public Gallery actually (as of like 5 minutes ago :))

    BTW – if you want to create Azure VM's you can also do this through Visual Studio now a couple ways, like Server Explorer -> Windows Azure -> Virtual Machine -> Right Click and select "Create Virtual Machine" (you'll need the latest Azure SDK 2.3).

  29. shaggygi says:

    @Matt Sampson.  Thx a bunch.  Looking into using now.

  30. Aron Parker says:

    WoohoO! amazing ๐Ÿ™‚

  31. Awesome says:

    It says it has known compatibility issues.. how about seeding a VM with VS 2014 installed to test out?

  32. warrens says:

    "ASP.NET vNext Console Application"…….. o_O

    This is really going to require a clearer name/explanation in future builds.  "ASP" is synonymous with serving web content, not command-line tools.

  33. S.Somasegar says:

    @warrens:  That's right.  The templates in the CTP are placeholders.  The console app template will be for .NET vNEXT generally.

  34. S.Somasegar says:

    @Awesome:  This is something we're definitely thinking about for future Visual Studio "14" CTPs.

  35. S.Somasegar says:

    @markmnl – Updates for Visual Studio 2013 continue to be a big focus for the team – both Update 2 and Update 3 CTP1 were just released recently.  We're investing in both updates for Visual Studio 2013, as well as the next version.  This is also a very early preview of Visual Studio "14" to get feedback.

  36. Thomas says:

    Grt ๐Ÿ˜‰

  37. Peter says:

    When i try new "roslyn" syntax i can compile it and run it but i have in error window errors and lines of code are underlined with red line :// how can i solve this ?

    I added <LangVersion>Experimental<LangVersion> to csproj file

  38. MalikPSVK says:

    When i try new "roslyn" syntax i can compile it and run but i have in error window errors and lines fd code are underlined with red line ://

    Static code analyst not using new syntax.

    I added <LangVersion>Experimental<LangVersion> to csproj file

    Hhow can i solve this ?

  39. Lucio says:

    Will you be able to make us to have hybrid projects (VB / C#)? There are some features that make me appreciate VB (methods with different names that implement methods with the same signature from different interfaces, continuous/exit for/do/while permit to continue/exit not the innser loop, easier highlighting of event handled methods by Handler signature – very often I use the same routine to handle different objects or different events in the same object) and other features that I do appreciate C# (unsafe code allowing the use of pointers, operators, increment / decrement, more flexible loops, partially abstract classes). So I have several solutions with both VB and C# projects.

    About VB: I would also like cycle management would even be more flexible (for example, using Exit For Var, and associating a name to a Do/Loop cycle, to have an Exit Do Name capability)

  40. Weh Pung says:

    Great!

    I have LNK1104: cannot open file 'kernel32.lib'. Seems that the Windows Kits are not installed correctly. Do I have to install them separately?

  41. John Dallman says:

    If it's "Visual Studio 2015", please make it VC++15 too. Those numbers being mismatched causes constant low-level confusion, especially for organisations that try to keep pace with Microsoft development tools and thus can't skip versions.

  42. S.Somasegar says:

    @Awesome:  There's an Azure VM image with the Visual Studio "14" CTP available now in the VM gallery.  See blogs.msdn.com/…/visual-studio-14-ctp-now-available-in-the-virtual-machine-azure-gallery.aspx fo details.

  43. S. Colcord says:

    According to the VC++ blog, unrestricted unions are in the VS14 CTP, but the chart graphic here shows them still to be completed.

  44. S.Somasegar says:

    @S.Colcord – Good catch, this is updated in the chart now.

  45. chamindac says:

    I am experiencing the same problem specified here stackoverflow.com/…/no-c-sharp-6-0-in-visual-studio-2014-ctp . Tried the Roslyn syntax on downloaded and installed VS '14' CTP and instance of VM available in Azure.

    I added I added <LangVersion>Experimental<LangVersion> to csproj file as well but with no luck… What am I doing wrong here…I believe I do not have to install Roslyn preview since VS '14' comes with Roslyn by default

  46. Jack Unverferth says:

    Great work team. As usual, a big pat on the back for the VS team!

  47. Jalpesh Vadgama says:

    Awesome news. Great to hear!! Can't wait to try my hand on this new CTP

    Regards,

    Jalpesh Vadgama

    http://www.dotnetjalps.com

  48. chamindac says:

    Thanks to Anthony D. Green, to get roslyn stuff to work with CTP the entry project file should be <LangVersion>experimental</LangVersion> it is case sensitive for the time being and will be fixed according to Anthony.

    Awesome editor experience with C# and VB… Way to go !!!

  49. Jonathas Sucupira says:

    Are we getting a new version every year now?

  50. Robert Flaming - [MSFT] says:

    @ CraigAJohnson

    Sorry this isn't working for you. We're updating the Release Notes. See Connect for more details connect.microsoft.com/…/install-error-of-visual-studio-14.

    Robert

  51. Er. Rasik Bihari Tiwari says:

    Long awaited. Microsoft Rocks!!

  52. Eilon [MSFT] says:

    @CraigAJohnson – there was indeed an error in the article about the BlockerOverride reg key. We have updated the KB article (support.microsoft.com/…/2967191) to add instructions for 64-bit Windows.

    Here's the relevant section:

    "There is an installation block in this Visual Studio "14" CTP that will prevent installation on a computer where an earlier version of Visual Studio is already installed. To disable the block that will put the computer in an un-recommended state, add a new value to the registry at the "HKLMSOFTWAREMicrosoftDevDivvsServicing" location ("HKLMSOFTWAREWow6432NodeMicrosoftDevDivvsServicing" on a 64-bit Windows). The value name should be BlockerOverride, and the value type and value data can be anything."

  53. William Dinger says:

    Refactoring for vb <3!

  54. Andre Kaufmann says:

    Great! I like the C++ improvements – can't wait for them to be integrated in a release version. Keep up the good work.

    Sadly for automatically building our C# projects, we can't use environment variables in the C# project editor directly, but have to edit the project files via notepad. Using mainly C++ with up to 300 different solutions it's stil a […..] to configure the few C# solutions to use a environment variable in the output path.

  55. Lol Cat says:

    Can I haz thread-safe static initialization in C++?

    ยง6.7.4:

    If control enters the declaration concurrently while the variable is being initialized, the concurrent execution shall wait for completion of the initialization.

  56. GregM says:

    Lol Cat: Can I haz thread-safe static initialization in C++?

    See "magic statics" in this entry

    blogs.msdn.com/…/visual-studio-14-ctp.aspx

  57. SachsenHessi says:

    "BlockerOverride"="-1"   (type as REG_SZ) in HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftDevDivvsServicing

    is running for side by side Installation

  58. Peter says:

    @Microsoft, besides "VM in Azure" (blogs.msdn.com/…/visual-studio-14-ctp-now-available.aspx), next time can you guys create a VM with CTP version installed, so people can just download and test it out right off the bat? Or better create a Vagrant "box" file docs.vagrantup.com/…/package.html (and docs.vagrantup.com/…/boxes.html) so we can use CLI to launch VM! Since Microsoft OpenTech has worked with them to bring Hyper-V support docs.vagrantup.com/…/index.html. Many folks would appreciate it! Thank you!

    Vagrant is really snappier and easier way to manage multiple development environment on single terminal (its comparable to Chef).

  59. Rahul Bhalekar says:

    Great, I m waiting!!!!!!!!!!!!!!!!!!!!!!!!!

  60. Graham says:

    But the question remains…… can we evaluate LINQ expressions in the watch or immediate window ?! That's what we really want!!

  61. Hey Graham,

    We're working on it. It's important to remember that this CTP is just an early preview of *some* of the functionality coming in Visual Studio "14" but not all. The Visual Basic and C# team, the Visual Studio Debugger team, and the CLR team are collaborating on many exciting investments in improving the VS debugging experience for both VB and C# customers in this release that you can expect to see announced on our team blogs (blogs.msdn.com/csharpfaq and blogs.msdn.com/vbteam) in conjunction with future previews.

    We know how exciting supporting this scenario is to the community and I promise you, when it's ready it'll be really hard to miss the announcement! ๐Ÿ˜€

    Regards,

    -Anthony D. Green, Program Manager, Visual Basic & C# Languages Team

  62. David Demelier says:

    Is = default supported on move constructors and assignment operators now?

  63. Juhani says:

    Please make it Touch-Friendly (I'm aiming for surface 3, wouldn't be nice if mouse is still needed on go)

  64. ThinkAbout says:

    Does anyone know if VS 2014 CTP work with the current Visual Studio online for TFS?

  65. Jp says:

    Excellent! I've been waiting for this.

  66. ATIF SHAHZAD says:

    Any update about Silver Twist. I hope we should have a Silverlight to HTML 5 Conversion in VS14

  67. GypsyPrince says:

    So far I'm liking 2012 better than 13 or 14. It seems the further Microsoft keeps going with product development, the worse they screw up their products. It took me a while to figure out how to shut off all the auto-formatting garbage. All that crap moving around on its own when I don't want it to, combined with all the freakin' tips and intellisense popping up in my face makes is annoying to the extent of either wanting to shoot someone or throwing my system out the window. But my main complaint is this: the compiler is soooooooooooooooooooooooooooo unbelievably slow.  Even just testing the JIT Roslyn with a standard "Hello World!" app, this thing makes a snail seem fast.  Microsoft products are getting crappier and crappier.  I think it's time for me to jump ship from MS and move on to new tools.

  68. Devin (Microsoft) says:

    GypsyPrince — We'd like to investigate why the compiler is slow on your system. We would appreciate if you could share any more information about your system – e.g. machine specs, solution size etc. Please feel free to send me mail directly at Devic@microsoft.com

  69. Pratek says:

    loved it ๐Ÿ™‚

  70. Alex says:

    The UI theme still follows VS2012/13 flat style? that's too ugly.

  71. Eyal Shilony says:

    Wow! this is huge, thank you.

  72. Loai.Alhalabi says:

    Wow , Great !

  73. Shubh Computing LLP says:

    Good to know about vNext ๐Ÿ™‚

  74. joebaf says:

    The pace of updates is pretty impressive. I hope by the end of the year I will be able to use most of C++14 features in VS 2014 ๐Ÿ™‚

  75. Fabian Gonzalez Coto says:

    Great! (Test time)

  76. Mike Russell says:

    Just so long as we don't lose real winform support. My only other problem is that netmf and the gadgeteer  will be even further behind when this gets released as it still doesn't support v2013 officially.

  77. skh says:

    Tested with a machine, with the following config:

    VS2010

    VS2012

    VS14

    A web site, contains subcode files, VS14 IDE intellsense failed to display the subcode class

    Besides

    When the web site using VS2010 / VS2012 to view back, normal, but when pressing F5 debug, the following error show:

    System.InvalidOperationException: Failed to map the path '/aspnet_client/system_web/4_5_19/WebUIValidation.js'.

    at  System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) at System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath) at System.Web.Hosting.HostingEnvironment.MapPath(VirtualPath virtualPath) at System.Web.VirtualPath.MapPath() at System.Web.Handlers.AssemblyResourceLoader.GetDiskResourcePath(String resourceName) at System.Web.Handlers.AssemblyResourceLoader.GetWebResourceUrl(Type type, String resourceName, Boolean htmlEncoded, IScriptManager scriptManager, Boolean enableCdn) at System.Web.UI.ClientScriptManager.GetWebResourceUrl(Page owner, Type type, String resourceName, Boolean htmlEncoded, IScriptManager scriptManager, Boolean enableCdn) at System.Web.UI.ClientScriptManager.RegisterClientScriptResource(Type type, String resourceName) at System.Web.UI.WebControls.BaseValidator.RegisterValidatorCommonScript() at System.Web.UI.WebControls.BaseValidator.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    Might anyone help me?

    I try to system restore but the check point disappear