Непреднамеренные последствия.editorconfig indent_size

С помощью файла https://editorconfig.org/ я могу, помимо прочего, настроить, как Visual Studio должен делать отступ в коде.

Теперь файл.editorconfig платформы.NET, а также несколько других примеров, найденных в Интернете, содержат следующий странный комментарий:

[*]
indent_style = space
# (Please don't specify an indent_size here; that has too many unintended consequences.)

Каковы эти многие непреднамеренные последствия при определении размера отступа по умолчанию для всех типов файлов? Следует ли мне избегать этого в моих собственных файлах.editorconfig и определять размеры отступов только для определенных типов файлов?

Кажется странным определять стиль отступа по умолчанию (табуляции / пробелы), но не размер отступа по умолчанию.

1 ответ

Как вы можете себе представить, определение размера отступа для всех файлов может нанести ущерб вашим файлам, если оно будет принудительно применено.

YAML, Markdown и другие форматы файлов имеют значительный уровень пробелов. Редактор может иметь ограниченный уровень поддержки этих файлов (например, VSCode + плагины) и может решить, что, поскольку теперь он поддерживает эти файлы,к нему могут быть применены правила. Если файл переформатируется неправильно, семантика изменится. В худшем случае это происходит автоматически, и результат тоже синтаксически допустим, но семантически другой. Это может вызвать неприятные ошибки.

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

Другие вопросы по тегам