У меня есть заголовочный файл:
#ifndef __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__
#define __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__
#ifdef _DEBUG
// macros for turning a number into a string
#define STRING2(x) #x
#define STRING(x) STRING2(x)
#ifdef TRIAGE_MESG_AS_WARNING
#define TRIAGE_TODO_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : warning : TRIAGE TO-DO: " STRING(description) ))
#define TRIAGE_FIXTHIS_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : warning : TRIAGE FIXTHIS: " STRING(description) ))
#else
#define TRIAGE_TODO_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : message : TRIAGE TO-DO: " STRING(description) ))
#define TRIAGE_FIXTHIS_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : message : TRIAGE FIXTHIS: " STRING(description) ))
#endif
#else
#define TRIAGE_TODO_TAG(description)
#define TRIAGE_FIXTHIS_TAG(description)
#endif
#endif // __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__
Что выводит заметки на панель вывода в Visual Studio 2005. Когда определено значение "TRIAGE_MESG_AS_WARNING", Visual Studio будет собирать эти сообщения и отображать их как предупреждения в списке ошибок. Он делает это, потому что текстовый формат соответствует предупреждению. Тем не менее, я не хочу, чтобы они отображались как предупреждения все время, я бы предпочел, чтобы они отображались в панели "Сообщения" списка ошибок.
Как вы форматируете строки, которые вы вставляете в "Окно вывода", чтобы Visual Studio будут автоматически отображать их в Вкладка "Сообщения" в "Список ошибок" окно?
Формат, который у меня настроен для сообщений в приведенном выше коде, выглядит как сообщение с другого выхода, но не собирается таким же образом.
Сотрудник предложил мне, что мне может понадобиться написать "пользовательский объект автоматизации" для записи на панель "Сообщения" . Это похоже на боль, тем более, что тривиально заканчивать вводами на панели "Ошибка" и "Предупреждение" просто путем правильного формирования. Это возможный путь?
Мы используем неуправляемый С++, поэтому мы не можем полагаться только на управляемые (.NET) инструменты. Мы не хотим расширять VS с помощью крючков.