Skip to content

krasa/EclipseCodeFormatter

Repository files navigation

Adapter for Eclipse Code Formatter Donate

Allows using Eclipse's Java code formatter directly from IntelliJ. Solves the problem of maintaining a common code style in team environments where both IDEA and Eclipse are used.

Note: This project utilizes (and in some manners modifies) code licensed under EPL-2.0. For more information see lib/eclipse.


Instructions

  1. Install the plugin
  2. Configure it
    1. Configure Eclipse location (optional)
      • Install Eclipse
      • Got To IntelliJ Settings | Other Settings | Adapter for Eclipse Code Formatter
      • Set Eclipse installation folder (/Users/xxx/Eclipse.app/Contents/Eclipse for Mac)
      • Change Java formatter version to Configured Eclipse installation folder
    2. Configure formatter
      • Either, export formatter profiles to get a *.xml file

        1. Go to Eclipse | Windows | Preferences | Java | Code Style | Formatter
        2. Eclipse does not export default profiles, so you have to make your own via the New button
        3. Export the profile via the Export all... button
          • The result should look like this
      • Or, enable project specific formatter settings to get org.eclipse.jdt.core.prefs

        1. With your project open in Eclipse's workspace, right-click the project and choose Properties
        2. Go to Java Code Style | Formatter and select Enable project specific settings
        3. Click OK to save the settings
        4. Go to the .settings directory inside your project's directory. There you will find the org.eclipse.jdt.core.prefs file which contains the Eclipse formatter settings
          • The result should look like this
      • Or, export a Workspace Mechanic configuration to get a *.epf file

        • The result should look like this
      • Open a project in IntelliJ

      • Set path to the config file via IntelliJ | Settings | Other Settings | Adapter for Eclipse Code Formatter | Eclipse preference file

      • When using exported profiles (the xml file), select desired profile in the combobox Java formatter profile

    3. Check Optimizing Imports configuration
      • Set import order
        • Either, leave the default
        • Or, set path to Eclipse configuration file:
          • Go to Eclipse | Windows | Preferences | Java | Code Style | Organize Imports
            • Either, click on Export... , (example)
            • Or, enable project specific settings and use org.eclipse.jdt.ui.prefs file which should contain the line org.eclipse.jdt.ui.importorder=...
      • Set the value of Class count to use import with and Name count to use static import with in Settings | Editor | Code Style | Java | Imports for Idea 14 or Settings | Editor | Code Style | Imports for older Idea. Eclipse uses 99 by default
      • For versions lower than 4.0 - make sure to disable IntelliJ's Import Optimizing in the reformat dialog via Settings | Editor | Show "Reformat Code" dialog. The plugin will take care of imports anyway
      • For versions higher than 4.0 - imports will be reordered together with normal IntelliJ's import optimizing
      • Disable Optimize imports on the fly
  3. Format code as usual, notice the green bubble notification about successful formatting
    • notifications can be disabled at Settings | Notifications
  4. Use Ctrl + Alt + O as usual, it will use this plugin
  5. Use Ctrl + ~ for quick switch between formatters or icon at the main toolbar
  6. Give it 5 stars
  7. Make a donation

Possible problems with Java formatting

  • @formatter:off is not working See: #64
  • Nothing was formatted or formatting failed
    • Make sure you are using proper language level in Main Menu | File | Project Structure
  • Trailing spaces inside javadocs are stripped
    • Set Strip trailing spaces on save to None
  • File is formatted differently
    • The file is actually formatted fine, it just looks different in the editor, as the tab size and indendation are set differently in IntelliJ in Settings | Editor | Code Style | Java than in Eclipse. Using of either tab only or space only whitespace is recommended.
    • Or it is a bug
  • Eclipse indendation is configured for 2 spaces, but a new line gets indented by 4 spaces when Enter is pressed.
    • Change code style in IntelliJ. Not all things get formatted by this plugin when you type them.
  • If nothing helps

Troubleshooting

If it is mysteriously not working, go to Main Menu | Help | Edit Debug Settings and add:

krasa.formatter

Try to reformat something and create a new issue, including the log


YourKit-Logo

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.