Подключенный к Docker каталог и разрешение

У вас есть несколько вариантов:

  • Используйте параметры компилятора, чтобы установить ограничение на количество сообщений об ошибках, прежде чем компилятор полностью сдастся, как в другом ответе.
  • Используйте head, помня, что сообщения об ошибках , конечно же, отправляются на стандартную ошибку . Или используйте один из многих инструментов, используемых после -обработки выходных данных GCC. Также помните, что в современных версиях GCC, в которых принята модель clang, одна ошибка может занимать несколько строк, поэтому небольшое количество строк для headможет быть вообще не очень полезным.
  • Используйте средство разбивки на страницы, например pager, pg, moreили less, опять же помня, что сообщения об ошибках отправляются в стандартную ошибку .
  • Запустите команду компиляции в :terminalв NeoVIM, что обеспечивает довольно много прокрутки назад и, конечно же, все обычные последовательности клавиш навигации VIM для быстрого перехода к началу вывода и поиска.
  • Интеграция с вашим текстовым редактором.

Последний вариант наиболее интересен.Он бывает как минимум двух вкусов:

  • Запишите стандартный вывод + стандартная ошибка компилятора в файл и сообщите своему текстовому редактору, что он должен обрабатывать его как файл ошибок . В Vim и NeoVIM это делается с помощью
    vim -q errors_file
    и
    nvim -q errors_file
    , где вы, конечно, можете заменить имя по вашему выбору на errors_file.

    Откроется текстовый редактор с файлом ошибок, загруженным в буфер быстрого исправления, а файл для первого сообщения об ошибке или предупреждения будет открыт и расположен в строке с номером (и столбце )этой ошибки.

  • Запустите компилятор из своего текстового редактора. С Vim и NeoVIM, если у вас есть make-файл, его можно вызвать с помощью команды :make, а VIM/NeoVIM поместит вывод ошибки при запуске makeв список быстрых исправлений, снова автоматически позиционируя файл, строку и столбец. первого сообщения об ошибке или предупреждения.

С обоими из них, конечно, можно переходить от местоположения одного предупреждения/ошибки к другому, используя :cnextи различные другие команды навигации по списку быстрых исправлений Vim/NeoVIM, перечисленные в :help :cc. Обратите внимание, что нет причин ограничивать количество ошибок с помощью этих механизмов, и есть команды Vim/NeoVIM для возврата к позиции текущего сообщения или возврата к позиции первого сообщения.

В последнем случае можно также запускать :makeнесколько раз и переключаться между старыми и новыми списками ошибок, используя :colderи :cnewer. (Можно дополнительно изменить :makeдля запуска чего-то другого, кроме make, используя set makeprg, подробнее см. руководство VIM/NeoVIM.)

Аналогичные вещи можно делать и с emacs.

0
11.11.2019, 13:43
1 ответ

Как обычно. Дайте права на запись в данные www -на хосте, и он получит их в контейнере guest ().

1
28.01.2020, 03:07

Теги

Похожие вопросы