簡體   English   中英

使用 vs 代碼,如何讓 scala 格式工作並格式化我的代碼?

[英]Using vs code, how to get scala format to work and format my code?

我的多項目 sbt 存儲庫中有 scala 格式插件。

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

所以在 sbt 控制台中,如果我運行 scalafmt 它工作正常

我的 build.sbt 有:

scalafmtOnCompile := true

如果我在 sbt 中進行 ~compile 或者只是手動編譯,它不會在編譯期間格式化我的代碼。

我的設置有什么問題?

此外,運行 scalafmt 可以,但它不會像我的 Dependencies.scala 文件一樣格式化 /project 中的 my.scala 文件。 為什么忽略這些文件?

我也將 VS Code 與金屬一起用作我的 IDE。

Scalafmt似乎可以在 VSC 中使用 Metals 在我的機器上開箱即用

根據.scalafmt.conf中定義的配置,Metals 自動使用 Scalafmt 響應來自編輯器的格式化請求……如果沒有.scalafmt.conf ,在收到第一個格式請求時,Metals 將創建 .scalafmt.conf 文件為你。

只需從 VSC 的Command Palette執行Format Document命令,它應該根據.scalafmt.conf. 如果您想在每次源代碼更改時連續格式化和編譯並且scalafmtOnCompile不起作用,請嘗試在 sbt 中執行

~scalafmt;compile

但是根據文檔不鼓勵編譯格式

不鼓勵使用此選項,因為它會弄亂編輯器中的撤消緩沖區並減慢編譯速度。 建議在編輯器中使用“保存時格式化”。

在 VS Code 中,如果你 go 進入File -> Preferences - > Settings並輸入editor.format ,你會看到一堆選項。

啟用所有這些,並且金屬應該應用所有更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM