-
Notifications
You must be signed in to change notification settings - Fork 34.9k
Description
Refs: #184164
- anyOS @eleanorjboyd
- anyOS @lszomoru
- anyOS @roblourens
Authors: @hediet
Complexity: 4
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"
- 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)
- "Collapse Unchanged Regions"
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!