Используя код против, как заставить работать формат scala и отформатировать мой код? - PullRequest
1 голос
/ 06 апреля 2020

У меня есть плагин формата scala в моем многопроектном репозитории sbt.

addSbtPlugin("org.scalameta"    % "sbt-scalafmt"        % "2.3.2")

Так что в консоли sbt, если я запускаю scalafmt, он работает нормально

Мой build.sbt имеет :

scalafmtOnCompile := true

Если я выполняю компиляцию в sbt или просто компилирую вручную, она не форматирует мой код во время компиляции.

Что не так с моей настройкой?

Кроме того, работает scalafmt, но он не форматирует мои. scala файлы в / project, такие как мой файл Dependencies. scala. Почему он игнорирует эти файлы?

Я использую VS Code с металлами также в качестве моей IDE.

1 Ответ

1 голос
/ 06 апреля 2020

Scalafmt похоже работает на VS C с Metals из коробки на моей машине

Metals автоматически использует Scalafmt для ответа на запросы форматирования от редактор, согласно конфигурации, определенной в .scalafmt.conf ... если нет .scalafmt.conf, при получении первого запроса формата Metals создаст для вас файл .scalafmt.conf.

Просто выполните команду Format Document из Command Palette в VS C, и она должна отформатироваться в соответствии с .scalafmt.conf. Если вы хотите непрерывно форматировать и компилировать при каждом изменении источника, а scalafmtOnCompile не работает, попробуйте выполнить в sbt

~scalafmt;compile

однако формат при компиляции не рекомендуется в соответствии с документацией

Этот параметр не рекомендуется, поскольку он портит буферы отмены в редакторе и замедляет компиляцию , Вместо этого рекомендуется использовать «формат при сохранении» в редакторе.

...