Rider EAP 20: Xamarin Android, Node.js, .NET Core improvements, and more

Our build servers are still smoking, but they delivered something nice: a new Rider EAP build is available for download!

JetBrains Rider EAP 20

Rider EAP 20 fixes a number of bugs, improves .NET Core support, has better NuGet performance, supports Xamarin Android applications, comes with Node.js tooling from WebStorm (including SpyJS), can generate ResX files, executes T4 templates (needs Windows and Visual Studio SDK), adds support for scratch files, … Too much for one sentence, as you can see from the full list of fixes. We’ll highlight a few, read on!

Xamarin Android application support

Rider now supports creating and working with Xamarin Android applications (if the SDK’s are installed). When creating a new solution, a number of templates are available for Android and Android Wear apps and libraries:

Create Xamarin Android project in Rider

We can build our application in Rider with code completion, navigation, refactoring, inspections and so on. And of course, run and debug it, too! Rider comes with a default run configuration for Android, which will prompt us for the device (or emulator) we want to run or debug our application on:

Select target device (or emulator)

The default run configuration can be edited. It lets you pick a default deployment target, set launch flags, configure the APK to deploy, …

Edit Android Run/Debug configuration

Have a look at the Tools | Android menu too: Rider can open the AVD and SDK Manager for us, or open a device shell on a running device or emulator.

Node.js support

In Rider we build on top of the IntelliJ platform and ReSharper. The great thing about that is that we can borrow features from products like WebStorm, in this case: Node.js support!

An item template is available for package.json. In the editor, we get code completion for common npm properties, dependencies and versions:

Package.json code completion

Speaking of dependencies: from the settings under Languages & Frameworks | Node.js and NPM, we can search for npm packages, look at their description and pick a version to install:

Manage npm packages

Packages are nice, but what about coding, testing and running our Node.js? Of course JavaScript and TypeScript coding assistance, navigation, inspections, quick-fixes and all that are supported in Rider. Testing and running works fine, too, with Run/Debug configuration support for Grunt, Gulp, Jest, Mocha, Node.js, Nodeunit, npm, NW.js, Protractor, React Native, …

Various Node.js run configurations and frameworks

Browser integration is there as well, with support for synchronization between our IDE and the browser (Live Edit). V8 engine profiling is supported for the Node.js run configuration.

From the settings, make sure to install the SpyJS plugin – it’s a great debugging and profiling tool for JavaScript. Make sure to check it out!

New Alt+Enter action lists

Just like in ReSharper, the action list (Alt+Enter) now supports typing to search and find actions:
New Alt+Enter lets us search for actions

The popup will search and show all actions that are available in the current context. This helps us quickly execute the intended action by just searching and hitting Enter. Next to that, it also helps in learning new shortcuts and finding unknown features.

Scratches

Want to quickly write down some notes, or draft a small portion of code, without having to exit the IDE or create a new file (that then gets committed to source control by accident)? That’s where scratches come in.

At any moment, hit Ctrl+Alt+Shift+Insert to create a temporary draft file. After selecting the programming language, we can start writing down our thoughts.

Working with Scratch files

Scratches can be closed and then disappear. In case we want to retain what we wrote, we can always Save As (Ctrl+Shift+S).

More plugins! MOAR!

More plugins from IntelliJ IDEA Ultimate are now available for installation. To display them, open up the the settings, and then under Plugins, click Install JetBrains plugin…

Plugins for Rider

Plugins for various web frameworks are available (Angular, Meteor, EJS, Handlebars, Mustache, Pug, …) as well as some productivity tools like the settings repository which can synchronize IDE settings, TFS integration, and Upsource support.

Community plugins are available under Browse Repositories…, listing over 700 plugins for Rider. Some of my favorites are .ignore (adds files like .gitignore), the PNG optimizer, Bootstrap 4 and FontAwesome, and of course Emoji support.

NuGet improvements

On the NuGet side of things, we made some additional performance improvements when searching for packages and their available versions. It’s now also possible to disable package restore from NuGet.org.

Wildcard versions, like 1.0.0-*, are now also supported by the Rider NuGet client, letting us restore floating package ranges. Package restore in UWP projects now works as well.

Download the new Rider EAP! We’re eager to hear how it works for you.

This entry was posted in How-To's and tagged , , , , , , . Bookmark the permalink.

17 Responses to Rider EAP 20: Xamarin Android, Node.js, .NET Core improvements, and more

  1. Stuart says:

    Love the progress, however still no F# support in a “.NET IDE”, still the top requested feature by far https://youtrack.jetbrains.com/issue/RIDER-574

  2. Alex Yakunin says:

    Wow, guys! You’re doing an amazing job. I almost completely switched from VS to Rider now, and it’s better in nearly any sense. Xamarin Android support is one of the things I was looking for, and frankly, I totally didn’t expect it to be there by now.

    Keep up improving it — you’re awesome!

  3. Carel Lotz says:

    When will debugging of .NET core applications on Mac be available?

    • Maarten Balliauw says:

      Relatively soon. No fixed date yet as we are ironing out the last kinks, but will be back for sure.

  4. Xi Xinping says:

    On linux:
    Project ‘MyTestXDroid’ load failed: The imported project “/usr/lib/mono/xbuild/Xamarin/Android/Xamarin.Android.CSharp.targets” was not found. Confirm that the path in the declaration is correct, and that the file exists on disk

    How can I install Xamarin Android on Linux (Ubuntu) to work with Rider?

  5. George says:

    Looking great so far! Great progress. I am definitely looking forward to debugging .NET core on the mac again.

  6. Jens says:

    Looks really cool so far!

    For the brave people like me that want to use Rider on Fedora 25 for Dotnet Core development, it took me some time but everything works when doing the following:

    – Get your dotnet environment up and running. I went for downloading the dotnet core sdk 1.0.1 for CentOS. Since Fedora uses newer libraries than CentOS you’ll need to dowload the CentOS libraries libicu-50.1.2-15.el7.x86_64.rpm, lldb-3.4.2-7.el7.x86_64.rpm and llvm-libs-3.4.2-7.el7.x86_64.rpm, extract them to a folder of your choice and point LD_LIBRARY_PATH to it.

    – Since Rider does everything with mono you will need to install mono-devel and mono-locale-extras from https://copr.fedorainfracloud.org/coprs/tpokorra/mono/.

    – Here come the tricky part. You will need msbuild15 for mono but that package does not exists for fedora/centos. The good news is that you can just download the package for ubuntu (http://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_15.1+xamarinxplat.2017.02.14.47.38-0xamarin1_all.deb), extract it somewhere and use that one. Therefore you will need to tell Rider to use a custom toolset and point it to the MSBuild.dll in that archive. Furthermore you will need to set the MSBuildSDKsPath and MSBuildExtensionsPath environment variable and point it to the dotnet core sdk folder.

    I had put the environment settings in my .bashrc, all together it looks like:
    export PATH=$PATH:/home/[username]/.dotnet/
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/[username]/.dotnet/support/lib64/ # Libraries from CentOS went here
    export MSBuildSDKsPath=/home/[username]/.dotnet/sdk/1.0.1/Sdks
    export MSBuildExtensionsPath=/home/[username]/.dotnet/sdk/1.0.1/

    I hope this will be a little bit easier in the future, hopefully without mono at all. But for now it works and performs pretty cool.

    PS: Really looking forward for the debugger to come back. 😉
    PPS: When setting up an xunit test project with dotnet core Rider complains about “Program ‘..’ does not contain a static ‘Main’ method suitable for an entry point”. I guess Rider thinks that netcoreapp1.1 always results in an executable, regardless that Library is set.

  7. Pingback: Dew Drop - April 17, 2017 (#2459) - Morning Dew

  8. Pingback: Fast Forward: Rider EAP 20 ist erschienen & GitHub passt Developer Program an - zend-framework.net

  9. Josef Bodnár says:

    Updated from last version and seems working great. Thank you!

    I come from java (idea) world, so I switched from VS and Resharper to Rider when I heard of it some weeks ago.
    However, I have not found if the Rider is going to be part of the Ultimate subscription. Please make Rider part of it – it would not make sense for me to pay for Resharper if I would be using Rider.
    Thanks!

    • Jura Gorohovsky says:

      Josef, Rider is not going to be a part of ReSharper Ultimate; however, it’s going to be licensed both separately and as part of All Products pack, which means you’ll have the option to pay for Rider only, or to get a license to all JetBrains tools that are part of the All Products pack.

Leave a Reply

Your email address will not be published. Required fields are marked *