当前状态:
我有一个使用Java 1.8.161、Maven 3.3.9、SpringBoot 2.0.1、工具Jenkins和GitLab构建的项目。我想使用google java格式作为整个团队的标准。
我的调查/解决方案:
在调查过程中,我找到了解决方案,这听起来很简单。只需更新pom文件:
<build>
<plugins>
<plugin>
<groupId>com.coveo</groupId>
<artifactId>fmt-maven-plugin</artifactId>
<version>2.5.0</version>
<executions>
<execution>
<goals>
<goal>format</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
而且很有效。如果我运行编译、打包、验证、安装或部署Maven lifecycle,代码就会格式化。
问题:
我如何在所有团队成员每次提交后运行此操作,而不在他们的想法中添加任何额外步骤?因为现在,我需要在每次提交之前运行Maven。但在应用程序运行期间,这是不必要的,因此团队可以避免它。。这当然会导致git的历史问题。
每次提交前我都要查查马文
你不需要运行多个maven目标。例如,无需运行maven install
进行格式化。将编译
为了在每次开发人员提交后运行这个格式化程序,您必须首先有一个詹金斯提交钩子,这将触发詹金斯构建。构建的一个阶段应该执行fmt-maven-plugin的(或任何其他)check
功能,以确保代码被正确格式化。
首先要做的是添加一个webhook,它将在git存储库中的每次提交后触发Jenkins构建。你可以在这里找到如何做到这一点。对于Gitlab的具体说明,这篇来自medium的帖子可能会有所帮助。
这可以通过在fmt maven插件上执行
check
目标来实现
Maven接受<代码>
mvn fmt:check
也就是说,您必须添加一个Jenkins构建步骤,该步骤将运行上述命令。本教程的第5步向您展示了如何添加构建步骤。
希望这真的有帮助: D
您可以让预提交钩子触发提交文件的格式化程序。
git-code-format-maven-plugin使用google-java-formatter,可以在编译阶段安装客户端预提交git钩子,需要Maven 3.5. x,应该强制执行。
<build>
<plugins>
<plugin>
<groupId>com.cosium.code</groupId>
<artifactId>git-code-format-maven-plugin</artifactId>
<version>VERSION</version>
<executions>
<execution>
<goals>
<goal>install-hooks</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>VERSION</version>
<executions>
<execution>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.5.4,)</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
指出IDE中的独立Maven,因为git代码格式的Maven插件不能很好地与嵌入式Maven配合使用。
mvn编译
以安装钩子。我的想法就是这样。
由于git code format maven plugin只对更改的文件进行格式化(这很好),所以最好预先格式化整个项目一次(mvn git code format:format code-Dgcf.globPattern=***
)。
因为在Windows中使用Cygit的开发者有时会完全忽略Windows中的Cygit钩子。一个空的cygpath。exe
就可以了。以管理员身份运行“命令提示符”,并执行C:\
重启。
在IDE中优化导入或重新格式化,或使用插件重新格式化,可能会导致导入顺序的更改。如果git code format maven plugin的旧版本与fmt maven plugin一起使用(例如,在CI中格式化或验证代码),这将是一个令人不快的惊喜。
git代码格式maven插件将对导入进行排序(从1.20版开始)
我已经为我的WebStorm项目指定了eslint配置。但它似乎不适用于代码重新格式化功能。例如,它继续将< code > import { something } from ' something ' 格式化为< code > import { something } from ' something ' 。 有没有办法让WebStom根据eslint配置格式化代码?
我在下面编写了这个工作流,以根据谷歌Java风格指南验证我项目中的Java格式。我的意图是在工作流中使用maven。 使用gradle,我可以使用chmod x gradlew使其可执行,并使用
问题内容: 我有一些格式不一致的现有代码-有时两个空格用于缩进,有时四个空格,以此类推。代码本身是正确的,并且经过了严格的测试,但是格式却很糟糕。 在线上是否有一个地方,我可以简单地粘贴一段Python代码并自动为我缩进/设置格式?或者,是否可以执行类似的操作,并用格式化的版本覆盖每个文件? 问题答案: 编辑:如今,我建议使用autopep8,因为它不仅可以纠正缩进问题,而且(根据您的判断)可以使
操作步骤: 菜单栏: Code —> Reformat Code 右键菜单: Reformat Code 快捷键: Mac: option + command + L Windows\/Linux: Ctrl + Alt + L 配置格式化选项 通过快捷键(Mac): option + command + shift + L 打开配置对话框 自动缩进行 操作步骤: 菜单栏: Code —> Aut
Go 开发团队不想要 Go 语言像许多其它语言那样总是在为代码风格而引发无休止的争论,浪费大量宝贵的开发时间,因此他们制作了一个工具:go fmt(gofmt)。这个工具可以将你的源代码格式化成符合官方统一标准的风格,属于语法风格层面上的小型重构。遵循统一的代码风格是 Go 开发中无可撼动的铁律,因此你必须在编译或提交版本管理系统之前使用 gofmt 来格式化你的代码。 尽管这种做法也存在一些争论
问题内容: 我正在使用bootstrap-datetimepicker和ISO8601 datetime格式,如其选项部分所述 在我的控制器中 它以(console.log)将数据发送到后端 并保存为数据库 在我的模板中 我在HTML上看到的输出为 但是根据Angular doc,它应该用于格式 我想念的是什么? 问题答案: 现在,我已经创建了一个过滤器 作为依赖项添加为 并用作 并将日期显示为