springboot~spring-javaformat插件惹的祸

打印 上一主题 下一主题

主题 554|帖子 554|积分 1662

起因

我们在写代码时,有时间代码过高,尤其是stream流的时间,可能有多个map,filter,sort组成,这样我们更希望看到的是一种可读性更好的风格

  • 我的代码是这样的

  • 于是我手动将map进行了换行,想让代码更清晰一些

  • 我编码之后,添加了手动换行,我习惯上会进行代码统一格式化,idea里的ctrl+alt+L,这时,我发现我的换行没了,又回去了

  • 于是我问了chatgpt,是否是自己配置的原因
  1. 在 IntelliJ IDEA 中手动修改代码对齐并按回车换行后,如果在进行自动格式化后发现修改的部分被恢复,这可能是由于以下几种情况导致的:
  2. 1. 自动格式化设置:检查你的 IntelliJ IDEA 的自动格式化设置,确保它与你期望的格式化风格一致。你可以在 "Preferences"(或 "Settings")菜单中的 "Editor" -> "Code Style" 下找到相应的设置。确保选择了适合你的编码风格的选项,并且没有启用不希望的格式化功能(例如,"Reformat on file save")。
  3. 2. 代码风格设置:如果你手动修改的代码与当前项目的代码风格设置不一致,自动格式化可能会覆盖你的更改。在 "Preferences"(或 "Settings")菜单中的 "Editor" -> "Code Style" 中,选择适合你的项目的代码风格,并确保与你手动修改的代码一致。
  4. 3. 编辑器行为设置:在 IntelliJ IDEA 的 "Preferences"(或 "Settings")菜单中,检查 "Editor" -> "General" -> "Smart Keys" 设置。有些选项,如 "Reformat block on typing '}'" 或 "Keep when formatting",可能会影响自动格式化后的代码。
  5. 4. 版本控制:如果你的项目使用了版本控制系统(如 Git),在进行提交或拉取操作时,IntelliJ IDEA 可能会根据版本控制的规则自动格式化代码。这可能导致你手动修改的部分被恢复为代码库中的规范格式。
  6. 请检查上述设置,并根据你的需求进行适当的调整,以确保代码格式化的行为与你期望的一致。如果问题仍然存在,请提供更多的上下文信息,例如你手动修改的代码示例和你的自动格式化设置,以便更好地帮助你解决问题。
复制代码

  • 最后,我想起来,我使用了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文件中,添加插件依赖:
  1. <build>
  2.     <plugins>
  3.         <plugin>
  4.             <groupId>io.spring.javaformat</groupId>
  5.             <artifactId>spring-javaformat-maven-plugin</artifactId>
  6.             <version>0.0.6</version>
  7.             <executions>
  8.                 <execution>
  9.                     <goals>
  10.                         <goal>apply</goal>
  11.                     </goals>
  12.                 </execution>
  13.             </executions>
  14.         </plugin>
  15.     </plugins>
  16. </build>
复制代码

  • 在命令行中运行以下命令,将项目中的Java代码格式化:
  1. mvn spring-javaformat:apply
复制代码
这将使用Spring Java Format插件对项目中的Java代码进行格式化。
请注意,具体的插件版本号可能会有所不同,请根据您使用的版本进行相应的配置。
除了Maven插件之外,Spring Java Format还提供了Gradle插件(spring-javaformat-gradle-plugin),您可以在Gradle项目中使用相似的方式进行配置和使用。
希望这可以帮助您了解Spring Java Format插件及其在Spring项目中的使用方式。如果您有任何其他问题,请随时提问!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表