Multiple Rider instances

Answered

I want to be able to open multiple Rider instances (e.g. two projects in separate windows).

I read that this should be possible using Settings -> System Settings -> Project Opening but I cant find this under Preferences.

I am useing

Rider 1.0 EAP
Build #RS-163.12057

16
36 comments

would be much more intuitive if i could just click on the rider icon again and get a new instance but this works thanks

 

13
Avatar
Permanently deleted user

Another workaround I found for this is to right-click the .sln file in File Explorer and choose the Edit with JetBrains Rider from the context menu.  This always opens a new instance of the application. I spent quite a while trying to work out what was wrong and why clicking the shortcut in the Start Menu didn't open a new instance, it is not intuitive.  Also clicking the context menu on the Rider icon in the task bar and choosing JetBrains Rider doesn't open a new instance as you would expect. It also doesn't show a history of recently opened solutions as you'd expect.  

Yes, you can configure the open menu option to always open in a new window but that is not what you always want and having to answer the prompt every time is too irritating an option for words.

If an instance of Rider is already loaded then you can easily navigate to it by clicking the taskbar icon. You can then open a different solution in the same window.  If you select it from the start menu and an instance is open then it should open another instance as should the context menu on the taskbar icon. I know some applications use a single instance approach, for example Notepad++.and Postman but it just feels wrong for Rider.   The reason it works for Notepad++ and Postman is that their UIs support multiple instances of the things that they deal with in the same Window, i.e. multiple files or multiple Test Collections in the case of Postman.  Rider doesn't support multiple solutions within the same Window so that is why the instancing model is wrong.

 

9

I use this and it works without changes in the toolbox: https://blog.jetbrains.com/dotnet/2017/02/09/working-with-multiple-solutions-in-rider/

The setting is

Settings > Apperance & Behavior > System Settings > Solution opening > Open Solution in new window

7

Check out this blog post, which provides more details on working with multiple solutions.

5
Avatar
Permanently deleted user

I agree with Paul White completely. Running the Rider executable should launch a new instance, that's the only acceptable behavior. 

5

It makes no sense to prevent second instances. 

3

This is a so basic thing that I'm shocked you don't support it. No matter from where this 'restriction' has derived, it's a dumb one and should be killed & forgotten like a nightmare completely asap. I'm so disappointed to face it after ages in Visual Studio!

3
Avatar
Permanently deleted user

Anyone?

2

Hi there!
Indeed, the Rider is a single-instance application, and the second instance of the same version (with the same config directory) cannot be started. 

As a possible workaround, you can install a different Rider instance on your machine via the Toolbox app. Then open application settings in Toolbox.

 

In the opened settings set the new path to the config/system/log folder.

After this, you will be able to run two Rider instances with the same version.

Here is a youtract issue. Please, feel free to upvote it to subscribe for notifications and raise its priority.

Kind regards, 

Sofya.

2

Hello,

Thank you for your update.
The thing is that this way does not open a new separate instance of Rider. It is just a separate project that opened under the same parent process.

Kind regards,

Sofia.

2

Christoph Rüegg

I thought so aswell, and I believe that's what TS wants to do. There is a setting for either closing the current project and opening the new one or opening the new solution in a new window. I guess that's what causes confusion.

Dejan Stojanovic

You can open many solutions at once. See my answer above. I got a response that this was not a separate instance of rider but just the new project in a new window. Anyway, it IS an answer to this problem regardless and I have never had any problems with it "just being another window". It works in the same way as having multiple instances of any other program at the same time.

Somewhat related:
Tip of the day! When you have one project/solution open, you can right-click the taskbar rider icon to quick open another recently used solution in a new window. (if you have applied the setting mentioned before)

2

You are right of course.

But I think that even if the question says 'instances', the rest of the question text points to what is achieved with this setting. It would solve the problem for most users I believe. It certainly did for me.

1

I also agree that preventing second instance looks weird. I have such use case: I opened Rider and working on some solution. Now I would like to quickly create a new solution. So now when I click on "Rider" shortcut to launch new instance - nothing happens. 

1

Hi Kihtov23

You can fix it without several instances. Go to `File | Settings | Appearance & Behavior | System Settings | Project opening` and set "Open project in new window". Or, if you need this behaviour only sometimes, choose "Confirm window to open project in". Now just call "File-New..." to create a new solution. You also can add a shortcut for "File - New..." in "File | Settings | Keymap"

I hope this help! 

1

I also agree that preventing multiple instances is weird and limits productivity.
I constantly work with multiple desktops in Windows and find it extremely inconvenient that I can't launch a new instance of Rider from the Taskbar in a different desktop once it has been started.

1

Well, I guess this concludes my trial then.

Glad to find out about this limitation before committing to buy the licences.

This is a deal breaker for teams that work on multiple solutions at the same time, which I assume wouldn't be too uncommon when building microservices? 🤷‍♂️

It's a shame =/

1

I open multiple desktops (in windows) to organize my workspace, now I cannot open another solution, or create new one on a desktop that I didn't open rider on it before, I simply can't. I had to go to a desktop where rider is running, then open the solution in that desktop them move it to the other desktop. there must be a way to open a window by right click rider on taskbar and click on rider rider application.

1

I am running Debian. Changing the settings does allow me to select an different .sln file and open it with Rider, but I would expect to be able to click "New Window" on the Activities shortcut and have it do the same. "New Window" simple sends me to the existing Window. If "New Window" is not an option it would be clearer if that was not available, or at least if a helpful message came up when attempting to open a second instance of rider - one that eventually mentioned "Settings > Appearance & Behavior > System Settings > Solution opening > Open Solution in new window" and described what was and was not possible.

0

@Mickeyfvigil,
Here is a filed issue in our tracker: https://youtrack.jetbrains.com/issue/IDEA-232704.
Please feel free to upvote.

0

@Mickeyfvigil,
Could you please also check if the following issue IDEA-125537 corresponds to your case?

Thanks in advance!

Sofia.

0

Hello Alexandra! 

Indeed that is the solution. Thank you! 

0

I need runas.exe to run my IDE with a certain user. I noticed when I open another solution and debug it, that (user) context is no longer used?!

0

Hi Nuytkens Stanny,

Please open a new issue on YouTrack, describe your case, and attach the Rider logs (Help->Collect Logs) collected after debugging a solution.

0

Hi Caio Campos

I'm sorry to hear that. To work with multiple solutions at the same time, you can use the workaround mentioned above. If your case doesn't allow this, please, follow the mentioned issue. We would appreciate any detailed feedback in the issue comments as it allows us to increase its priority. 

Thank you!

0

Hey Mustafa Magdy1,

have a look at my comment from December 01, 2020 17:46 and also Julia Vaseva's reply on December 14, 2020 15:27.

0

Is there any update on this issue?
I mean this is pretty basic and I am really struggling to move from VS to Rider because pretty often I need to  work on more than one solution :(

0

Opening many solutions doesn't cut it and is almost trivial - just a 2-click on it (them).

The reason I need 2 genuinely separate instances is that at some point I need to be able to run my code with full credentials for a cloud and they are picked up from env vars => Rider has to be started from cmd.exe with populated vars so that it can pick them up. But at the same I have like about 5 .sln-s already open and it's a huge hassle if I'd have to close all that just to run one debug session and then close that and re-load everything in "plain mode".

Also. latter I want to try to run it from 2 git enlistments that share local repo but are otherwise independent (each has it's own branch). That saves gigabytes of wasted space and I was able to do that with Visual Studio all the time, once for a month+. Visual Studio totally doesn't give a damn how many instances you run - as long as you have enough RAM of course :-) Wherever was the cmd positioned it picks up from it if it's run from "there" - on cmd line of course and you never hear or see "the other".

Rider's pseudo-sessions, being in the same process, are even collectively aware of all repos currently used by any of sln-s and that's scary and potentially dangerous. Once I committed a changelist to another .sln and repo while being in a different project :-))) Mind you that these enlistments are completely separate (roots, pile of diffs etc.) and still Rider was "combining" them. Good thing I didn't have any changes in the other project or it would have been one collective commit accident :-))))))

If at least there would be a way to "color" different "sessions" differently (even if just as an "accent") to know for sure there you are in a given window.

 

0

Hello ZB
>Rider's pseudo-sessions, being in the same process, are even collectively aware of all repos currently used by any of sln-s and that's scary and potentially dangerous. Once I committed a changelist to another .sln and repo while being in a different project :-))) Mind you that these enlistments are completely separate (roots, pile of diffs etc.) and still Rider was "combining" them. Good thing I didn't have any changes in the other project or it would have been one collective commit accident :-))))))

Could you please elaborate on that or please submit a support ticket if it's reproducible for you, since if a file belongs to one root there is no way it can be commited to another root (unless there are nested repositories that were misconfigured and files from nested repository were added to parent root)

0

Oh each was in it's corresponding git root - but with say 3 sln-s open, call them git1/sln1 git2/sln2 git3/sln3 Rider's project window (pseudo-session) for git1/sln1 was seeing the changelist for git3/sln3 and happily committed it.

I didn't even realize that I was in 1 and not 3 (=> Rider needs the ability to color code windows that belong to the same pseudo-session).

I was even in a bit of panic since when I took the route via Git menu I've got "no changes to commit" but in Git panel all changes where there and it was happy to commit them even though they were in different repo/sln.

Later I realized that the root cause was that Rider doesn't have real sessions so it "sees" all changes in all repos that are currently open in any of pseudo-sessions. I was lucky that I didn't have any changes in other repos or it would have been one hell of a mess in Git panel.

That was the first time I started looking for a way to open several instances == processes and be absolutely sure that nothing is ever shared.

These are not your dad's repos guys :-) We have something like 300, separated into 10+ groups, probably half of that active/maintained and I hardly ever have less than 3 repos open. It's the organization arrangement that minimizes contention to virtually zero and conceptually follows microservices all the way to deployment.

This is on top of credentials and other parameters that need to be picked up from cmd shell environment for some enlistments/projects. A thing that's trivial in Visual Studio - you cd to different folder and run VS .exe. If you need more you D-click links that start cmd.exe with corresponding env script and then run .exe from there.

0

Windows: I've written a small powershell script, that opens solution with rider (if already opened it would switch the virtual desktop) and then move the window (and me) back to the virtual desktop I started from. Since I've always a shell somewhere on all virtual desktops (cmder) this was the easiest way for me: https://gist.github.com/Cyber1000/0570e39593dcbca935bf67c2352f3599

See the comments - You'll need:

  • https://github.com/MScholtes/PSVirtualDesktop
  • Turn on setting: Settings | Appearance and Behavior | Appearance | Always show full paths in window header option.
  • Turn on setting: Settings | Appearance and Behavior | System Settings | Open project in new window

Maybe it helps someone ...

 

0

Please sign in to leave a comment.