The evolution of the most popular tool of any developer (in Visual Studio)

In any development environment, there is a tool called “Output”. There is no need to describe what he does, since absolutely all developers use it in their work daily. It is simple and conservative.

In fact, it has not changed for decades and until then it looks something like this:

Text, text, and again text. A lot of text ...

Even in this tiny example, it’s not immediately clear where the line is with the error. In order to understand this, you need to make an effort and spend time. Just because you need to read the text and look for the words “error”, “exception” or “warning” in it. Look for the programmer, and pay the customer for the time spent on this.

Solution of the problem

What if the text in such messages is highlighted in red, and in the case of warnings, yellow? Will be better. So the authors of the VSColorOutput and Output Enhancer extensions for Visual Studio thought (hereinafter, for illustration, this IDE will be used).

It turned out like this:

Errors and warnings became noticeable without effort from the developers.
Great job and thanks for the handy tool.

Of course, this makes life easier for programmers, but still this is somehow not enough. A lot of information is output, and among this information is useless.

For example, why see a list of compiled files? Is there any way to hide this?
The author of the Output Window Filter extension asked himself such a question.

It turned out like this:

The result has become less, to deal with it has become easier. There are questions to the implementation, but the idea is wonderful.

Microsoft developers also contributed to the evolution of this tool by adding timestamps to it. To do this, they created the Time Stamp Margin extension .

It turned out the following:

It became more convenient. Now it is clear when and what was carried out, as well as how much time passed between the events.

Unresolved issues

Everything is fine, but there is a problem.

These wonderful extensions cannot work together, complementing each other's merits. And the sadder thing is that progress in ready-made solutions stopped there, leaving a number of problems unresolved.

Here is an approximate list of these problems:

1. Together with useful information, service information is also displayed;

2. There is no visualization of messages of the same type;

3. There is no way to search and highlight data of interest;

4. It is not obvious from which messages the transition to the source code is possible;

5. There is no way to quickly go to the description of the error;

6. In a multi-project compilation, it is not obvious to which project the messages relate;

7. For long messages you have to use horizontal scrolling;

8. The display of the stack trace is not optimized in any way;

9. There is no possibility of masking messages by type (errors, warnings, messages).


It is not difficult to notice that progress in improving this tool has not been observed for a long time. For decades, the most important tool has remained unchanged, and only a few enthusiasts are trying to improve something. This is what caused the MetaProject extension . It made an attempt to solve all the above problems.

What came of this can be seen in the example:


Do not ignore extensions to the development environment. There can be very useful tools that will save developers a huge amount of time, and customers a lot of money.
Moreover, almost all of these extensions are absolutely free.

Also popular now: