What’s New in Visual Studio Update 1 for .NET Managed Languages

Hold on to your hats, cowboys and cowgirls! A lot of exciting things are coming out of the .NET Managed Languages team for Visual Studio 2015 Update 1. Read on to learn more about new IDE features, interactive C#, new code analysis management, Visual F# improvements, and the new F5 experience for Roslyn open source development.

You can now right-click on a base type/member and navigate to its various implementations.

New Editor Features

Now that we have Roslyn in Visual Studio 2015, we can leverage its power to create the smartest IDE out there. The improvements we’ve made to the IDE experience in Update 1 relate chiefly to navigation and refactoring:

  • Go To Implementation. The most notable change we made with regards to navigation is the introduction of “Go To Implementation.” You can now navigate from a base class or type to its various implementations. This saves a lot of time when searching in large solutions—when using Find All References returns a long list.
  • Convert Method to Property. We added the refactoring that now allows you to press “Ctrl+.” inside a method with no arguments and convert it into a property. We’ll even notice if you have a pair of Get/Set methods and convert them into a single property. This refactoring cascades throughout your solution so you don’t have to manually fix this change elsewhere.
  • VB Go to Definition and Object Browser. After hearing feedback from many of you, we added an option to make it easy to restore the behavior where VB Go to Definition would navigate to the Object Browser. You can find this option under “Tools->Options->Text Editor->Basic->Advanced->Navigate to Object Browser for symbols defined in metadata”.
  • VB Commands for Next/Previous Member Fix. Many VB customers noticed that we forgot to implement support for navigate to the next and previous method. Oops. We brought that back, and added support for C# as well. Look for it on the Edit menu.
  • Go To/Peek Definition Bug Fix. We fixed this issue where you had to change your tabs to spaces in order to Peek Definition or Go To Definition. Huzzah! (Could you tell that Roslyn’s coding style is to use spaces instead of tabs? ;))

Take advantage of editor features while experimenting with APIs in the C# Interactive Window.

Introducing Interactive

The Interactive Window is back! The C# Interactive Window returns in Visual Studio 2015 Update 1 along with a couple other interactive treats:

  • C# Interactive. The C# Interactive window is essentially a read-eval-print-loop (REPL) that allows you to play and explore with .NET technologies while taking advantage of editor features like IntelliSense, syntax-coloring, etc. Learn more about how to use C# Interactive on Channel 9 or by reading our beginner’s walkthrough.
  • csi. If you don’t want to open Visual Studio to play around with C# or run a script file, you can access the interactive engine from the Developer Command Prompt. Type csi /path/myScript.csx to execute a script file or type simply csi to drop inside the command-line REPL.
  • Scripting APIs. The Scripting APIs give you the ability to execute snippets of C# code in a host-created execution environment. You can learn more about how to create your own C# script engine by checking out our code samples.

For our VB folks, please note that the Visual Basic Interactive and Scripting APIs are coming in the future. And special thanks to the scriptcs team and the community for working with us to help define and improve the C# scripting experience! 

Suppress errors/warnings/messages so that your analyzer only applies to new code.

Code Analysis

Are you overwhelmed by the thousands of code analysis issues that appear in your Error List when you install an analyzer in an existing solution? Never fear! You can now “baseline” issues so that the analyzer will only provide diagnostics for new code. In Update 1, manage your code analysis with these features:

  • Suppress all current issues into a global suppression file
  • View and manage baselined issues
  • Show analysis warnings and messages for only ‘my code changes’
  • Remove duplicate instances of warnings in the error list

Don’t forget to check out some awesome community-driven analyzers: CodeCracker, DotNetAnalyzers, and C# Essentials (this one will help you learn new C# 6.0 features!).

Visual F#

We’ve made several improvements to the Visual F# compiler and tools for Update 1, including:

  • Removing the “Type Provider Security” warning dialog
  • Support for Visual Studio Web Express and Visual Studio Desktop Express (previously blocked by a bug)
  • Many bug fixes and other improvements listed here.

Want to try out F#? Learn how to get started in 5 minutes with this video.

Contribute to Roslyn — Test Your IDE Contributions

Roslyn OSS contributors, it’s time to celebrate! With Update 1 installed, you can now clone roslyn/master and press F5 to run your code changes in Visual Studio.

Previously, if you were contributing to Roslyn and you wanted to make a bug fix to the IDE you would have to ask a team member to test it out and send you screenshots to verify desired behavior. Now, once you have Update 1 installed and have enlisted in roslyn.sln, you can make code changes to Roslyn, press F5, and play with your changes in the new instance of VS that is launched.

To learn more about how to develop Roslyn and take advantage of this functionality, read more on our wiki page.

Download Visual Studio 2015 Update 1 today. As always, please engage with us on the Roslyn and Visual F# GitHub repos!

Over ‘n’ out,

Kasey Uhlenhuth, Program Manager, .NET Managed Languages