# 起因 我們在寫代碼時,有時間代碼過高,尤其是stream流的時間,可能有多個map,filter,sort組成,這樣我們更希望看到的是一種可讀性更好的風格 * 我的代碼是這樣的 ![](https://img2023.cnblogs.com/blog/118538/202306/118538-2 ...
起因
我們在寫代碼時,有時間代碼過高,尤其是stream流的時間,可能有多個map,filter,sort組成,這樣我們更希望看到的是一種可讀性更好的風格
- 我的代碼是這樣的
- 於是我手動將map進行了換行,想讓代碼更清晰一些
- 我編碼之後,添加了手動換行,我習慣上會進行代碼統一格式化,idea里的ctrl+alt+L,這時,我發現我的換行沒了,又回去了
- 於是我問了chatgpt,是否是自己配置的原因
在 IntelliJ IDEA 中手動修改代碼對齊並按回車換行後,如果在進行自動格式化後發現修改的部分被恢復,這可能是由於以下幾種情況導致的:
1. 自動格式化設置:檢查你的 IntelliJ IDEA 的自動格式化設置,確保它與你期望的格式化風格一致。你可以在 "Preferences"(或 "Settings")菜單中的 "Editor" -> "Code Style" 下找到相應的設置。確保選擇了適合你的編碼風格的選項,並且沒有啟用不希望的格式化功能(例如,"Reformat on file save")。
2. 代碼風格設置:如果你手動修改的代碼與當前項目的代碼風格設置不一致,自動格式化可能會覆蓋你的更改。在 "Preferences"(或 "Settings")菜單中的 "Editor" -> "Code Style" 中,選擇適合你的項目的代碼風格,並確保與你手動修改的代碼一致。
3. 編輯器行為設置:在 IntelliJ IDEA 的 "Preferences"(或 "Settings")菜單中,檢查 "Editor" -> "General" -> "Smart Keys" 設置。有些選項,如 "Reformat block on typing '}'" 或 "Keep when formatting",可能會影響自動格式化後的代碼。
4. 版本控制:如果你的項目使用了版本控制系統(如 Git),在進行提交或拉取操作時,IntelliJ IDEA 可能會根據版本控制的規則自動格式化代碼。這可能導致你手動修改的部分被恢復為代碼庫中的規範格式。
請檢查上述設置,並根據你的需求進行適當的調整,以確保代碼格式化的行為與你期望的一致。如果問題仍然存在,請提供更多的上下文信息,例如你手動修改的代碼示例和你的自動格式化設置,以便更好地幫助你解決問題。
- 最後,我想起來,我使用了spring格式統一的代碼格式插件spring-javaformat,這個插件有兩個時機會觸發:
- build項目時,會通過spring-javaformat去檢查你的代碼格式,不符合要求會提示你
- 在編輯單個文件時,使用ctrl+alt+L進行代碼格式化時,這個插件也會把你代碼更新成符合它的格式
- 我把這個插件刪除後,再執行一下格式化,問題就解決了,不過,我最後還是把spring-javaformat插件裝上了,因為這是一種統一的風格,我們應該去適應它和遵守它,因為它是一個標準化的方案
Spring Java Format
Spring Java Format是一個用於在Spring項目中格式化Java代碼的插件。它是基於Google的Java代碼格式化工具(google-java-format)開發的,專門用於與Spring框架的最佳實踐相匹配的代碼格式化。
Spring Java Format插件提供了與IDE(集成開發環境)集成的能力,例如在Eclipse和IntelliJ IDEA中使用。它可以自動格式化Java代碼,確保代碼風格的一致性和可讀性。
使用Spring Java Format插件,您可以定義代碼格式化規則,例如縮進大小、行長度、空格使用等。它還提供了一個命令行工具,可以在構建過程中自動格式化代碼。
要在Spring項目中使用Spring Java Format插件,您需要將其添加到項目的構建配置文件中。具體步驟可能因您使用的構建工具而有所不同。以下是一個使用Maven構建的示例:
- 在項目的pom.xml文件中,添加插件依賴:
<build>
<plugins>
<plugin>
<groupId>io.spring.javaformat</groupId>
<artifactId>spring-javaformat-maven-plugin</artifactId>
<version>0.0.6</version>
<executions>
<execution>
<goals>
<goal>apply</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
- 在命令行中運行以下命令,將項目中的Java代碼格式化:
mvn spring-javaformat:apply
這將使用Spring Java Format插件對項目中的Java代碼進行格式化。
請註意,具體的插件版本號可能會有所不同,請根據您使用的版本進行相應的配置。
除了Maven插件之外,Spring Java Format還提供了Gradle插件(spring-javaformat-gradle-plugin
),您可以在Gradle項目中使用相似的方式進行配置和使用。
希望這可以幫助您瞭解Spring Java Format插件及其在Spring項目中的使用方式。如果您有任何其他問題,請隨時提問!
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!