Комментарии 84
Ну, например, сколько времени прошло между запросом на сервер и откликом.
Можно ли как-нибудь так закрыть окно Output, чтобы оно больше никогда само не открывалось? Толку от него ноль. Надоедает периодически закрывать.
Толку от него ноль.
Странно, самое полезное окно же )
Есть же окошко Error List со списком ошибок и предупреждений и без постороннего мусора, типа Build started/Build failed/Loaded module...
Или оно только для дотнета есть, а для cpp нет?
Плюс, там далеко не вся информация об ошибке, и читать её не удобно.
Тогда понятно. В C# одна реальная ошибка обычно не приводит к каскаду фантомных ошибок компиляции, поэтому всё равно, в каком порядке ошибки представлены в списке. Если в списке их три, скорее всего, их реально три в разных местах. А если они ещё сортируются по типу или алфавиту, то так даже удобнее.
Поэтому я в окно Output не смотрю и сразу закрываю, если появилось.
В C# при редактировании все ошибки подсвечиваются на лету прямо в тексте. В Error List смотреть не надо, у меня он обычно свёрнут. Т.е. в C# для меня окно Output вообще бесполезно; а Error List полезен эпизодически, если билд вдруг не сбилдился или там ещё можно включить/выключить показ предупреждений/предложений от статических анализаторов.
А вот как всё происходит в C++, я не в курсе.
Если бы Вы хоть раз его попробовали, то темы для этой дискуссии не было бы.
Но поскольку Вы не попробуете, то продолжайте верить в то, что ничего лучше «Error List» не придумано.
Вы сами написали, что в Error List есть недостатки и Вы к ним приспособились так, что они уже не мешают
Я такого не писал. Написал, что в Output не смотрю вообще и просто закрываю, там в основном мусор, который никто не просил. Что есть полезного, есть в Error List, но он тоже большую часть времени автосвёрнут. В процессе набора ошибки и так видно в тексте. Если билд не сбилдится, в Error List будет написано почему. Не особо вчитываясь тыкаешь в строку с ошибкой, открывается исходник, а в нём всё подчёркнуто, подсвечено, при наведении мышки тултипы выскакивают ― уж куда удобнее? Если в списке присутствует какая-то лишняя сейчас информация, можно штатно отфильтровать/пересортировать/настроить так, как больше нравится.
Output ― это ж тупо лог всего подряд. Я допускаю, что он может быть иногда полезен. Когда случается какая-то непонятная фигня непонятно почему, тогда открываешь лог и смотришь, что происходит. Но чтобы постоянно туда смотреть...
Ну и напоследок, чтобы закрыть тему.
«Error List» — это подмножество «Output», в котором попадает только то что генерится во время компиляции (и то не все). Рантайм вообще там не обрабатывается. Т.е. не использовать «Output» — это как отрезать себе одну ногу. Причем добровольно.
Ну что там реально полезного в рантайме? Логи у меня обычно выводятся в другое место и внутри VS не нужны. Необработанные исключения со стектрейсами видны и так; даже не в курсе, пишутся они в Output или нет. Что ещё?
Я знаю, что она делает, но мне не надо в Output. Если уж писать, то в отдельный файл. Чтобы в релизных версиях работало, чтобы логи сохранялись, чтобы можно было открыть посмотреть старые, чтобы дифы делать, чтобы с чужой машины было что получить...
Знаю, что Debug/Trace умеют направлять сообщения не только в Output, но и в другие места одновременно. Из этих других мест я их, скорее всего, и буду брать, когда понадобится.
Короче, вот это «все разработчики его используют в своей работе ежедневно» в первом абзаце явно зря было написано.
Думаю, на этом можно поставить точку в дискуссии.
Ну и еще, буду вам благодарен если вы будете обсуждать не слова, а суть. У вас к содержимому статьи замечания есть?
самого популярного инструмента любого разработчика (в Visual Studio)
И нет, не все и не ежедневно.
Я за неделю ни разу в него не заглянул, хотя и исправил три бага, сделал пару рефакторингов, доработал одну фичу… А вот из окошка юнит-тестов не вылезал. Да и в список ошибок заглядывал. А ещё обозреватель решений, call-stack, watch…
Вот смотрите, есть такое расширение VSColorOutput. У него на текущий момент 360725 установок. Это популярное расширение, но не важное. Без него можно спокойно обойтись. А вот компилятор или линкер — это важные инструменты. Без них обойтись нельзя.
Я утверждал и утверждаю, что Output это популярный инструмент, но никогда не говорил что он самый важный. Т.е. без него можно обойтись, если пользоваться другими инструментами. Но в любом случае другие инструменты заменители будут производными от Output и назначение у них будет сходное.
Надеюсь, что хотя бы этот комментарий закроет тему филологии.
Ну и наконец, я как и вы, вообще не использую «Output» и «Error List». Но не потому что они не нужны, а потому что перешел полностью на «MetaProject».
Да и вообще, у нас с вами уже была эта дискуссия.
Скажите, за прошедшее время, из тех фич, которые интересны мне, как потенциальному пользователю, что-нибудь появилось?
Если вы используете иногда «Output», то я его вообще не использую. Но все равно считаю, что инструмент самый популярный, поскольку в случае его не использования все равно используется его заменитель.
Относительно функционала, то очень много добавилось нового за то время, плюс порешал все детские болезни роста. Вы можете сами посмотреть на страничке историю релизов.
Завтра еще выложу новый релиз в котором будет реализована поддержка системы автоматизации сборки CMake и менеджера пакетов NPM.
Т.е. растем как по функционалу, так и по популярности ;)
для примера QtCreator — сама вкладка «Compile output» выводит ошибки красным тескстом, также имеется возможность сделать поиск по тексту выхлопа компиляции нажав Ctrl+F, также есть отдельно вкладка Issues, где будут отображаться только ошибки/варнинги с минимумом лишней информации



По стрелочкам, кстати, видно где есть переход на код, а где нет.
1. Слишком пёстро на мой вкус. Большинство строк я бы оставил просто серыми — например о том, какой проект куда записал бинарник.
2. Несколько пикселей от самой нижней строки съедает поле ввода фильтра, в итоге текст обрезан
3. Хорошо бы эту панельку автоматически открывать при начале сборки как это делает стандартный output
4. Иконки — привет из 90-х
Спасибо в любом случае ;)
1. Поддерживаются два режима — первый, когда по умолчанию раскрашивается все, а второй, когда по умолчанию не раскрашивается ничего. Переключаются режимы через выпадающее меню (пункт «Auto colorize»);
2. Я согласен с Вами, что вертикальный размер более приоритетный, но это тот минимум, в который я могу уместить все что требуется. Речь идет, в том числе, и о дополнительных возможностях, которые появятся в новых версиях;
3. Вы имеете в виду режим, когда панель прилеплена к кромке, и скрыта?
4. «Не стреляйте в пианиста, он играет как умеет». Я все таки не дизайнер :)
2. Проблема была в том, что самая нижняя строка была обрезана (перекрыта полем ввода) примерно по середине по высоте. Не могу воспроизвести.
3. Да
В общем норм тулза, удачи в дальнейших улучшениях!
2. Ели это так, то это баг. Буду пробовать воспроизвести ситуацию…
3. В следующей минорной версии это будет сделано.
Тем более называть эволюцией кастомную раскраску…
Хотя сама попытка существенно улучшить это окно — хорошая идея.
Вот есть ли у вас группировка событий в окне вывода при сборке по проектам? Так, чтобы можно было по умолчанию оставить только одну строку с результатом билда, и раскрывать детали по клику?
Есть возможность одним кликом включать/выключать показ только ошибок, предупреждений?
А учитываются ли как ошибки неудачные вызовы утилит командной строки?
А почему нельзя нормально копировать текст, как в обычном окне вывода?
Настроек нет совсем на столько, что стандартном меню настроек есть только текст лицензии?
Где нибудь можно почитать описание фич, настроек, планов развития?
Отвечая на цитату:
Once you see this extension, you will forget standard output window
Нет, мне стандартное окошко вывода с имеющимся плагинами удобнее.
Относительно всего остального, попробую ответить по порядку:
1. Группировки по проектам нет и не будет. Не вижу в этом смысла.
2. В будущем будет создан дополнительный инструмент, в котором будет отображаться статус компиляции для всех проектов, и уже в этом окне, для каждого проекта, можно посмотреть его личный лог, в том же дизайне и с теми же возможностями, которые Вы видите сейчас для всех проектов.
3. Фильтрация ошибок/предупреждений/сообщений будет реализована в следующей минорной версии «1.0.5», вместе с реализацией пожеланий из комментариев выше, и фиксом некоторых багов. Думаю, что сегодня (17.06.2019) это уже будет готово.
4. Насчет «ошибок командной строки» не понял вопроса. Поясните пожалуйста, что имеется в виду.
5. Копировать текст, как Вы привыкли, нельзя потому что это не текст. В этом расширении есть одно фундаментальное отличие от всего что сделано до него. Все разработчики «Output» и существующих расширений, делали этот функционал из утверждения, что «Output» — это текст. Я первый, кто стал утверждать что «Output» — это НЕ текст. Кто окажется прав, покажет время.
6. Настройки появятся для дополнительного функционала, где это будет обосновано. Текущий функционал настроек не требует.
7. Готовится видео-презентация возможностей расширения.
8. Относительно планов развития — на фейсбуке сделал группу в которой готов это обсуждать с теми, кто заинтересован в развитии данного проекта. Если Вам это интересно, подписывайтесь.
Ну и наконец, я не ставлю цель изменить вкусы разработчиков.
Кто хочет пользоваться чем то другим, пусть пользуется.
Я, например, не знаю чего то более используемого чем «Output».
Так уже честнее — этот инструмент популярен у вас лично.
Ок, тогда вопрос, а какие задачи вы с его помощью решаете? Я иногда ищу там ошибки компиляции, очень редко посматриваю вывод трассировки.
1. Группировки по проектам нет и не будет. Не вижу в этом смысла.
А мне кажется удобным по умолчанию видеть при сборке только статус каждого проекта. Остальная портянка только мешает, как бы она не была раскрашена.
4. Насчет «ошибок командной строки» не понял вопроса. Поясните пожалуйста, что имеется в виду.
Для сборки некоторых типов проектов студия может вызывать дополнительные команды. Например — вызов nodejs. Вывод этих команд также попадает в окно вывода, а результат билда оценивается по коду возврата этой команды.
Я первый, кто стал утверждать что «Output» — это НЕ текст. Кто окажется прав, покажет время.
Сильно утверждение :). Ближе к правде — там не только текст. Но текст более универсален как способ представления. И я знаю способ, как можно совместить дополнительные возможности с текстовым представлением.
6. Настройки появятся для дополнительного функционала, где это будет обосновано. Текущий функционал настроек не требует.
Очень сильное утверждение. Вы уверены, что выбранная вами цветовая гамма идеальна?
7. Готовится видео-презентация возможностей расширения.
Это хорошо для фэйсбучека, на сайте проекта лучше текстом.
Ну и наконец, я не ставлю цель изменить вкусы разработчиков.
Кто хочет пользоваться чем то другим, пусть пользуется.
И как это соотносится с заглавным утверждением на страничке расширения?
А мне кажется удобным по умолчанию видеть при сборке только статус каждого проекта. Остальная портянка только мешает, как бы она не была раскрашена.Насколько я понимаю, Вы сейчас пользуетесь каким то расширением, которое уже это делает, и возможно делает еще что то крутое? Можно узнать его название?
Относительно возможности это сделать — готов согласиться с тем, что можно добавить еще фильтрацию по проектам. Ну типа комбобокса, в котором будет возможность выбрать интересующий проект. Это будет полезно.
Вывод этих команд также попадает в окно вывода, а результат билда оценивается по коду возврата этой команды.Все что Вы видите в стандартном «Output» отображается в «MetaProject». Коды возврата пока не учитываются. Посмотрю как это можно сделать. Вопрос чисто технический.
Сильно утверждение :). Ближе к правде — там не только текст. Но текст более универсален как способ представления. И я знаю способ, как можно совместить дополнительные возможности с текстовым представлением.Покажу Вам одну картинку. Думаю это закроет дискуссию, что лучше «текст» или «не текст».

Очень сильное утверждение. Вы уверены, что выбранная вами цветовая гамма идеальна?Нет никакой цветовой гаммы. Вы можете менять цвета для любого сообщения (или вообще их убирать), просто кликая мышкой на поле с временной меткой.
Это хорошо для фэйсбучека, на сайте проекта лучше текстом.На сайте это уже описано текстом. Этого никто не читает. Ну или почти никто…
Ну и напоследок.
Я взрослый человек, и понимаю, что не смогу убедить 100% тех к кому обращаюсь.
Потому и не ставлю себе такую задачу.
Есть люди, которые используют мой продукт. Эффективность их работы я буду увеличивать, совершенствуя свой продукт.
Есть люди которых и так все устраивает. Желаю им удачи, и наши миры с ними не пересекутся.
Каждому свое…
Если бы нормально работала интеграция с git+jira, то в этом списке был бы и Team Explorer, которым я часто пользовался, когда работал с TFS.
В output иногда заглядываю, когда билд падает, да и то не каждый раз.
Про сворачивание итогов билда проекта до одной строки — было когда-то, очень давно, сейчас ничего подобного найти не могу, а разглядывать портянку не хочу.
Про фильтрация по проектам — у студии есть режим вывода «Build Order» — там уже все записи по каждому проекту сгруппированы.
Покажу Вам одну картинку. Думаю это закроет дискуссию, что лучше «текст» или «не текст».По картинке не пойму, какова цель такого отображения.
Но то, о чём я говорю, можно сделать на html. Там и активные элементы и текст, который можно выделить.
Вы можете менять цвета для любого сообщения (или вообще их убирать), просто кликая мышкой на поле с временной меткой.Это не интуитивно. А экспортировать/импортировать цветовую схему можно?
На сайте это уже описано текстом. Этого никто не читает. Ну или почти никто…Да потому что читать нечего. Есть список фич, но не понятно ни как они работают, ни как ими пользоваться, ни как это настраивать.
Я взрослый человек, и понимаю, что не смогу убедить 100% тех к кому обращаюсь.Ну так может и не делать таких громких заявлений, типа «Once you see this extension, you will forget standard output window»?
Потому и не ставлю себе такую задачу.
Про фильтрация по проектам — у студии есть режим вывода «Build Order» — там уже все записи по каждому проекту сгруппированы.«Build Order» — он выполняет только группировку. Не фильтрацию. Расширений, которые делают фильтрацию на текущий момент нет. По крайней мере для Visual Studio. «MetaProject» будет первым…
По картинке не пойму, какова цель такого отображения.Когда Вы эти данные представите в виде текста, весь текстовый лог станет не читаемым. Просто потому что на одну строку в логе, будет дасятки-сотни-тысячи строк детализации.
Но то, о чём я говорю, можно сделать на html. Там и активные элементы и текст, который можно выделить.Вы по прежнему мыслите в парадигме «Output — это текст», как и все остальные разработчики. Парадигма «НЕ текст» не означает что нельзя реализовать режим в котором можно сделать многострочное выделение текста. Технически это не сложно. Я просто не вижу в этом смысла.
Это не интуитивно.Не интуитивно — согласен, но зато это экономит место для полезной информации.
А экспортировать/импортировать цветовую схему можно?Реализовать это не сложно. Для меня не ясен только один вопрос. Зачем?
Ну так может и не делать таких громких заявленийЧтение первых десяти слов — это то, что человек обычно готов потратить на то, чтобы принять какое то решение. Попробуйте придумать десять слов, которыми можно описать уже хотя бы то, что Вы уже знаете об этом продукте. Я думаю у Вас не получится.
А критиковать всегда проще чем делать…
По списку перечисленных расширений можно сделать вывод, что Вы код не пишите.Как раз в студии я именно код и пишу. Текущий основной солюшен на сотню проектов под .net.
И я перечислял не расширения, а самые часто используемые мной инструменты студии, не считая, конечно, окна ввода кода :).
«Build Order» — он выполняет только группировку. Не фильтрацию.я пока не придумал, зачем мне фильтрация бы пригодилась, но вот сворачивание/разворачивание всего лога одного проекта до одной строки — было бы удобно.
Вы по прежнему мыслите в парадигме «Output — это текст», как и все остальные разработчики.Отнюдь. Я просто полагаю, что всё увиденное можно отобразить в виде html, и при этом получить преимущества обоих подходов.
Не интуитивно — согласен, но зато это экономит место для полезной информации.А почему не сделать «как у всех», т.е. не вынести в настройки расширения в стандартное место?
Реализовать это не сложно. Для меня не ясен только один вопрос. Зачем?Затем же, зачем эта возможность есть в студии и других расширениях — перенос удобных настроек между рабочих мест.
Попробуйте придумать десять слов, которыми можно описать уже хотя бы то, что Вы уже знаете об этом продукте.Меня в авторы не звали, чтобы я решал эту задачу :). Но сейчас ни название расширения, ни вводная фраза ничего не говорят о сути. А оная фраза слишком амбициозна на фоне остального наполнения странички.
я пока не придумал, зачем мне фильтрация бы пригодилась, но вот сворачивание/разворачивание всего лога одного проекта до одной строки — было бы удобно.Это и есть фильтрация
Отнюдь. Я просто полагаю, что всё увиденное можно отобразить в виде html, и при этом получить преимущества обоих подходов.Достаточно забавно читать этот совет :)
Скорее всего Вы удивитесь, когда я скажу, что самое сложное в функционале что Вы видите — это добиться приемлемого быстродействия. Так чтобы никакого размера данные не влияли на скорость визуализации этих данных. Т.е. при миллионе сообщений в логе, визуализация должна идти с такой же скоростью как если там всего одно сообщение. И скорость эта должна измеряться единицами миллисекунд. И наличие фильтров не должно влиять на скорость, и добавление новых данных в этот список не должно оказывать вообще никакого влияния на скорость работы отлаживаемой программы (в стандартном «Output» это не так). И вот Вы предлагаете взять и встроить веб браузер для этих целей…
И что мне в этом случае делать «Подождите идет загрузка...»? А потом «Page1, Page2, Page3,… PageN»?
Забавно… :)
Затем же, зачем эта возможность есть в студии и других расширениях — перенос удобных настроек между рабочих мест.Я не только являюсь автором этой программы, я еще и ее пользователь. Так вот, как пользователь у которого самый большой опыт использования этого расширения, могу сказать. Цвета добавлены не для красоты. Они имеют только один смысл — визуально разделять различные группы сообщений. Какой цвет имеет какое сообщение — вообще роли не играет. Главное чтобы разнородные сообщения были заметны при беглом взгляде на них (без чтения). Потому и считать что они имеют какую то ценность — бессмысленно.
А оная фраза слишком амбициозна на фоне остального наполнения странички.Ну пусть и остается амбициозной. Авансом. Вы же наверное не знаете, что и цели у меня амбициозные… :)
Скорее всего Вы удивитесь, когда я скажу, что самое сложное в функционале что Вы видите — это добиться приемлемого быстродействия.Нет, не удивлюсь — мне это очевидно. И очевидно, что у каждого решения есть своя цена. Чего будет стоить впилить туда html — я не знаю, но я бы попробовал :)
Или может есть нечто более быстродейственное? Тот же редактор кода — в нём уже есть всё, что нужно…
Ну пусть и остается амбициозной. Авансом.У таких авансов бывает оборотная сторона — могут наставить негативных оценок, потом продвигать сложнее будет. Но это уже ваше решение. Может я зря агрюсь :)
Чего будет стоить впилить туда html — я не знаю, но я бы попробовал :)Просто поверьте, на этот раз на слово, средства выбраны адекватно. Я много раз переделывал проект и менял архитектуру, именно при попытке решить все указанные проблемы. Они решены. Нет смысла возвращаться в начальную точку, и начинать все сначала…
Или может есть нечто более быстродейственное? Тот же редактор кода — в нём уже есть всё, что нужно…
Кстати, есть еще одна задача, которая решена в текущей реализации, но ее пока не видно. Портируемость под разные компиляторы и платформы. Это будет следующим этапом развития проекта, а на этом этапе уже заложен крепкий фундамент.
У таких авансов бывает оборотная сторона — могут наставить негативных оценок, потом продвигать сложнее будет.На текущем этапе основная моя проблема не то, что есть негативные оценки (их, на удивление, очень мало), а то что о продукте никто не знает. Собственно аналогичная проблема у абсолютно всех стартапов.
А критиковать всегда проще чем делать…
Конечно так! :)
Вы выставили своё творение на публику. Критика — наиболее ожидаемое последствие.
Но, по идее, именно она позволяет сделать продукт ещё лучше.
Повторюсь, сама идея улучшения этого инструмента мне интересна, и я пытаюсь указать на видимые мне недостатки и предложить идеи для улучшения.
Вы имеете в виду яркость подсветки строки при размещении над ней курсора, или цвет выделенного текста?
Ну а за добрые слова, спасибо.
2. Вторая часть комментария просто про улучшение визуализации. Сейчас в Metaproject цвет текста остается неизменным (не настраиваемым, насколько я понял) для большинства типов сообщений. Строка с текстом имеет более низкую цветовую насыщенность, чем в колонке слева. Понимаю, что смысл плагина немного в другом, но если бы в приложенном скрине текст успешного билда был бы, например,
#00ff22
было бы визуально приятнее.
1. Копирование можно сделать для строки выделив ее. Она в этом случае появляется в текстовом поле для поиска. Дальше со строкой можно делать все что угодно, в том числе и копировать. Однако в будущем будет сделан механизм импорта/экспорта. Этим механизмом можно сохранить весь вывод в интересующем формате. В финальной стадии — это будет любой возможный формат в котором представляются логи. Один из форматов — «Plain Text» где будет представлен текст AS IS.
2. В старых версиях MetaProject — именно такое поведение как вы описали и было. В новых это переделано на то, что вы видите сейчас. Установив старую версию расширения с сайта вы можете сами с этим поиграться, и определить что лучше по результатам использования. Ну и напоследок, цвета настраиваются по желанию пользователя одиночным кликом на поле с временной меткой в сообщении.
И еще, спасибо вам за предложения по улучшению расширения.
Для меня это ценно, даже когда идеи не идут в разработку.
Копирование можно сделать для строки выделив ее
*Закрывает стандартный output, оставляя только MetaProject
Буду благодарен вам если вы вышлите видео или опишите более подробно проблему.
Относительно, того что копирование обеспечивается не очевидным образом — я с этим согласен, но пока не придумал как его обеспечить не ломая концепцию MetaProject.
Если есть какие то идеи относительно этого, с радостью их выслушаю, и готов их реализовать.
Эволюция самого популярного инструмента любого разработчика (в Visual Studio)