n1ro°
RU

Текст и данные · Инструкция

Как настроить ignore trim whitespace в VS Code Diff

Если сравнение забито изменениями отступов по краям строк, их можно скрыть именно в diff-представлении. Это настройка отображения сравнения: она не удаляет пробелы из файла и не исправляет форматирование.

Редакция N1RO · Проверено

Короткий ответ

Включите `diffEditor.ignoreTrimWhitespace`, если хотите не учитывать изменения ведущих и конечных пробелов при сравнении. Выключите параметр, когда проверяете форматирование и такие изменения должны быть видны.

Что скрывает ignoreTrimWhitespace

Параметр относится к Difference Editor и игнорирует изменения trim-whitespace при показе diff. Он полезен, когда нужно сосредоточиться на логических правках, но опасен как постоянный режим для ревью, где пробелы сами по себе значимы. Например, в Python отступы влияют на структуру кода, поэтому перед merge лучше хотя бы один раз посмотреть сравнение с выключенным игнорированием.

Важно: Используйте настройку как фильтр отображения, а не как способ «починить» пробелы.

Как переключить режим

  1. Откройте Settings и найдите Diff Editor: Ignore Trim Whitespace.
  2. Включите параметр для более чистого сравнения или выключите для полного diff.
  3. Откройте пару файлов с изменёнными пробелами по краям строк.
  4. Переключите настройку и сравните количество видимых изменений.
  5. Перед окончательным ревью верните режим, который соответствует правилам проекта.

Предупреждение: Если diff неожиданно стал пустым, не считайте файлы одинаковыми: проверьте сравнение с ignoreTrimWhitespace=false.

Что делать в разных задачах

  • проверить изменение логики. можно включить ignore trim whitespace, затем перепроверить полный diff
  • ревью форматирования. выключить игнорирование
  • удалить trailing spaces из файла. использовать trimTrailingWhitespace/formatter, а не diff setting

Почему это не заменяет форматтер

Difference Editor только решает, какие различия показывать. Содержимое рабочего файла, Git index и коммит от этой настройки не меняются. Если в репозитории появились лишние пробелы, исправьте их отдельным formatter, EditorConfig или `files.trimTrailingWhitespace`, а затем снова откройте diff. Это особенно важно перед code review: скрытый визуально whitespace всё равно попадёт в commit.

Совет: После включения фильтра полезно проверить `git diff --check` или другой инструмент проекта, если он контролирует whitespace.

Контроль перед коммитом

  • режим diff выбран осознанно;
  • полный diff просмотрен хотя бы один раз;
  • whitespace-sensitive файлы проверены без фильтра;
  • если пробелы нужно удалить, применён отдельный инструмент.

Как читать большой diff без потери важных изменений

При крупном рефакторинге сначала полезно посмотреть diff с отображением пробельных изменений, а уже затем временно скрыть trim whitespace. Первый проход покажет, не затронул ли formatter больше строк, чем ожидалось; второй поможет сосредоточиться на логике. Не используйте игнорирование пробелов как доказательство того, что изменения безопасны: оно меняет представление сравнения, а не содержимое файлов. Перед коммитом верните обычный режим и просмотрите хотя бы участки вокруг изменённых блоков, особенно для YAML, Python и других форматов, где пробелы могут влиять на структуру или читаемость.

Что учитывать

Difference Editor только решает, какие различия показывать. Содержимое рабочего файла, Git index и коммит от этой настройки не меняются. Если в репозитории появились лишние пробелы, исправьте их отдельным formatter, EditorConfig или `files.trimTrailingWhitespace`, а затем снова откройте diff. Это особенно важно перед code review: скрытый визуально whitespace всё равно попадёт в commit.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. August 2024 (version 1.93) — Manage whitespace in diff view). Пример и формулировки — редакция N1RO на 2026-09-23.