Jetbrains Rider Configuration To Visual Studio For Mac

Back in Rider 2018.3, we added a performance profiler to Rider. As we try to deliver new features as quickly as possible, the integrated profiler had some limitations: it only supported the profiling of .NET Framework and .NET Core applications on Windows. Now, it’s time to fill the gap. In Rider 2019.1, the profiler gets support for Mono and Mono Unity – and not just on Windows but on macOS and Linux as well.

Let’s look at what it can do for you.

What is currently supported?

WindowsmacOSLinux
.NET Framework+n/an/a
.NET Core 1.0++
Mono 5.10++++
Mono Unity 2018.3++++

However, the run / debug buttons in Rider do absolutely nothing for this project. No errors, no dialogs, nothing. I press the button and it's like it has never happened. If I create an empty Xamarin.iOS project it does start, so it appears to be something in my particular project configuration. I have no idea where to start looking though. IntelliJ IDEA Key Bindings for Visual Studio Code that transforms Mac-keybindings to PC-keybindings. This is a fork of kasecato's popular library. This simply re-maps a Mac to act like a PC (switching CTRL and CMD keys). It leaves PC alone. Port of IntelliJ IDEA key bindings for VS Code. Includes keymaps for popular JetBrains products like IntelliJ Ultimate, WebStorm, PyCharm, PHP Storm, etc.

Ledger nano s mac download. As you can see, the profiler still lacks support for .NET Core on macOS and Linux. Unfortunately, we can’t do everything at once, so this will happen in a future release. Also, as of EAP3, there are no console profiling tools for macOS and Linux. But, unlike the support for .NET Core, the tools will be added in one of the upcoming 2019.1 EAP releases.

How to profile Mono apps?

Absolutely no changes here. The workflow is the same as with regular .NET Framework apps (more details in this post):

  1. Choose a run configuration (what you’re going to profile).
  2. Choose a profiling configuration (how you’re going to profile). Note that there’s a special profiling configuration for Mono apps: Timeline (Mono). Because of limitations in Mono, other profiling modes are not available.
  3. Run profiling and take snapshots.

How to profile unit tests?

Profiling of Mono unit tests is also supported. Simply select a unit test and then run Profile from the context menu.

How to profile Mono Unity apps?

This one is a little bit more complicated. The workflow is almost the same, but there’s a difference when it comes to running a profiling session:

  1. Choose a run configuration: For a Unity app, it’s always either Attach to Unity Editor or Attach to Unity Editor and Play configs.
  2. Choose a profiling configuration. As well as with Mono apps, there’s a separate profiling configuration: Timeline (Unity).
  3. Run profiling and get snapshots.
    When profiling a Unity application, the profiling target is always the Unity Editor. The problem is that the Editor is probably running simultaneously with Rider, so you cannot start profiling it. Therefore, when trying to run Timeline (Unity), Riders asks you to:
    1. Close the Unity Editor first.
    2. Run the Timeline (Unity) profiling one more time. Rider will take care of the rest: it will run the Unity Editor and start the profiling session.

Note that instead of restarting Unity Editor, you have an alternative to simply run the compiled game under profiling. In this case, in step 1 you should select the Unity Executable run configuration and specify the path to the game executable.

Another usage of the Unity Executable configuration is to run one more Unity Editor instance with profiling enabled. All you need is to specify the path to the Unity Editor executable instead of the game.

That’s all for now! To try new Rider profiling capabilities, download the latest Rider 2019.1 EAP. Stay tuned!

Connect JetBrains Rider with Xamarin Remoted iOS Simulator

Enable JetBrains Rider to work with Xamarin Remoted iOS Simulator for windows, installed with Microsoft Visual Studio.

Note:

This tool has been updated to work with JetBrains Rider 2019.3+.If you need to run it on an older version, download the first version.

Usage:

  • Make sure to a have working, established connection to your mac with the Xamarin Mac Agent
  • Edit the Rider.RemoteSimulator.Win.exe.config file with the connection details for your mac (host name, username and password)
  • Open JetBrains Rider
  • Create a new External tool: Settings --> Tools --> External tools
  • In Tools Settings select the executable Rider.RemoteSimulator.Win.exe
  • In Arguments insert this: $ModuleFileDir$
  • Now in your run configuration for iOS simulator, you can add this external tool in Before Launch settings
  • Debug and enjoy the Remote Simulator :)

How it works

When started, this tool execute these step:

  1. Read the workspace.xml (for current solution) to retrieve the selected simulator in your run configuration
  2. Connects to your mac host with the settings provided in Rider.RemoteSimulator.Win.exe.config
  3. Retrieve the simulators list from xcode to get the right UDID for the selected simulator
  4. Launch the Windows Remote Simulator from command line, passing the right UDID

FAQ:

  1. Why an external tool and not a plugin?

Well.. currently i dont have time to learn how to develop a plugin for Rider, so i made a simple console application to use as an external tool :)

  1. Whaaat??? A plain password in the .config file?

Yeah, i know.. i know.. But see the previous FAQ: i dont have much time right now so i had to do things super-fast. If you dont like this auth method, a pull request will be super-welcome!