Xamarin Studio now supports Microsoft’s Roslyn compiler-as-a-service features found in Visual Studio 2015. They’ve also announced a new project model that integrates with Microsoft’s MSBuild system.
In previous versions of Microsoft’s Visual Studio, they had their C# compiler, but they separately had to write and maintain all of the code that supplied Intellisense, refactoring, red-squiggles, etc. Keeping that logic synchronized with the actual compiler was obviously tricky and duplicated work. With VS2015, they cut over to Roslyn to allow the IDE to tap into the same end-stream compiler, ensuring consistency and eliminating duplicate work. That seems to be what this early preview version of Xamarin Studio has tapped into as well. — John Garland
The specific benefits of this change include:
- The behavior of code completion is more accurate and will work much better when a file contains syntax or semantic errors.
- Refactoring operations cover more cases and are more reliable.
- C# 6.0 is now fully supported for code completion and refactoring operations.
- The formatting engine got replaced and it now defaults to the Visual Studio format. Indenting with spaces is easier and feels like tab based indenting.
- Typing flow got improved and is now more fluid.
- Code completion import symbol support greatly improved – will no longer interfere with the typing flow and it doesn’t have a performance impact
In addition to adding Roslyn support, they’ve also changed the project model to allow a deeper integration with MSBuild. Features include conditional file/reference inclusion, project files can import other project files, and projects built in parallel when possible.