PhpStorm now bundles WordPress coding style natively, starting from version 8.
- Go to
Project Settings
>Code Style
>PHP
. - Select
Set From...
(top right of window) >Predefined Style
>WordPress
.
No longer need to muck with this import! :)
You need add new role for arrays.. $var['test']
and $var[ $key ]
Good job. :)
@BronsonQuick you are welcome :)
@KingYes unfortunately PhpStorm does not support such logic yet, I have created ticket about that while back http://youtrack.jetbrains.com/issue/WI-12039
Good job @Rarst.
Awesome! Thanks @Rarst!!
For PhpStorm 6.0 on Mac on OSX 10.8.2 I followed @johnbloch's instructions for storing the file and to import it to PhpStorm had to go File->Default Settings->Code Style and then select the Wordpress scheme from there.
@tannerm that's strange, did it not just appear as available? I don't think I ever touched Default Settings for anything, but I mostly deal with giant project for my whole local test stack.
Same as @tannerm with a fresh install of PhpStorm 6 on 10.8.3, except I had to restart PhpStorm before it would show up.
Quick question. If these are based off this page http://make.wordpress.org/core/handbook/coding-standards/php/ it credits PEAR standards so I assume it is based off that.
PEAR standards have tabs and indents at 4 spaces not 2.
What is the reason for 2 in this file?
PEAR standards have tabs and indents at 4 spaces not 2. What is the reason for 2 in this file?
WP standard currently doesn't specify number of spaces per tab. PEAR might, but there is no explicit or implicit statement that rules missing in WP standard should be sourced from it.
2 is just my personal preference (as well as convention at past job), feel free to adjust. If standard makes it 4 explicitly I will probably move to that, until then it is rule that isn't officially defined.
Since bulk of indentation is real tabs anyway this doesn't have much impact.
Cool deal. Thanks.
This is fantastic, thank you!
thanks for this, I keep recommending it to others!
Thanks for taking the time. /five
Good job. Thanks.
What about this line:
<option name="ELSE_ON_NEW_LINE" value="true" />
But in codex there is no new line between "}" and "else".
Hmm, I am not sure if else
thing was as strongly worded in earlier versions of coding style. Might be oversight on my part.
For those looking for a 4 space width tab indent instead of Rarst's 2 spaces, you can find my code style file here:
https://github.com/Automattic/PhpStorm-Resources/blob/master/WordPress.xml
I made it from scratch and it's similar but has some other changes as well.
Pull requests welcome.
Updated for 4 spaces per tab, more mainstream and was causing issues with CodeSniffer because continuation indent didn't match.
@Rarst There was something about spaces vs tabs for JS. I believe lint/hint wanted spaces.
WP's JavaScript Coding Standards say tabs. I do little JS so no promises on state of it in this config. :)
Thanks @Rarst, for me under Mac OS X 10.9.1 and PhpStorm 7.0 I could find the file under this path:
~/Library/Preferences/WebIde70/codestyles
No more "config" folder before "codestyles"
I still have config
level on Windows. Best refer to linked part of manual on it.
@Rarst, thank you for that
@Rarst, this is amazing! Thank you soo much for creating it!
The file removes the space between ! and function. Seems to be a bug, because the codestyle for wordpress says there has to be a space between them.
See: http://make.wordpress.org/core/handbook/coding-standards/php/#space-usage
That shoudn't be the case (<option name="SPACE_AROUND_UNARY_OPERATOR" value="true" />
). Check your code style settings for changes (Project Settings > Code Style > PHP > Spaces > Around Operators > Unary Operators).
EAP should ship with native WP style as far as I know? If it's wrong in that one should probably be reported as bug...
Yeah, there seems to be mild upgrade issue with that setting going from 7 to 8, hit it too. :)
How to auto Complete for wordpress comments and function definition in PhpStorm?
/**
* The Header template for our theme
*
* Displays all of the <head> section and everything up till <div id="main">
*
* @package Hasan_WordPress
* @subpackage Hasan
* @since Hasan 1.0
*/
@momin-ctg you can use /** and press "Enter"
Hey @Rarst,
Just wanted to say an epic thanks for this! I've been using PhpStorm for about 18 months now for all our WordPress client work but I've only tried to commit code back to core a few times and all my formatting settings were never right in PhpStorm so I'd always cop some flack for my formatting. This has done the trick :)
You rock! \m/