Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
There have been numerous complaints and feedback tickets around docum…
…ent munging in VB aspx scenarios during line commit for several years. The underlying issue is that the aspx editor resets all projection spans upon an impactful edit (eg, changing an <%= to an <%#), thus causing large diffs to be detected and seen as dirty ranges to incorporate into the commit. These large dirty ranges end up causing the line commit code behave poorly, throwing exceptions and modifying document contents in undesirable ways. (#71471) I believe the simplest and most effective way to address this is to simply remove all dirty state information upon projection spans reset. At the very worst, the user won't get line commit information when these spans weren't reset in an impactful way. I've verified that normal editing within the VB spans doesn't cause projection resets and thus continues to perform line commits as expected. Addresses https://developercommunity.visualstudio.com/t/aspx-code-corruption-with-ExternalSourc/10123117#T-ND10552491
- Loading branch information