Preview Release: Xamarin Studio 6.0 with Roslyn Support

LluisSanchezLluisSanchez ESXamarin Team Xamurai

This thread has now been closed to direct all further updates about this release onto the latest announcement:

http://forums.xamarin.com/discussion/68358/stable-release-cycle-7-feature-release/p1


This preview release of Xamarin Studio introduces a new type system based on Roslyn and other important changes such as a revamped project model, a new visual style, and better support for F#. We want to show those features in an early preview since they significantly change the way Xamarin Studio works.

Download

Xamarin Studio 6.0.0.3668 - Preview 4

This post will be updated when a new preview release is made. There is a release notes page with more detailed information about Xamarin Studio 6.0.

NOTE: Items marked with the tag [UPDATE] are changes done since the last preview release.

What is new?

Roslyn integration

Xamarin Studio's type system is now based on Roslyn, Microsoft's open source .NET compiler platform. Even though this is an internal change, it has several practical benefits:

  • 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.
  • [UPDATED] C# 6 support on Windows.
  • [UPDATED] The new formatting engine is now compatible with Visual Studio, but does not support custom formatting schemes from prior versions of Xamarin Studio because of the changed engine & option model.

More details

New Project Model

The new model has a deeper integration with MSBuild, and can can handle projects that take advantage of advanced MSBuild features. Here are some features that are now supported:

  • Conditional file and reference inclusion are now properly handled.
  • Project files can import other projects, and properties will be properly loaded.
  • Project files are evaluated before loading, so properties can be used in item definitions, and will be properly replaced.
  • The extension model has changed, and will make it easier to implement add-ins that need to directly manipulate MSBuild files.
  • Projects are build in parallel when possible. This should speed up the build time of solutions with many projects.
  • Xamarin Studio is now much better at handling projects generated in Visual Studio, and will not make unnecessary changes to the project files when saving.
  • [UPDATED] Added support for different architectures of Mono so user can pick 32bit or 64bit version to start debugging.
  • [UPDATED] Support for MSBuild tools v14.

More details

[UPDATED] New visual style and Dark theme

In this release we are presenting the new look of Xamarin Studio. It has a more modern style, a dark variant and many visual tweaks to make Xamarin Studio more pleasant to use. Here are the highlights:

  • 5727 new icons! (including light, dark and selection variants),
  • new Windows toolbar and improved menu appearance,
  • new dark IDE theme,
  • fine-tuned light IDE theme,
  • appearance fixes to Code Completion and Code Hint popovers,
  • fixes in New Project Dialog and Welcome page,
  • the drop down button in the solution pad is gone – the context menu can be used instead.

More details

F# Enhancements

We have been busy improving our F# support, and we are happy to report that we are addressing many limitations in our F# support, in this release:

  • Document outline pad now available for F# files.
  • Completion lists are now topologically sorted.
  • Support for F#4.
  • Syntax highlighting is now available on Keywords.
  • F# PCL template now included.
  • Code navigation improvements: Goto base type, Find Overloads, and Find derived Types.
  • Tooltip improvements, all right hand side -> now align.
  • F# compiler parsing improvements to speed up editing.
  • Added type constraints on generic type tooltips, F# type constraints are now shown in tooltips.
  • Global F# symbol search, you can now search for F# symbols from the search bar at the rop right.
  • Fake integration (preview). You can access fake build scripts by typing "FAKE" into the search bar, any FAKE tasks will be displayed in the results and can be executed.
  • Syntax highlighting in F# interactive.
  • [UPDATED] Support for Portable Class Libraries.
  • [UPDATED] Support for Shared Projects.
  • [UPDATED] Xamarin.Forms templates.
  • [UPDATED] Highlighting improvements for mutable variables.
  • [UPDATED] Code navigation improvements: Goto base type, Find Overloads, and Find derived types.
  • [UPDATED] Support for F#4

More details

[UPDATED] 64bit build on Mac

This release of Xamarin Studio for Mac is a 64bit application, so you’ll be able to take advantage of all the memory of your system when working with large solutions.

[UPDATED] NuGet

  • Improved support for pre-release NuGet packages
  • Support for watchOS and tvOS

More details

[UPDATED] Android

  • New Google Play Services package selector.
  • Several fixes and improvements in Android projects
  • Designer
    • Better error recovery with invalid XML.
    • Improved user themes handling.
    • Improved toolbox performance.

More details

[UPDATED] iOS

  • Support for On-Demand Resources
  • Improved Assets Editor
  • New HttpClient stack selector
  • New SSL/TLS implementation build option
  • iOS designer improvements

More details

[UPDATED] watchOS 2 and tvOS

This release introduces support for watchOS 2 and tvOS when combined with a preview of Xamarin.iOS that supports it. We have added new project types, templates and file templates to support those frameworks as well as a wizard to guide you through the setup.

More details

[UPDATED] Mac: Binding Project support

Available for previews of Xamarin.Mac with binding support. This feature has been available on iOS projects for a long time, and we have finally brought it to the Mac.

[UPDATED] ASP.NET

ASP.NET support has been greatly improved. There is a new project wizard for creating Web Forms and MVC projects and all templates have been reviewed and updated.

More details

[UPDATED] Text Editor

  • Navigational link support
  • Regular expression support improvements

More details

Even more improvements and fixes!

Please check the release notes page to know more about what's new in Xamarin Studio 6.0.

Bug reports wanted!

File a bug against Xamarin Studio

Please file a bug for any new issue you find in this preview that you would like the Xamarin team to investigate. If you have any comment or suggestion you can also post to this thread. This preview is a chance to help ensure that the final release of Xamarin Studio with Roslyn will work smoothly with your specific projects and environment.

Going back to stable

After installing the preview, you'll get an update notification for the stable channel (or whatever channel you are following). You can at any time install that update to go back to the stable release.

Compatibility notes

  • [iOS] This release requires Xcode 7 or higher.
  • Support for OS X 10.9 Mavericks has been deprecated, this release requires OS X 10.10 Yosemite.
«13456

Posts

  • YannROBINYannROBIN FRUniversity ✭✭

    Fake integration \o/

    Now would be the perfect time to fix this issue :
    https://bugzilla.xamarin.com/show_bug.cgi?id=30571

  • NikiNiki BGMember ✭✭✭

    In case you are having issues with shared projects and the editor analysis engine (namespaces and classes underlined as not found), removing and adding a reference to the shared project fixed it for me.

  • How does this influence the add-ins you can build for Xamarin Studio? Will there be a new model in XS6?

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @Stefan_CaveBirdLabs There are some changes in the add-in model. I'll push documentation about the changes soon.

  • Thanks. I tried to find the Addin Maker in 6.0 but the repositories are showing no entries at all.
    I was following https://developer.xamarin.com/guides/cross-platform/getting_started/extending_xamarin_studio_with_addins/
    But when I navigate to gallery all repositories are empty.

  • mhutchmhutch USMember, Xamarin Team Xamurai

    @Stefan_CaveBirdLabs the build server doesn't yet support 6.0 but you can build addin maker from source: https://github.com/mhutch/MonoDevelop.AddinMaker/tree/roslyn

  • NuninzNuninz USMember ✭✭

    Is it possible to have this release and the stable one installed at the same time?

  • VictorHGarciaVictorHGarcia USUniversity ✭✭

    @Nuninz very good question. I also have the same question.

    Anybody has any idea or workaround? :)

    thanks in advance

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @Nuninz you can on Mac, but not on Windows. On Mac, open the dmg and just copy the app to any folder other than Applications, and run it from there.

  • NamDuong.0933NamDuong.0933 AUMember ✭✭

    Guys, the "Quick Fix" feature gone missing, I can't live without it.

  • NuninzNuninz USMember ✭✭

    thank you @LluisSanchez , will do!

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    Hi!

    The preview 3 of Xamarin Studio 6.0 with Roslyn Support has been published, with many bug fixes. Links to new builds are available in the first post of this thread. Please update!

  • FabioGFabioG ITBeta, University ✭✭✭

    @LluisSanchez, How does Xamarin Studio 6.0.0.1752 play with the Cycle 6 RC1 stuff currently on the Alpha Channel? Can we use this one instead of Xamarin Studio 5.10?

    P.S. Thanks for the great job with the Roslyn integration, XS is much more usable now.

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @FabioG Xamarin Studio 6.0 contains all features in 5.10, so yes, you can use it instead of 5.10.

  • DavidDancyDavidDancy AUMember ✭✭✭✭

    Does this install alongside or on top of an existing Xamarin Studio installation?

  • joehannajoehanna AUBeta ✭✭

    I just found out that we need Mono 4.2.1 to run Roslyn. Does this mean we should switch to the Alpha channel to install that suite before installing this? If so, how do we maintain a stable release (XS 5.x + Mono 4.0.5) whilst playing with the new stuff?

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @DavidDancy you can on Mac, but not on Windows. On Mac, open the dmg and just copy the app to any folder other than Applications, and run it from there

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @joehanna I added a link to Mono 4.2.1 in the post, which is what is available in the alpha channel. You can install that instead of switching to the alpha channel. XS 5.x should work just fine with Mono 4.2.1.

  • joehannajoehanna AUBeta ✭✭

    Thanks @LluisSanchez. Mono 4.2.1 has recently moved into the beta channel.

  • NamDuong.0933NamDuong.0933 AUMember ✭✭
    edited November 2015

    Hi, issues I have with the new build:

    • None of the refactoring menu is available, including quick fixes.
    • Cannot go back to stable release, it says "xamarin updates must be launched from xamarin"

    I am reinstalling xamarin from the installer. Choose not to install Xamarin.Android, but it still downloading android SDK (!?)

  • I just installed this preview version, and mono 4.2.1, and opened one of my simple projects. Upon compiling it complains about EVERY one of my C# 6.0 statements, such as

    \InventoryHelpers.cs(20,20): Error CS1056: Unexpected character '$' (CS1056) (InventoryUpdaterLibrary)
    InventoryHelpers.cs(7,7): Error CS1041: Identifier expected; 'static' is a keyword (CS1041) (InventoryUpdaterLibrary)

    Those are the only errors I get. According to the mono docs the c# 6.0 stuff is supposed to work in version 4, what am I missing?

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @JoshuaAustill Are you running on Windows or Mac?

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @NamDuong.0933 In this preview you have to enable Source Analysis in the preferences (Text Editor -> Source Analysis panel). This will be fixed in the next preview. After enabling that option, the refactoring menu will be available.

  • @LluisSanchez said:
    @JoshuaAustill Are you running on Windows or Mac?

    I'm running windows 7 and 10 on different machines. Same behavior on both. Also, I installed this release, and it auto updated itself back to 5.10 lol. Not the end of the world, I know now to pay better attention to what it's saying it will update :)

    Also, I'm running Visual Studio 2015 with LinqPad and ReSharper installed. Don't know if either of those would cause issues or not.

  • @LluisSanchez said:
    @JoshuaAustill Are you running on Windows or Mac?

    I reinstalled everything, and started digging through the options. If I set the target framework to mono .NET 4.5 under each project, it compiles fine. If I leave it set to .NET 4.5.2, it does not. I'm a complete mono noob, so this may be the expected behavior for all I know? Either way, I'm having fun figuring it out, thanks!

  • NamDuong.0933NamDuong.0933 AUMember ✭✭

    @Lluis Sanchez Thanks Lluis, it works for me now.

    I found another bug where the syntax to search by class name "type:MyClass" has been changed to "class:MyClass", but its short cut key "Go to type" still pre filling with "type:"

  • NamDuong.0933NamDuong.0933 AUMember ✭✭

    Hi, I found some other bugs:

    • Creating new classes using the quick fix menu (Generate new class..) does work, however IDE claims that the generated class already exists (it underline them red)
    • "Toggle Definition" shortcut no longer works, it used to fold all methods, now it folds the first comment of the file
    • Switch file short cut on mac Cmd+Option+Left or Cmd+Option+Right no longer work

    I really like the new IDE, it's faster and the auto complete somehow smarter, and now I can use nameof. Great work. Waiting for the new build.

  • MikeKrgerMikeKrger DEXamarin Team, Beta Xamurai

    @NamDuong.0933

    I fixed the creating new classes & toggle definition bug - the short cut bug is known and tracked - I suppose it'll be fixed soon.

    It would be nice if new bugs could be reported via the bug tracking tool - then the internal QA team can track the fixes more easily :).

    ty for testing & reporting

  • ToemselToemsel USMember ✭✭

    Still not working:

    Object?.SomeProperty;

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @Thomas.8817 C#6 is not supported on Windows in preview 3. It will be supported in the next preview.

  • @LluisSanchez can you remove that part in the first post?

    Going back to stable After installing the preview, you'll get an update notification for the stable channel (or whatever channel you are following). You can at any time install that update to go back to the stable release.

    Because it's not true. Want to go back to 5.10, but everytime i do the "update" xamarin crashes and says
    'Error

    Xamarin Update must be launched from Xam'

  • NateCookPersonalNateCookPersonal USUniversity ✭✭

    Filed this bug about warnings I'm seeing in the latest preview (preview 3): The type Xyz conflicts with the imported type Xyz - Shared Projects and iOS Today Extension

    https://bugzilla.xamarin.com/show_bug.cgi?id=37093

  • Matthew-RobbinsMatthew-Robbins AUInsider ✭✭

    @LluisSanchez Is there a timeline for when the Roslyn compiler and typesystem will be moved into the Alpha channel? Planning on developing tooling that uses the AST soon and would prefer not to write code against NRefactory if it is being retired.

  • NamDuong.0933NamDuong.0933 AUMember ✭✭

    How are you doing guys?

    Other than Xamarin sketches, this is the most exciting product I am looking forward for.

  • wootwoot USMember

    Wondering if there was a rough ETA on the next preview release is coming, or when it might move to the Alpha channel? Thanks!

  • What about vi modes?

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @Matthew-Robbins No timeline yet. Maybe in 1 month or so.

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @woot I'd like to do another preview release early next week

  • LluisSanchezLluisSanchez ESXamarin Team Xamurai

    @FokkeVermeulen this will be fixed in the next preview

  • wootwoot USMember

    @LluisSanchez said:
    @woot I'd like to do another preview release early next week

    Great, thanks for the reply - looking forward to it!

«13456
This discussion has been closed.