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. Не худший вариант, но заново привыкать. 

17 нояб. 2020 г.

Flutter: “iproxy” cannot be opened because the developer cannot be verified


Сюрпризы флаттера. Каждый день что-то новое. Сегодня macOS (Catalina 10.15.7) при запуске дебажного билда из Android Studio на iPhone начала выдавать ошибку: “iproxy” cannot be opened because the developer cannot be verified. Быстрый гуглёж дал бытрый же фикс в виде команды:

sudo xattr -d com.apple.quarantine /FLUTTER_HOME/bin/cache/artifacts/usbmuxd/iproxy

Потом системных настройках (System Preferences/Security & Privacy/General) я увидел сообщение про блокировку iproxy с кнопкой "Anyway allow". На всякий случай нажал, хотя оно и так уже работало после выполнения команды выше.