Recent change to "Show Diff" from Git panel?

I recently updated to 2021.2 and just noticed this problem, but I'm unsure if I accidentally changed a setting or if it's a platform change.

Previously, I was able to click "Show Diff" in the Git panel and it'd pop-out a lightweight diff viewer. This is great because I could expand it however large I needed.

Problem: Now when I click "Show Diff", it opens the diff as a new tab in the editor. Combined with the real estate that the diff tool is using, this leaves very little room to review the changes. It also makes for a confusing view in the main editor, since the diff tab is seemingly randomly thrown somewhere in the middle of my open tabs.

I found that if I changed the "View Mode" from "Dock Pinned" to "Window", then the diff viewer behaves like I want -- but now anytime I click the Git panel, it opens the new window, which is not what I want. I like to be able to quickly reference the list of changed files in the panel (without a new window).

The "Show Diff in new tab" doesn't seem to do anything different, I'm not sure what it's supposed to do, but both options open a new editor tab with the same view.

Is this new behavior, or is there a setting I messed up somewhere? Thanks in advance.

15 comments
Comment actions Permalink

I'm questioning that UX design decision, as it's not intuitive at all when changing a long-standing feature.

However, it now works exactly like it used to which is what I was after, so thank you!

8
Comment actions Permalink

It still doesn't work like it used to. How can I open a file listed in the git panel into the main editor? When I double-click it now, it opens the diff viewer...

1
Comment actions Permalink

You can revert to the previous behavior by dragging the diff window out.

It will remember for next time

7
Comment actions Permalink

Just uncheck the above option. It will work as you expected.

7
Comment actions Permalink

I'm having the same issue, and unticking the "Open Diff as Editor Tab" doesn't solve the issue either. Any other suggestions?

1
Comment actions Permalink

After unclick "Open Diff as Editor Tab" + done some funbling in pane locations I AM BACK TO BUSINESS

dear Jetbrains - this was really a mess. That diff comes up in own window is total important for my development.

You have also separated GIT from COMMIT -- I still need to understand the improvement. But it came back to normal after some funbling in the Pane position.

This only costed me 2-4 hours to get in order again.

 

1
Comment actions Permalink

The is very trouble for me also, as the editor tab in my point of view should be some files can be edited and the diff view tab is for review, now mess up the experience. I just follow previous setup and come back to old behavior, but one thing still very bad is that when i finish the diff view, i press Esc, i expect the window will close totally, and now keep an empty window... if any one can help? like below

0
Comment actions Permalink

+1 for the above problem. The older open diff in a modal was so much cleaner. It was one of the reasons I loved webstorm over Vscode.

4
Comment actions Permalink

In 2021.3 another issue came up related to this for me. Starting in 2021.3 if you have an external diff viewer you can no longer see the diff view at all from the commit changes toolbar. Previously in 2021.2 I could see the changes view as an editor tab when I double clicked on a file from the commit view - even if I had an external diff tool set. The external diff tool was not used when doing a commit diff like this (which I preferred). In 2021.3 it simply does nothing if you have an external diff viewer set and you try to double click to view the diff or even if you click the "Show Diff" button.

Disabling my external diff tool fixed the problem, but ideally it would go back to how things worked in 2021.2.

Note: it also works in 2021.3 if you use the modal/window view instead of the toolbar view. But I strongly prefer the toolbar view.

0
Comment actions Permalink

The previous behaviour was far superior - this new UX is awful. It was one of my main reasons for using phpstorm over vscode - easy to diff stuff. Compare files is also very useful for unusual patch operations.

1
Comment actions Permalink

I agree with the commenters from above. Showing diffs into an embedded tab just doesn't work for me. Specially on smaller screens, you lose important viewing areas of the code. I don't care about having it embedded, it's way much better to be displayed in a new window, to be distraction-free and have a maximum viewing area for the diff. LIke Anders Andersen said:

You have also separated GIT from COMMIT -- I still need to understand the improvement.

is also a bad decision from my point of view as well.

I also argue about introduction of the checkbox in the Commit screen that's just not needed. Selection worked just fine.
Also, when actually committing changes, having a dedicated popup instead of embedded area felt much better, and gives the user a sense of completion for this kind of task, drawing to his attention as well.

Last, but not least, when doing a debug, the Step over (F6) takes forever if the current line contains an SQL query. However, the same is instant if you just Resume program (F8). I have tried adding:

127.0.0.1    localhost

::1          localhost

but that does not seem to make any difference. Any ideas?

I have used 2018.2 for couple years and man, that was the best Idea version that I've seen so far! Please go back with Git/ Diff issues back to the way they were, if possible!

Another issue: when selecting a tab with an open file, I would like to have it automatically selected on project structure as well, not having to press the target button on the left upper area to have it selected. Maybe that's now configurable, and I couldn't find it?

0
Comment actions Permalink

This:
reverts the Git functionality to the "old" style, by removing the "Commit" tool (which seems useless for me) and unifies with "Git" tool, and also commits are now performed into a dedicated modal window.

1
Comment actions Permalink

Agree to what others have said.
Putting the dif view as another file tab has several drawbacks:
- It's mixed with the files already open in the editor. Making it more difficult to interact with, and possibly getting lost there
- Trying to do a second diff continues where it was because it reuses the viev (when opened). Previously it opened a new modal
- Space is reduced and shared with the rest of the IDE which was not the case as a modal
- Conceptually makes editing and reviewing very similiar which messes with the flow of what you are doing. Your brain needs extra effort to understand this is a different action in a similar context, instead of doing a different action in a different context.


Please allow a configuration option to revert to previous behavior. I guess somebody will like the new integration, but for me is a pain every time I use it. Same reason I don't use the non-modal commit

0
Comment actions Permalink

EDIT: It was pointed out to me that there is a separate action which doesn't use this "synchronization" (link). So it is not as bad as I thought.

Old post: There is another problem with this new interface, which cannot be disabled with the checkbox. If you select another commit in the log, the content of the previously opened diff window will jump to this other commit. This means you can no-longer open two diffs for two different commits at the same time. I used to do this when comparing two commits.

This new synchronization of the diff window and the “source UI” is also used in other locations like the staging area. The added complexity of the implementation made the experience of the staging area a bit buggy (in an unreproducible way), which is quite annoying. For the last point, I created a bug ticket half a year ago (IDEA-281170).

This topic keeps frustrating me. I am rally wondering if I should finally go back to version 2021.1. :/

0

Please sign in to leave a comment.