Список ошибок 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.
Код ошибки | Значение | Описание |
---|---|---|
SCC_I_SHARESUBPROJOK | 7 | Плагин поддерживает добавление файлов из системы управления версиями в два этапа. Дополнительные сведения см. в разделе SccSetOption. |
SCC_I_FILEDIFFERS | 6 | Локальный файл отличается от файла в базе данных системы управления версиями. (например, SccDiff может возвращать это значение). |
SCC_I_RELOADFILE | 5 | Локальный файл был изменен во время операции управления версиями ; среда IDE должна перезагрузить файл, если это возможно. |
SCC_I_FILENOTAFFECTED | 4 | Файл не затронут. | < /tr>
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 | Ошибка: тип файла, например, двоичного, не поддерживается системой управления исходным кодом. td> |
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. Окно вывода «волшебным образом» исчезает всякий раз, когда я этого не хочу, но если я внимательно присмотрюсь, то увижу, что сам автоматически нажимаю горячую клавишу :-)
Читайте также: