Список ошибок Visual Studio

Обновлено: 21.11.2024

Чтобы отобразить список ошибок, выберите «Просмотр» > «Список ошибок» или нажмите Ctrl+\+E.

Как создать список ошибок в Visual Studio?

В меню «Инструменты» > «Параметры», «Проекты» и «Решения» есть параметры «Всегда показывать список ошибок, если сборка завершается с ошибками» и «Показывать окно вывода при запуске сборки», которые автоматически отображают окна ошибок/вывода непосредственно перед запуском. отладка.

В каком окне будет отображаться информация об ошибке компилятора?

В окне результатов под редактором есть два окна с вкладками: окно вывода, содержащее необработанные выходные данные компилятора (включая сообщения об ошибках); и окно Список ошибок, которое предоставляет сортируемый и фильтруемый список всех ошибок и предупреждений.

Что составляет список ошибок в Visual Studio?

В процессе сборки я использую несколько пользовательских инструментов, в основном генераторы кода для ссылок на сервисы, шаблоны T4 и тому подобное. Когда они вызывают ошибки или предупреждения, они отображаются в окне списка ошибок, как и ожидалось.

Почему ошибка компиляции не отображается в Visual Studio?

Фактическая ошибка компиляции, которую я представил, по-прежнему не отображалась в списке ошибок. Однако после перезапуска Visual Studio список ошибок начал сообщать об ошибке компиляции. Это workwed для меня тоже. У меня VS2017 (v15) и PendingDeletions были в узлах v14 в реестре.

Когда ошибки появляются в списке ошибок?

Когда они вызывают ошибки или предупреждения, они отображаются в окне списка ошибок, как и ожидалось. Однако, если я выполняю сборку, перестроение или очистку какой-либо части решения, которая не затрагивает ошибки, созданные ранее (скажем, я не создаю проект, в котором произошел сбой импорта ссылки на службу), старый список все еще отображается.

Как очистить окно «список ошибок» перед компиляцией?

Однако я обнаружил, что Visual Studio (VS) не всегда очищает окно «Список ошибок» от существующих ошибок при компиляции другого проекта, а просто добавляет в него новые ошибки. Более того, VS даже автоматически анализирует некоторые проекты за кулисами и на лету заполняет окно «Список ошибок».

Visual Studio: можно ли сделать так, чтобы список ошибок всегда отображался при сбое сборки/запуска?

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

Если я правильно помню, я думаю, что список ошибок появлялся автоматически каждый раз, когда сборка/запуск завершалась с ошибкой. Но в последних версиях VS кажется, что он автоматически появляется только при первом сбое сборки/запуска после успешной сборки/запуска (или вообще без предыдущей сборки/запуска). То есть в следующем сценарии он не появляется автоматически.

Я нажимаю "Создать", и все получается.

Я редактирую код и делаю 3 ошибки.

Я нажимаю "Создать", и автоматически появляется список ошибок.

Я скрываю список ошибок.

Я исправил 2 из 3 ошибок.

Конечно, в приведенном выше сценарии код не запускается, поскольку в нем осталась 1 ошибка, а список ошибок не отображается. Я должен щелкнуть список ошибок вручную. Это задуманное поведение или ошибка?

Как вы скрыли список ошибок?

Убедитесь, что в меню "Инструменты", "Параметры", "Проект и решения", "Общие" выбран параметр "Всегда показывать список ошибок, если сборка завершается с ошибками".

Я нажал кнопку "Автоматическое скрытие". Этот параметр уже был выбран.

Эта проблема не воспроизводится на вашем компьютере? Вот запись экрана: https://imgur.com/a/cysFjM0 (Этот сайт тупо не позволяет прикрепить "MP4", поэтому мне пришлось загрузить его на imgur, что портит качество видео.) Как видите, когда я нажал «Выполнить» после создания 3 преднамеренных ошибок, автоматически появился список ошибок. Но когда я снова нажал «Выполнить» после исправления 2 из 3 ошибок, список ошибок не появился, и мне пришлось щелкнуть «Список ошибок» вручную.

Мне кажется, что это особенность автоматического скрытия (которое я не использую).
Для меня (используя последнюю предварительную версию VS) с включенным автоматическим скрытием всплывают панели вывода и ошибок. на мгновение вверх (слишком быстро, чтобы быть полезным).
Можете ли вы отправить отчет об ошибке с помощью средства VS Report a Problem и опубликовать здесь ссылку на свой отчет, чтобы мы могли его найти.
Будьте уверены предоставить запись экрана с отчетом (такая возможность есть у инструмента).

Я видел подобное, как указано в ОП. Иногда меня удивляют ошибки сборки, и список ошибок не перемещается вперед. Я не вижу закономерности, позволяющей легко воспроизвести или объяснить проблему.

С моими настройками VS обычно ведет себя в соответствии с моими предпочтениями. Я предпочитаю вывод на передний план в начале сборки. Затем, если ошибок нет, оставайтесь на выходе, в противном случае ошибки на передний план. Когда запуск F5 вызывает сборку, а сборка вызывает ошибки, VS спрашивает вас о запуске предыдущей версии.Если вы говорите да, вы идете. Если вы скажете «нет», то я предпочитаю «Ошибки вперед». Я сталкиваюсь с таким поведением большую часть времени, но иногда нет, поэтому я сочувствую ОП.

Были комментарии о том, что стыковка усугубляет проблему. Может быть, они связаны, но они не должны быть. Мои предпочтения «вперед» сохраняются независимо от того, пристыкован он или плавает. Я думаю, что большинство согласится с тем, что изменение Z-порядка в VS должно быть независимым от пристыкованного и плавающего.

Когда API-функция модуля управления версиями возвращает ошибку, ожидается, что это будет один из следующих кодов ошибки. Все ошибки отрицательные, предупреждения или информационные коды ошибок положительные, успех равен 0.

< /tr> < tr>
Код ошибки Значение Описание
SCC_I_SHARESUBPROJOK 7 Плагин поддерживает добавление файлов из системы управления версиями в два этапа. Дополнительные сведения см. в разделе SccSetOption.
SCC_I_FILEDIFFERS 6 Локальный файл отличается от файла в базе данных системы управления версиями. (например, SccDiff может возвращать это значение).
SCC_I_RELOADFILE 5 Локальный файл был изменен во время операции управления версиями ; среда IDE должна перезагрузить файл, если это возможно.
SCC_I_FILENOTAFFECTED 4 Файл не затронут.
SCC_I_PROJECTCREATED 3 Проект был создан во время операции системы контроля версий (например, во время вызова SccOpenProject, когда указан флаг SCC_OP_CREATEIFNEW).
SCC_I_OPERATIONCANCELED 2 Операция отменена.
SCC_I_ADV_SUPPORT< /td> 1 Плагин поддерживает дополнительные параметры для указанной команды. Дополнительные сведения см. в разделе SccGetCommandOptions.
SCC_OK 0 Успешно.
SCC_E_INITIALIZEFAILED -1 Ошибка: ошибка инициализации.
SCC_E_UNKNOWNPROJECT -2< /td> Ошибка: проект неизвестен.
SCC_E_COULDNOTCREATEPROJECT -3 Ошибка: не удалось создать проект .
SCC_E_NOTCHECKEDOUT -4 Ошибка: файл не извлечен.
SCC_E_ALREADYCHECKEDOUT -5 Ошибка: файл уже извлечен.
SCC_E_FILEISLOCKED -6 Ошибка: файл заблокирован.
SCC_E_FILEOUTEXCLUSIVE -7 Ошибка: файл извлечен исключительно.
SCC_E_ACCESSFAILURE -8 Произошла проблема с доступом к системе контроля версий, вероятно, из-за проблем с сетью или соперничеством. Рекомендуется повторить попытку.
SCC_E_CHECKINCONFLICT -9 Ошибка: во время регистрации возник конфликт.
SCC_E_FILEALREADYEXISTS -10 Ошибка: файл уже существует.
SCC_E_FILENOTCONTROLLED< /td> -11 Ошибка: файл не находится под контролем исходного кода.
SCC_E_FILEISCHECKEDOUT -12< /td> Ошибка: файл извлечен.
SCC_E_NOSPECIFIEDVERSION -13 Ошибка: нет указанная версия.
SCC_E_OPNOTSUPPORTED -14 Ошибка: операция не поддерживается.
SCC_E_NONSPECIFICERROR -15 Неспецифическая ошибка.
SCC_E_OPNOTPERFORMED -16 Ошибка, операция не выполнена.
SCC_E_TYPENOTSUPPORTED -17 Ошибка: тип файла, например, двоичного, не поддерживается системой управления исходным кодом.
SCC_E_VERIFYMERGE -18 Файл был автоматически объединен, но не проверен, поскольку ожидает проверки пользователем.
SCC_E_FIXMERGE -19 Файл был автоматически объединен, но не зарегистрирован из-за конфликта слияния, который необходимо разрешить вручную .
SCC_E_SHELLFAILURE -20 Ошибка из-за сбоя оболочки.
SCC_E_INVALIDUSER -21 Ошибка: пользователь недействителен.
SCC_E_PROJECTALREADYOPEN - 22 Ошибка: проект уже открыт.
SCC_E_PROJSYNTAXERR -23 Синтаксическая ошибка проекта .
SCC_E_INVALIDFILEPATH -24 Ошибка: неверный путь к файлу.
SCC_E_PROJNOTOPEN -25 Ошибка: проект не открыт.
SCC_E_NOTAUTHORIZED -26 Ошибка: пользователь не авторизован для выполнения этой операции.
SCC_E_FILESYNTAXERR -27 Синтаксическая ошибка файла.
SCC_E_FILENOTEXIST -28 Ошибка, локальный файл не существует.
SCC_E_CONNECTIONFAILURE -29 Ошибка: произошел сбой соединения.
SCC_E_UNKNOWNERROR -30 Неизвестная ошибка.
SCC_E_BACKGROUNDGETINPROGRESS -31 Выполняется фоновая операция получения.

Макросы для быстрой проверки

Примечания

Все функции API подключаемого модуля системы управления версиями (кроме SccAdd, SccCheckin и SccDiff) должны выполняться успешно, если локальные файлы, передаваемые в качестве аргументов, не существуют в рабочей папке. Например, среда IDE может выполнить вызов SccCheckout или SccUncheckout для файла, который не существует в рабочей папке, но существует в системе управления исходным кодом. Этот вызов увенчается успехом. Только когда в рабочей папке или в системе управления исходным кодом нет файла, ожидается, что функция завершится ошибкой.

Некоторые функции, такие как SccAdd и SccCheckin , должны специально возвращать SCC_E_FILENOTEXIST, когда файл в рабочей папке не существует. Ожидается, что другие функции завершатся успешно, если рабочий файл не существует, если функции работают с допустимым именем файла в системе управления версиями.

Подключаемый модуль системы управления версиями не должен делать никаких предположений относительно прав доступа к файлу в рабочей папке, даже если подключаемый модуль пометил файл как доступный только для чтения во время какой-либо операции. Файл в рабочей папке можно перемещать, удалять и изменять вне контроля плагина.

После многих лет закрытия этих двух окон после сеанса отладки мне пришло в голову, что может быть способ отключить их. Обычно я открываю окно вывода во время отладки и периодически проверяю список ошибок на наличие предупреждений и всегда могу получить к ним доступ, если захочу. Надеетесь, что кто-то еще знает, как остановить поведение по умолчанию?

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

По крайней мере, в 2008 и 2010 годах. Я могу закрыть окно вывода во время проектирования и отладки, и оно всегда возвращается, как только сеанс отладки заканчивается. Не на 100 % уверен в списке ошибок.

1 Ответ 1

Visual Studio запоминает макет окна для кодирования и отладки отдельно, поэтому удаление окна вывода во время отладки не повлияет на состояние "кодирования" — перед отладкой необходимо закрыть окно вывода. или он снова появится после завершения отладки.

В меню "Инструменты" > "Параметры", "Проекты" и "Решения" есть параметры "Всегда показывать список ошибок, если сборка завершается с ошибками" и "Показывать окно вывода при запуске сборки", которые автоматически отображают окна ошибок/вывода непосредственно перед запуском. отладка. Это может быть причиной добавления окна ошибки/вывода, которое затем снова появляется при выходе из режима отладки.

У меня есть окно вывода, "закрепляемое" и закрепленное открытым. Когда я хочу его увидеть, я использую ctrl+alt+O, а чтобы избавиться от него, я нажимаю на него и Shift-Escape. Окно вывода «волшебным образом» исчезает всякий раз, когда я этого не хочу, но если я внимательно присмотрюсь, то увижу, что сам автоматически нажимаю горячую клавишу :-)

Читайте также: