Use IntelliJ code style in Checkstyle - intellij-idea

Essentially, I want to export the code style settings from IntelliJ (the default one is fine) and use them in Checkstyle. (It's for a maven build validation kind of thing that is already setup, but we want to use IntelliJ's code style, not Sun's or Googles)
Step one should be to export the IntelliJ code style. Easier said than done, it seems.
Now, I know there is a lot of material on this on both SO and other places, but I simply cannot find the code style xml file anywhere, not even after using "copy to project" or "save as..." in the IntelliJ settings code style dialog.
I also tried exporting code style through the IntelliJ File menu, but it will only export the code style from areas that have changed (eg. change tab space from 4 to 2 and it will only export the "OTHER_INDENT_OPTIONS" part of the code style).
I should add that I'm using IDEA 14.1.4.
Is it possible to export the complete IntelliJ code style?

Unfortunately it is not possible to do what you want for (at least) three reasons, the first two of which you have already raised:
While is possible to export a code style file from Intellij IDEA using File->Settings->Code Style->Java->{Click the Settings icon}->Select Export... from the popup menu, that exported XML file only contains the changes you have made from the default settings.
Those exported settings are in a format that is only meaningful to Intellij, so even if you could export every single Java code style setting to an XML file, you would then have to massively edit that file to make it meaningful to CheckStyle.
Finally, note that there is an open request for Intellij to do exactly what you want. See IDEA-149529:
Current export functionality for Code Styles is lacking. Only useful
for other users of IntelliJ or as a backup. Only exports the diff
between user defined settings and the built-in default. This makes it
very difficult to produce a matching style for other
formatting/beautification tools.
It would be helpful if the export had the option of exports ALL the
settings IDEA uses.
However, there is an alternative approach. Instead of providing an Intellij IDEA file to Checkstyle, provide a Checkstyle file to Intellij IDEA...
Install the Checkstyle plugin, and then open two sets of one or more duplicated files in Intellij IDEA, one set configured to use IDEA's formatting and one set configured to Checkstyle's formatting.
Repeatedly tweak the Checkstyle settings until its opened file(s) are formatted to conform to the corresponding files formatted by IDEA. When the sets of files match create a Checkstyle XML rules file. Tedious, but only a one time activity.
Finally, you can then import your customized CheckStyle XML rules file into Intellij Idea, using Import Scheme -> CheckStyle Configuration as as shown in the screen shot below (if, and only if, you have installed the CheckStyle-IDEA plugin). This functionality did not exist when the OP was created. For more details see the following bug report: IDEA-61520 Codestyle from Checkstyle and in particular the response from JetBrains dated 2/8/16.
See also:
Intellij IDEA bug Configure code style from checkstyle #126
SO post IntelliJ IDEA code format from checkstyle configuration

I was looking for an answer to this too. I suppose you want to add it to your build process like I do. Since I saw no value in enforcing something that can't be automated, I settled on (haven't implemented yet) executing the style formatter as a pre-commit hook (I use git) https://www.jetbrains.com/help/idea/command-line-formatter.html against all files in the changelist. I use the defaults too, and this would be enough.
Since I don't have any customizations, I would not know if an exported code style xml would run the default in addition to the diff in the xml. Either way, there's no point in enforcing code style rules that can't be automated.

Related

Configure Intellij to support another java extension file

I have some app that runs bean shell scripts (*bsh) and I absolutely love Intellij IDEA. And my bsh scripts are has syntax looks similar to java syntax. How can I add support of bsh files to make it behave like it is java source files?
I tried to add association at Settings -> Editor -> File types and all I got is general syntax highlight but it still doesn't support formatting and autocomplete so the Code -> Reformat code breaks all my formatting to left aligned text.
UPD BeanShell Box doesn't work. Maybe because of its outdating
You are probably looking for BeanShell Box plugin.

Intellij Idea how can I specify colors for a specific file type?

I am using a color theme that I am perfectly happy with, but I am dealing with a lot of ".impex" files that are unique to the Hybris platform. The IDE essentially sees them as text files. How can I add syntax coloring to these ".impex" files so the text is not just all one color?
Maybe this plugin can help you.
Syntax highlight for impex files
Besides, you can register a file pattern to a recognised file type: Preferences -> IDE Settings -> File Types.

IntelliJ auto detect indentation for each file

I recently switched from Sublime Text to IntelliJ and I trying to figure out, if there's a way for IntelliJ to auto detect what indentation the current file is using and use that instead of the default
I have to deal with a lot of 3rd party code, which can have different indentation settings, which I'm not allowed to change for obvious reasons.
Sublime Text was able to detect and abide to the indentation for the current file, which is quite intuitive and unobtrusive. IntelliJ on the other hand just sticks to it's own settings, resulting in mixed tabs and spaces, wrong indentation levels and wrong merge conflicts.
Is there a way to make IntelliJ behave, other than having to manually change the indentation settings every time I get a file with different indentation.
Thanks
In recent versions of Intellij there is a Detect and use existing file indents for editing setting for this:
Each project you open in IntelliJ has it's own settings. You will need to set the indent style the first time you open up the project, but it will be saved after that (and can be different for every project you work on). From the IntelliJ help site:
Project settings are stored with each specific project as a set of xml files
under the .idea folder. If you specify the
default project settings,
these settings will be automatically used for each newly created project.
You can edit the indent settings for the project in the Code Style dialog.

Is it possible to filter out files from the file dialog in IntelliJ?

My specific use case is with an Android project, but this isn't Android specific. I have an IntelliJ-IDEA project with several Android modules which have been localized. If I want to open the file strings.xml, I will pretty much always want the non-localized one (in res/values rather than res/values-fr or whatever). But when I hit <ctrl><shift><n> and type strings.xml, it shows all the 30-zillion localized files and in fact shows them before the non-localized one. I would like to figure out a way to give IntelliJ a hint as to which one I would want, or a way to filter out files from that dialog. Any ideas?
Seems there is a kind of workaround with directory exclusion
http://devnet.jetbrains.com/thread/283525

How to use code completion on SCSS files in IntelliJ IDEA 10.5?

In general SCSS files are CSS files with some special features. When i want to edit a *.sass file in my project i noticed that IntelliJ knows that file type but there is no code completion at all. I know IntelliJ has code completion for CSS files.
Just going to "IDE Settings" / "File Types" / "Cascading style sheets" and adding ".sass" and ".scss" to it, brings auto completion to this file for normal CSS.
Is there a way to enable (add) all the special features of sass to the IntelliJ auto completion for functions like "lighten()" etc., too?
There are several tickets related to this in the JetBrains issue tracker, this one for example. Fortunately, it seems they plan on fixing it soon though.