문제

Eclipse allows the ability for you to customize code formatters and export/import them. Is there a way for me to create a formatter, save it in source control, and set a property somewhere that will load that into eclipse automatically when you open the project?

We want to use a custom formatter but not if it can't be configured automatically through the team. We don't want someone forget to import the formatter and end up formatting the code with another setup. Could only imagine that would create some not so fun conflicts down the road.

도움이 되었습니까?

해결책

Right-click the project, choose "Properties", then "Java -> Formatter", check "enable project specific settings", and configure your formatter however you want. The entire configuration will then be saved in the project directory, which you can easily put under version control.

다른 팁

As meriton said, you can modify the default formatter used, and it will be saved to your project directory. Specifically the .settings folder to two different files: one file called org.eclipse.jdt.core.prefs that stores the specific formatter instructions, and another "pointer" file called org.eclipse.jdt.ui.prefs that "points" to your modified code formatter.

org.eclipse.jdt.core.prefs looks like:

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
(etc)

org.eclipse.jdt.ui.prefs looks like:

eclipse.preferences.version=1
formatter_profile=_Eclipse [modified]
formatter_settings_version=12

Note: I named my modified formatter "modified" (it seemed appropriate). I'm using Kepler, so your mileage may vary, void where prohibited, see dealer for details...

Make sure to save the .settings folder, and these two files to your SCM system (along with your .project file, which will be in the root folder).

Have fun!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top