You have to admit in some software "Discard" means "Cancel". Having to choose between "Discard" and "Cancel" might sound nonsensical.<p>These are language subtelities that might be hard to translate to other languages, or to be understood by junior programmers or non-native speakers. Keep in mind that VSCode is a tool often recommended in bootcamps, etc.<p>Reminds me of the infamous modal question "Are you sure you want to cancel?" / "OK", "Cancel".
'Discard' in VSCode obviously means a 'git checkout' and this 'VSCode user' failed to read 'IRREVERSIBLE' and he clicked discard. The computer can never deletes your work automatically, it is always you telling it to.<p>Don't say VSCode didn't warn you.
I think their over-reaction is hilarious.<p>Language and UX are important. English words have different meanings to different people in different parts of the world, so it's important to localize to the various regions by using slightly more appropriate words and use congruent iconography with it to convey exactly what would happen with the "least surprise" principle. It's difficult to say what they thought that word meant at the time.<p>For example, in a real estate game:<p>The British "Let" and American "Rent" mean the same thing in their respective countries. However, in America, "Let" means only to allow or suppose, not sign a lease or rental agreement.
All things considered it is not VSCode faults for following git standard usage, but this does not mean that it was not a user hostile functionality. This is essentially git fault as `git checkout` is a dark and evil command.<p>Whether we have normalized low standard for usability is irrelevant.