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.

21
22 comments

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!

12

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
Avatar
Permanently deleted user

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

It will remember for next time

8

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

13

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

1

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
Avatar
Permanently deleted user

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

+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

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
Avatar
Permanently deleted user

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

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

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.

12
Avatar
Permanently deleted user

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

1

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

@Anthony Kumar many thanks

you resolved a lot of frustration of this behaviour 

0

Popao Thanks for that lifesaver (brings back old behaviour without new "commit" tab and workarounds for fast review of current changes)!

2

No problem, I'm glad that it was helpful also for somebody else.

0

This is highly annoying. Thanks to this thread I've found ways to revert some things to the old behaviour. But today I ran into another issue which I can't find a fix for. 

Workflow:

  1. Select line
  2. Show history for selection
  3. Find an offending commit
  4. Right click > show all affected files

Show all affected files used to open (iirc) in the Git pane, and you could show its individual files' diffs in the same pane, so you could resize that pane and compare it with the current code side by side. But now the diff opens in an editor tab or a free-floating window, not in a fixed pane, which is very annoying to manage compared to a fixed pane that you can send to the bottom left or something. Please fix this 

😭

1

If you just want the diff in a separate window, the following works as of Intellij 2023.1

When already in the Diff tab, click settings, and select "Show diff in a separate window".

 

 

 

A total life-saver for me, hope it helps.

1

Don't see "Show Diff in Separate Window" in CLion 2023.1.1.

I have "Open Diff as Editor Tab" setting unchecked as well. Fwiw, the old window was much better ... easy to move between different files in a change list, etc.

1

It is interesting to see how big a damage the change JetBrains did have had.
Now it seems to be possible to bring the solution back into "Separate Window" in a way that is doable.

I still phase the problem when I come to new client sites and have to use a client specific IntelliJ. 
I think "Oh shit, how was it that I fixed this the last time..?", and 10 minutes later I have it working.

Still it is friction. :-) 

 

 

 

0

Please sign in to leave a comment.