18 нояб. 2020 г.

Форматирование Dart кода


Предвзятость авторов Dart и соответствующего инструментария в мире, где термин master заменяют на primary из-за найденного намека на рабовладельческий строй, просто удивительна. Создается впечатление, что они все еще пишут код на мониторах с разрешением 80x24 символа. На таком размере картинки конечно нужно стремиться ужать все в ширину 20 символов, чтобы еще на список файлов и Flutter Inspector осталось! Что и делает их dartfmt. К сожалению Android Studio разрабатывается теми же авторами. И в окне настроек форматирования Dart уже довольно давно осталась ровно одна опция — длина строки. А, ну еще и ссылка на FAQ (хотя FAQYOU тут звучит как нельзя к месту). 

Лично меня больше всего достает использование пробелов вместо табуляций для выравнивания. И даже при ручной вставке табуляции в Android Studio у нее по умолчанию выставлена ширина в два пробела. Каменный век! Благо, пока еще есть черный ход для исправления этой несправедливости. 

  1. В окне настроек форматирования Preferences/Editor/Code Style/Dart создать копию дефолтной схемы. После перезапуска IDE в директории /$HOME/Library/Application Support/Google/AndroidStudio4.1/codestyles/ (для MS Windows путь будет немного другой) появится файл с именем схемы. Например "My scheme.xml"
  2. В секции codeStyleSettings language="Dart" можно вставить опции по примеру других языков. Например, для Java. У меня сейчас эта секция выглядит так:
<codeStyleSettings language="Dart">
  <option name="RIGHT_MARGIN" value="200" />
  <indentOptions>
    <option name="TAB_SIZE" value="4" />
    <option name="USE_TAB_CHARACTER" value="true" />
    <option name="SMART_TABS" value="true" />
  </indentOptions>
</codeStyleSettings>

Не исключено, что скоро и эту лазейку они прикроют. Тогда придется переходить на Visual Studio Code. Не худший вариант, но заново привыкать. 

Комментариев нет:

Отправка комментария