Хабрахабр

[Из песочницы] Эволюция самого популярного инструмента любого разработчика

В любой среде разработки есть инструмент с названием «Output». Нет нужды описывать что он делает, поскольку абсолютно все разработчики его используют в своей работе ежедневно. Он прост и консервативен.

По сути не менялся десятилетиями и до этих пор выглядит как то так:

Много текста...
Текст, текст и еще раз текст.

Для того чтобы это понять, нужно приложить усилия и потратить время. Даже в этом крошечном примере не сразу видно где строка с ошибкой. Программисту искать, а заказчику платить за потраченное на это время.
Просто потому что нужно читать текст и искать в нем слова “error”, “exception” или “warning”.

Решение вопроса

Что если подсветить текст в таких сообщениях красным, а в случае с предупреждениями — желтым? Будет лучше. Так подумали авторы расширений VSColorOutput и Output Enhancer для Visual Studio (далее, для иллюстрации, будет использоваться эта IDE).

Получилось вот так:


Ошибки и предупреждения стали заметны без усилий со стороны разработчиков.
Отличная работа и благодарность за удобный инструмент.

Информации выводится много, и среди этой информации есть бесполезная. Безусловно это облегчает жизнь программистам, но все равно этого как то мало.

Можно ли как то это спрятать?
Такой вопрос задал себе автор расширения Output Window Filter Например, зачем видеть список компилируемых файлов?

Получилось вот так:

К реализации есть вопросы, но идея замечательная.
Результат стал меньше, разбираться с ним стало проще.

Для этого они создали расширение Time Stamp Margin. Разработчики Microsoft также внесли свой вклад в эволюцию этого инструмента добавив в него временные метки.

Получилось следующее:

Теперь понятно когда и что выполнялось, а также сколько времени прошло между событиями.
Стало удобнее.

Нерешенные проблемы

Все прекрасно, но есть проблема.

А более печально то, что на этом прогресс в готовых решениях остановился, оставив нерешенным ряд проблем. Эти замечательные расширения не могут работать совместно, дополняя достоинства друг друга.

Вот приблизительный список этих проблем:

Вместе с полезной информацией отображается и служебная; 1.

Нет никакой визуализации однотипных сообщений; 2.

Нет возможности искать и подсвечивать интересующие данные; 3.

Не очевидно с каких сообщений возможен переход на исходный код; 4.

Нет возможности быстро перейти к описанию ошибки; 5.

При много-проектной компиляции не очевидно к какому проекту относятся сообщения; 6.

Для длинных сообщений приходится использовать горизонтальный скролинг; 7.

Отображение стек-трейса никак не оптимизировано; 8.

Отсутствует возможность маскировки сообщений по типам (ошибки, предупреждения, сообщения). 9.

Итоги

Не трудно заметить, что прогресса в улучшении данного инструмента давно не наблюдается. Десятилетиями важнейший инструмент остается неизменным, и лишь отдельные энтузиасты пытаются что то улучшить. Это и стало причиной появления расширения MetaProject. В нем сделана попытка решить все указанные выше проблемы.

Что из этого получилось, можно посмотреть на примере:

Заключение

Не игнорируйте расширения к среде разработки. Там могут быть очень полезные инструменты, которые сберегут разработчикам огромное количество времени, а заказчикам много денег.
Тем более что практически все эти расширения абсолютно бесплатны.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть