A new way to Commit! Introducing the Commit and Repository tool windows in Rider 2019.3 EAP

In the latest Rider 2019.3 Early Access Preview (EAP) build, we’ve started experimenting with user interface and experience improvements when working with version control systems (VCS) like Git:

  • New and improved Commit tool window
  • Renamed the version control tool window to Repository
  • An in-editor diff preview (shelved changes are also previewed in the editor)

Let’s have a closer look! 

New and improved Commit tool window

After making changes to a code base, the next step is probably going to be committing (and pushing) it. We’ve introduced a new Commit tool window, shown on the left by default:

New commit tool window on the left-hand side

Having this tool window on the left gives us more vertical screen real-estate to show the changelist(s), commit description, and so on.

Personally, I like moving the Commit tool window to the left bottom (by dragging the tool window caption down). It gives me a view of the solution explorer as well as the commit tool window, but that’s of course my preference. Others may want to move it to the right-hand side, or to the bottom – feel free to experiment with what works best for you.

Commit tool window on the left bottom

Repository: the renamed version control tool window

In the bottom of Rider’s IDE window, we can now find the renamed version control tool window: Repository. Just as before, it shows us the version control history where we can search, look at details for a commit and so on.

Version Control tool window now named Repository

So why the change to “Repository”? Working with version control is more than working with just the commit log. The Repository tool window also lets us inspect GitHub Pull Requests. It lets us search and filter PR’s, displays the summary of the PR, as well as the list of commits and changed files in there.

Pull Requests from GitHub shown in Rider Repository tool window

From the pull request change list, we can click a file to show the diff. Which is a nice bridge to the next part of our version control redesign!

In-editor diff preview

Traditionally, diff previews would be shown in the tool window we were working in. So when showing a diff preview in the current changelist, the version control log or a pull request, we would be cramming two editors in an already full tool window. No more!

Rider now displays diff previews in the editor. This gives the diff preview the screen real-estate it deserves, and displays it where we expect code to be shown: in the editor.

In-editor diff gives more screen real estate to display diff results

When in the Commit tool window, we can use F7 (Next Change) to jump between changed files – no need to use the mouse there.

Note that only the diff preview is displayed in the editor. When invoking a diff manually, a separate window will still be shown – unless you use one of our experimental tweaks.

(Did I mention I seem to be doing well today when it comes to bridging topics?)

Experimental tweaks

We are still deciding on what some of the defaults will be (such as whether to show all diffs in the editor instead of only previews). If you would like to experiment with those, it’s possible to toggle certain features in Rider’s registry.

After opening a project, press shift shift (Search Everywhere) and search for “Registry”. Next, start typing any of the following three switches to enable or disable things:

  • show.diff.preview.as.editor.tab – toggles the in-editor diff preview
  • show.diff.as.editor.tab – shows all diffs as an editor tab
  • show.log.as.editor.tab – shows the VCS log as an editor tab

Note that there are a lot of settings, and you should not change them unless asked by support. However if you’re on Windows, I can recommend enabling windows.jumplist if you like being able to right-click the Rider taskbar icon and open another solution.

Download Rider 2019.3 EAP (or higher) and try it out! Let us know your thoughts about these updates.

About Maarten Balliauw

Maarten Balliauw is a Developer Advocate at JetBrains, working on .NET tools. He focuses on .NET, Azure, web technologies and application performance. Maarten is a frequent speaker at various national and international events. In his free time, he brews his own beer. Follow him on Twitter or check out his personal blog.
This entry was posted in How-To's and tagged , , , , , . Bookmark the permalink.

40 Responses to A new way to Commit! Introducing the Commit and Repository tool windows in Rider 2019.3 EAP

  1. Julian Moschüring says:

    Thank you for ‘show.diff.preview.as.editor.tab’! Deactivated it.

    My main coding monitor is in portrait mode and I have the VCS/Commit window on a second widescreen monitor. The new setup doesn’t work for me at all as the diff is only like 40 characters wide for each file. And I keep the commit window open all the time.

  2. Mateusz says:

    It would be great if we could see comments in PRs, so that we wouldn’t need to open GitHub in browser

  3. Julian Moschüring says:

    When ‘View Mode’ is set to ‘Window’ the change set section of the commit window now has a minimum width, even when ‘how.diff.preview.as.editor.tab’ is false and diff is included in the commit window.
    Previously it had no minimum width. Could you please remove the minimum width? I would rather have more space for the diff view.

  4. Julian Moschüring says:

    The thing annoying me about ‘show.log.as.editor.tab’ is, that the Log isn’t closed when hiding Repository. Eg when having it on shortcut Alt+9, toggling it on and of leaves the Log open.
    Alternatively a view mode for Repository having the Log above the other stuff would be nice.

  5. Yosef Yona says:

    These are interesting changes but we are still missing one of the most voted issue in the Source Control area, the lake of support of an important part of the Git way of work, support for git index / staging area. (see https://youtrack.jetbrains.com/issue/IDEA-63391 ) .
    Do you plan to fix this?? The issue is open for 9 years (!!!) and have more than 450 votes.

    thank you in advance for your answer.

  6. Dennis Lieu says:

    This looks nice. I am looking forward to the Pull Request feature. Are there any plans to also add support for bitbucket and gitlab?

  7. Pawel says:

    I’m happy that you are happy with this change but could you please provide a way to get to the previous view of commit window? The flag show.diff.preview.as.editor.tab only turns off the diff as editor tab but diff is displayed SIDE-BY-SIDE with commit text and file list.
    How to move diff to the bottom so changes, commit message and diff are stacked on each other? There should be one simple switch to get back to the previous view without reinstalling the whole app

  8. Pavel says:

    Hi! Just updated my Rider to EAP 5 and it hurts me a lot. Every change in file opens file diff with previous version, I can’t understand what’s hapenning. Could you, please, help me to disable it?

    • Alexander Kurakin says:

      It was a known issue for EAP 5, so we’ve published a hotfix an hour ago: EAP6. Please install the new build.

  9. Michael McDowell says:

    Worked nicely on my 13″ screen.

    Unfortunately I had to disable the _show.diff.preview.as.editor.tab_ as it kept opening after making an edit to my C# / F# files. Needs a bit more work, including an obvious menu/shortcut.

    • Alexander Kurakin says:

      Please install EAP 6 build we’ve published a moment ago, it has this weird behavior fixed. Then enable the _show.diff.preview.as.editor.tab_ key back. Thanks

  10. Dumitru says:

    I find the VCS tools easier to use as full-screen windows.
    Want to commit? Press a shortcut, see commit pop-up full-screen, with enough space to see all changes, diffs, and make any adjustments. Very happy with this flow.

    It’s nice that I could revert back to previous diff mode (disabling show.diff.preview.as.editor.tab)

    Having commit view inside VCS (Repository) view was actually working fine for me, but they’re now separated again.

    Thank you for the ‘commit’ button now reacting instantly – previous version was confusing, as I wasn’t sure if the button had pressed.

  11. Evgeny says:

    How to revert it? I don’t want to have yet another window for VCS!

  12. Kimberly says:

    I like the new commit experience. I can see how it’s a superior experience. That said, there really should have been a way to opt out until your WHOLE product suite supports the new experience. One of the best things about Jetbrains is that you can you can get to ninja level with ONE editor (that’s not VIM) and use it across the entire industry — Java, C#, Javascript/Typescript, Python, iOS/Android, whatever. It’s one of your key differentiator. Don’t mess it up.

  13. Stas says:

    Please move “Local changes” window back!
    I do like having local changes and repository in one place with access by shortcut and in separated window. Bad change.

  14. Ben Sizer says:

    So, where are the local changes now? I used that window OFTEN to be able to see what was going to get in the way of git pulls, or more often, to see which files Unity had changed without me knowing, so that I could discard them.

    Do I now have to open the Commit dialog to discard these changes?

    And why is Discard now called Rollback?

    • Local changes are in the Commit tool window. If you prefer to have that as just a list of local changes and have commit as a separate window like before, you can go to the settings and under Version Control | Commit Dialog uncheck Commit from Local Changes.

      That won’t change the tool window name, will pass that along to the dev team.

      • Ben Sizer says:

        Well, no, I have no idea what clearing that checkbox actually does, but it doesn’t give me the view of locally-changed files back in the Repository view. All I see are Repository and Console, and I have to bring up the Commit window to see what has changed, which is crap.

      • Ben Sizer says:

        Also, commit /wasn’t/ a separate window before. I just commited from the local changes tab. It seems like you have changed stuff and forgotten how it used to work.

        • The commit dialog used to be that, a dialog/window, so I thought that was (part of) the question, my bad – feel free to restore that checkbox if you prefer to commit from the tool window again.

          As for merging repository/console/local changes window, this is not possible right now. For now, local changes will be in the Commit tool window. Given the amount of comments in this post around that topic, we are discussing it. So thanks for your feedback on that.

          • Ben Sizer says:

            Thanks for answering. Sorry if I was rude in my comments – just frustrated at having to relearn things.

          • Yongyi says:

            Good to know that you are discussing the Local Changes window.
            The Local Changes Window is my most used window in the VCS plugin.
            I even use it to replace the CornerStone SVN Client which is a very expensive SVN client in Mac OS.
            In my opinion, the Local Changes Window can do pretty much everything that CornerStone is capable of.
            Please please please bring it back, thank you.
            It seems that I have to stay with Rider 2019.2 for a while:)

  15. Oskar Emil Skeide says:

    Grand.

    Now show me where you hid the ‘Amend commit’ button

  16. Kimberly says:

    Oh please have an option to put the whole commit experience back to the way it was. I’ve been using it for a week now, and while in-editor diff view is great use of screen real-estate, and it’s superior on paper, it’s too disorienting in practice if you tend to use the Local Changes list as your working set. I expect to see the file I’m editing it the edit pane, not a diff. (Reason: because it’s an edit pane, maybe?) It’s annoying as hell when I realize what I’m look at is not my file, but a diff, and maybe not even the latest diff if I have the git history up for the file. This is bad UX-overloading. The edit pane IS FOR EDITING/WRITING code, and having the diff up is a distraction and interrupts my flow.

  17. Steve says:

    Looks like JetBrains is going the way of so many software companies these days and over-engineering things into oblivion. Sometimes things just work and the user is happy with the UI as it is, with the occasional extra supported feature/language being enough. Please stop forcing your users to re-learn a new UI several times a year. At the very least make the old UI optional for at least one year at a time. I can’t get my head around this new VCS and it’s discouraging, I’ve already wasted valuable hours attempting to re-learn things for no reason. The old setup was just fine.

  18. Artem says:

    Sorry, the new interface doesn’t work for me. It messes up the solution tab.
    I constantly use my solution tab. So I move it down.
    And, now, on my 25″ monitor, there is the Commit panel, taking 2/3 of my vertical space.
    And it is 80% empty.
    I hope, you will add the ability to place something useful in that space. Repository tab, for example 😉

  19. stang says:

    Where did the shelf tab/views go? I can’t find them :(

  20. David says:

    The new “preview in a tab” is still annoying after using it for over a month – I’m reverting to the old behaviour (show.diff.preview.as.editor.tab = false).

    I mostly use the “Local changes” view to navigate between files that I am currently editing. If I click on a file on the list, I want to go straight to that file (its current version), so that I can continue editing, I do not want to see a diff. The preview gets in my way. Even if I do want to see a diff, I do not want to loose context / the currently edited file.

Leave a Reply

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