This linter plugin for SublimeLinter provides an interface to phpmd. It will be used with files that have the "PHP", "HTML" and "HTML5" syntax.
SublimeLinter
and SublimeLinter-phpmd
Make sure Package Control is installed.
phpmd
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.
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"
}
}
composer global require phpmd/phpmd
Make sure the composer global bin directory is available in $PATH:
export PATH=~/.composer/vendor/bin:$PATH
pear channel-discover pear.phpmd.org
pear channel-discover pear.pdepend.org
pear install --alldeps phpmd/PHP_PMD
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"
}
}