Текст и данные · Инструкция
Как настроить ignore trim whitespace в VS Code Diff
Если сравнение забито изменениями отступов по краям строк, их можно скрыть именно в diff-представлении. Это настройка отображения сравнения: она не удаляет пробелы из файла и не исправляет форматирование.
Короткий ответ
Включите `diffEditor.ignoreTrimWhitespace`, если хотите не учитывать изменения ведущих и конечных пробелов при сравнении. Выключите параметр, когда проверяете форматирование и такие изменения должны быть видны.
Что скрывает ignoreTrimWhitespace
Параметр относится к Difference Editor и игнорирует изменения trim-whitespace при показе diff. Он полезен, когда нужно сосредоточиться на логических правках, но опасен как постоянный режим для ревью, где пробелы сами по себе значимы. Например, в Python отступы влияют на структуру кода, поэтому перед merge лучше хотя бы один раз посмотреть сравнение с выключенным игнорированием.
Важно: Используйте настройку как фильтр отображения, а не как способ «починить» пробелы.
Как переключить режим
- Откройте Settings и найдите Diff Editor: Ignore Trim Whitespace.
- Включите параметр для более чистого сравнения или выключите для полного diff.
- Откройте пару файлов с изменёнными пробелами по краям строк.
- Переключите настройку и сравните количество видимых изменений.
- Перед окончательным ревью верните режим, который соответствует правилам проекта.
Предупреждение: Если 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.