This linter plugin for SublimeLinter provides an interface to phpmd. It will be used with files that have the "PHP", "HTML" and "HTML5" syntax.
Make sure Package Control is installed.
- Open the command palette (Ctrl + Shift + P)
- Type Package Control: Install Package and select it.
- Type SublimeLinter and select it.
- Repeat steps 1-3 typing SublimeLinter-phpmd in step 3.
Choose one of the installation methods below.
A local install allows you to fine-tune phpmd
on a per-project basis. A global install is available system-wide.
Local install with Composer
On a command line inside your project:
composer require phpmd/phpmd
Inside Sublime, go to Preferences -> Package Settings -> SublimeLinter -> Settings.
Set the phpmd
executable by adding/editing:
"linters": {
"phpmd": {
"executable": "${folder}/vendor/bin/phpmd"
}
}
Global install with Composer
composer global require phpmd/phpmd
Make sure the composer global bin directory is available in $PATH:
export PATH=~/.composer/vendor/bin:$PATH
Global install with PEAR
pear channel-discover pear.phpmd.org
pear channel-discover pear.pdepend.org
pear install --alldeps phpmd/PHP_PMD
- SublimeLinter settings: http://sublimelinter.com/en/latest/settings.html
- Linter settings: http://sublimelinter.com/en/latest/linter_settings.html
If you want to use a baseline file, the linter needs to run on the actual files instead of the temporary files we need for real-time "background" linting. Therefore, set the "real_file_mode" setting to true.
"linters": {
"phpmd": {
"real_file_mode": true
}
}
You can configure rules via the rulesets
setting. This can be a list of rules, or a path to a custom ruleset file.
"linters": {
"phpmd": {
"rulesets": "codesize,unusedcode,naming"
}
}
"linters": {
"phpmd": {
"rulesets": "${folder}/phpmd.xml"
}
}