Skip to content

Test: New Diff Editor #186213

@hediet

Description

@hediet

Refs: #184164

Authors: @hediet
Complexity: 4

Create Issue


Context

This iteration, we rewrote the diff editor with three goals in mind: Getting the codebase into a better shape, fixing a bunch of bugs of the old diff editor and adding some new features/improvements.

Preparation

Make sure you set "diffEditor.experimental.useVersion2": true in your settings and restart VS Code (at the moment it is enabled by default for insiders, but we will disable that soon, as the new diff editor is still experimental and we might want to use experiments to roll it out some a small percentage of users).

Things To Test

  • Test that the new diff editor offers the same functionality as the old one
    • Diff two documents and verify you can spot the differences
    • Toggle Word Wrap and verify unchanged corresponding lines are still aligned
    • Open "peek call hierarchy" in either original or modified and verify that unchanged corresponding lines are still aligned
    • Verify going to next/previous diff works
    • Verify that the "Stage selected ranges" command still works (open a diff from the SCM view for that, you need to open a git repo)
    • Verify that the revert-arrow button in the gutter works
    • Verify that diffEditor.* settings are considered and have an immediate effect when you change them (e.g. disable the revert arrows). Try as many settings as you like.
    • Verify that you favorite feature of the diff editor still works
  • Test that the new features/improvements work:
    • "Collapse Unchanged Regions"
      Code_-_Insiders_LOHarmHQdy
      • This feature is meant to collapse unchanged code, so you can focus on the changes.
      • Try it out on two bigger documents that have some changes, but also have big regions of unchanged code
      • Check that the feature works as you would expect. Try to uncollapse the unchanged code in various ways.
      • Fee free to give feedback about your experience.
    • No flickering when opening or switching between diff editors in the same tab group
      • Some loading time is to be expected, but the shouldn't be sudden jumps
    • Optional: Try out the "Show Code Moves" feature (you can enable it with diffEditor.experimental.showMoves). This feature is still very unpolished and serves as a prototype of what to come. Feel free to give UX feedback/share ideas. (The new diff editor is still very experimental and will not replace the old diff editor in this release)

If you want to compare the new diff editor with the old diff editor to spot differences in functionality or behavior, use "diffEditor.experimental.useVersion2": false in a separate workspace. Make sure to reload VS Code after changing the value of that setting.

Things Not To Test

  • Any fixes of bugs in the old editor, as those are covered by bug issues.

Reporting Bugs

When you run into a bug, please try to reproduce in the monaco editor playground or share the original and modified file!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions