How-To's

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.

image description