我想配置完全和自动我的代码格式化程序,关于已经外部化的checkstyle配置。它的工作方式几乎...... 但不完全:Eclipse Formatter中至少没有反映制表符。
我已经使用了以下工具和插件
这是一个深度多模块分层项目。主要思想是checkstyle配置是外部化的(在fmk-qa中)并且在fmk-core中被称为依赖。
fmk-parent
|-- fmk-core
| |-- fmk-front
| | |-- front-sub1
| | |-- front-sub2
| | |-- ...
| | `-- pom.xml
| |-- fmk-back
| | |-- back-sub1
| | |-- back-sub2
| | |-- ...
| | `-- pom.xml
| |-- fmk-commons
| | `-- pom.xml
| `-- pom.xml
`-- fmk-qa
|-- pom.xml
`-- checkstyle-config.xml
Maven父配置
[...]
<build>
<pluginManagement>
<plugins>
<!-- Checkstyle Dependency where configuration is externalized -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>corp.framework</groupId>
<artifactId>fmk-qa</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
[...]
<plugins>
<pluginManagement>
核心项目配置
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>checkstyle-config.xml</configLocation>
</configuration>
<!-- Binding to indicate to M2E that it should trigger analysis in Eclipse -->
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>checkstyle-config.xml</configLocation>
<failsOnError>false</failsOnError>
<linkXRef>true</linkXRef>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<inherited>true</inherited>
</plugin>
Checkstyle配置
<module name = "Checker">
[...]
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
[...]
</module>
Eclipse自动检测大量事物并配置它们,这就是
(这也适用于PMD和FindBugs)。
当我尝试自动格式化代码(CTRL + SHIFT + F)时,它会格式化代码,但用制表符替换空格,这显然不是我想要的。
我怎样才能告诉自动 eclipse如何正确实现 ?
我显然不想让开发人员单独配置它。 此外,我知道我可以手动生成基于Checkstyle配置(How to generate an Eclipse formatter configuration from a checkstyle configuration?)的代码格式化程序。所以我希望它可以通过插件自动实现。
欢迎所有建议,即使是预先设置的工作空间分布&#34;,甚至我也希望找到更复杂的解决方案。我也准备好了(这可能是我自己的答案):它还不可能,自己做,为社区做贡献;)
答案 0 :(得分:1)
没有开箱即用。因此,您最好的选择是向m2e-code-quality Plugin提交增强请求,以便在Eclipse M2Eclipse's project configurator中导入或更新项目时生成Eclipse格式化程序配置。