mike-ward / VSColorOutput

Color highlighting to Visual Studio's Build and Debug Output Windows
MIT License
429 stars 93 forks source link

Prevent "disconnection" when output window content is saved to file #103

Closed Dmitry-Me closed 4 years ago

Dmitry-Me commented 4 years ago

This works around https://github.com/mike-ward/VSColorOutput/issues/68

Here's what happens. When Ctrl-S is used to save the output ITextBuffer.OnContentTypeChanged is fired and it's clear that content type is changed from "output" to "plaintext" and it's never changed back afterwards. Once this happens Visual Studio builds a new list of classifier objects which are willing to work with the same ITextBuffer object now having new content type.

The original code has ContentType set to "output" only so this plugin is ignored. The new code also allows to consider this plugin for "plaintext" content type. This works but it will also consider this plugin for text files in the solution. So this change tags previously known ITextBuffer objects which once were of "output" type so that it can recognize them later no matter how their content type changed.

mike-ward commented 4 years ago

Scheduled for v2.7