Package Control

The official Sublime Text package manager.

Phpcs

🔍 PHP CodeSniffer, PHP Coding Standard Fixer, Linter, and Mess Detector Support for Sublime Text

By benmatselby
Created February 9, 2012, last updated February 25, 2026.

JulJunMayAprMarFebJan Dec2025 NovOctSepAug 2026-W33 | installs: 3 | removals: 0 | upgrades: 2 2026-W33 | installs: 3 | removals: 0 | upgrades: 2 2026-W33 | installs: 3 | removals: 0 | upgrades: 2 2026-W32 | installs: 12 | removals: 1 | upgrades: 26 2026-W32 | installs: 12 | removals: 1 | upgrades: 26 2026-W32 | installs: 12 | removals: 1 | upgrades: 26 2026-W31 | installs: 18 | removals: 5 | upgrades: 20 2026-W31 | installs: 18 | removals: 5 | upgrades: 20 2026-W31 | installs: 18 | removals: 5 | upgrades: 20 2026-W30 | installs: 9 | removals: 5 | upgrades: 21 2026-W30 | installs: 9 | removals: 5 | upgrades: 21 2026-W30 | installs: 9 | removals: 5 | upgrades: 21 2026-W29 | installs: 8 | removals: 0 | upgrades: 24 2026-W29 | installs: 8 | removals: 0 | upgrades: 24 2026-W29 | installs: 8 | removals: 0 | upgrades: 24 2026-W28 | installs: 14 | removals: 5 | upgrades: 19 2026-W28 | installs: 14 | removals: 5 | upgrades: 19 2026-W28 | installs: 14 | removals: 5 | upgrades: 19 2026-W27 | installs: 8 | removals: 4 | upgrades: 17 2026-W27 | installs: 8 | removals: 4 | upgrades: 17 2026-W27 | installs: 8 | removals: 4 | upgrades: 17 2026-W26 | installs: 12 | removals: 2 | upgrades: 22 2026-W26 | installs: 12 | removals: 2 | upgrades: 22 2026-W26 | installs: 12 | removals: 2 | upgrades: 22 2026-W25 | installs: 17 | removals: 4 | upgrades: 28 2026-W25 | installs: 17 | removals: 4 | upgrades: 28 2026-W25 | installs: 17 | removals: 4 | upgrades: 28 2026-W24 | installs: 16 | removals: 3 | upgrades: 35 2026-W24 | installs: 16 | removals: 3 | upgrades: 35 2026-W24 | installs: 16 | removals: 3 | upgrades: 35 2026-W23 | installs: 13 | removals: 4 | upgrades: 35 2026-W23 | installs: 13 | removals: 4 | upgrades: 35 2026-W23 | installs: 13 | removals: 4 | upgrades: 35 2026-W22 | installs: 0 | removals: 0 | upgrades: 0 2026-W22 | installs: 0 | removals: 0 | upgrades: 0 2026-W22 | installs: 0 | removals: 0 | upgrades: 0 2026-W21 | installs: 21 | removals: 6 | upgrades: 33 2026-W21 | installs: 21 | removals: 6 | upgrades: 33 2026-W21 | installs: 21 | removals: 6 | upgrades: 33 2026-W20 | installs: 16 | removals: 1 | upgrades: 42 2026-W20 | installs: 16 | removals: 1 | upgrades: 42 2026-W20 | installs: 16 | removals: 1 | upgrades: 42 2026-W19 | installs: 21 | removals: 3 | upgrades: 59 2026-W19 | installs: 21 | removals: 3 | upgrades: 59 2026-W19 | installs: 21 | removals: 3 | upgrades: 59 2026-W18 | installs: 22 | removals: 5 | upgrades: 52 2026-W18 | installs: 22 | removals: 5 | upgrades: 52 2026-W18 | installs: 22 | removals: 5 | upgrades: 52 2026-W17 | installs: 23 | removals: 7 | upgrades: 55 2026-W17 | installs: 23 | removals: 7 | upgrades: 55 2026-W17 | installs: 23 | removals: 7 | upgrades: 55 2026-W16 | installs: 17 | removals: 5 | upgrades: 78 2026-W16 | installs: 17 | removals: 5 | upgrades: 78 2026-W16 | installs: 17 | removals: 5 | upgrades: 78 2026-W15 | installs: 20 | removals: 6 | upgrades: 73 2026-W15 | installs: 20 | removals: 6 | upgrades: 73 2026-W15 | installs: 20 | removals: 6 | upgrades: 73 2026-W14 | installs: 16 | removals: 4 | upgrades: 80 2026-W14 | installs: 16 | removals: 4 | upgrades: 80 2026-W14 | installs: 16 | removals: 4 | upgrades: 80 2026-W13 | installs: 21 | removals: 11 | upgrades: 100 2026-W13 | installs: 21 | removals: 11 | upgrades: 100 2026-W13 | installs: 21 | removals: 11 | upgrades: 100 2026-W12 | installs: 7 | removals: 2 | upgrades: 139 2026-W12 | installs: 7 | removals: 2 | upgrades: 139 2026-W12 | installs: 7 | removals: 2 | upgrades: 139 2026-W11 | installs: 20 | removals: 6 | upgrades: 288 2026-W11 | installs: 20 | removals: 6 | upgrades: 288 2026-W11 | installs: 20 | removals: 6 | upgrades: 288 2026-W10 | installs: 16 | removals: 8 | upgrades: 589 2026-W10 | installs: 16 | removals: 8 | upgrades: 589 2026-W10 | installs: 16 | removals: 8 | upgrades: 589 2026-W09 | installs: 24 | removals: 12 | upgrades: 1,864 2026-W09 | installs: 24 | removals: 12 | upgrades: 1,864 2026-W09 | installs: 24 | removals: 12 | upgrades: 1,864 2026-W08 | installs: 23 | removals: 4 | upgrades: 286 2026-W08 | installs: 23 | removals: 4 | upgrades: 286 2026-W08 | installs: 23 | removals: 4 | upgrades: 286 2026-W07 | installs: 20 | removals: 5 | upgrades: 6 2026-W07 | installs: 20 | removals: 5 | upgrades: 6 2026-W07 | installs: 20 | removals: 5 | upgrades: 6 2026-W06 | installs: 17 | removals: 6 | upgrades: 7 2026-W06 | installs: 17 | removals: 6 | upgrades: 7 2026-W06 | installs: 17 | removals: 6 | upgrades: 7 2026-W05 | installs: 14 | removals: 3 | upgrades: 15 2026-W05 | installs: 14 | removals: 3 | upgrades: 15 2026-W05 | installs: 14 | removals: 3 | upgrades: 15 2026-W04 | installs: 6 | removals: 3 | upgrades: 3 2026-W04 | installs: 6 | removals: 3 | upgrades: 3 2026-W04 | installs: 6 | removals: 3 | upgrades: 3 2026-W03 | installs: 7 | removals: 6 | upgrades: 11 2026-W03 | installs: 7 | removals: 6 | upgrades: 11 2026-W03 | installs: 7 | removals: 6 | upgrades: 11 2026-W02 | installs: 12 | removals: 5 | upgrades: 11 2026-W02 | installs: 12 | removals: 5 | upgrades: 11 2026-W02 | installs: 12 | removals: 5 | upgrades: 11 2026-W01 | installs: 15 | removals: 7 | upgrades: 8 2026-W01 | installs: 15 | removals: 7 | upgrades: 8 2026-W01 | installs: 15 | removals: 7 | upgrades: 8 2025-W52 | installs: 17 | removals: 2 | upgrades: 7 2025-W52 | installs: 17 | removals: 2 | upgrades: 7 2025-W52 | installs: 17 | removals: 2 | upgrades: 7 2025-W51 | installs: 17 | removals: 8 | upgrades: 23 2025-W51 | installs: 17 | removals: 8 | upgrades: 23 2025-W51 | installs: 17 | removals: 8 | upgrades: 23 2025-W50 | installs: 16 | removals: 10 | upgrades: 9 2025-W50 | installs: 16 | removals: 10 | upgrades: 9 2025-W50 | installs: 16 | removals: 10 | upgrades: 9 2025-W49 | installs: 21 | removals: 6 | upgrades: 11 2025-W49 | installs: 21 | removals: 6 | upgrades: 11 2025-W49 | installs: 21 | removals: 6 | upgrades: 11 2025-W48 | installs: 33 | removals: 9 | upgrades: 11 2025-W48 | installs: 33 | removals: 9 | upgrades: 11 2025-W48 | installs: 33 | removals: 9 | upgrades: 11 2025-W47 | installs: 17 | removals: 6 | upgrades: 12 2025-W47 | installs: 17 | removals: 6 | upgrades: 12 2025-W47 | installs: 17 | removals: 6 | upgrades: 12 2025-W46 | installs: 21 | removals: 4 | upgrades: 11 2025-W46 | installs: 21 | removals: 4 | upgrades: 11 2025-W46 | installs: 21 | removals: 4 | upgrades: 11 2025-W45 | installs: 27 | removals: 8 | upgrades: 5 2025-W45 | installs: 27 | removals: 8 | upgrades: 5 2025-W45 | installs: 27 | removals: 8 | upgrades: 5 2025-W44 | installs: 18 | removals: 8 | upgrades: 24 2025-W44 | installs: 18 | removals: 8 | upgrades: 24 2025-W44 | installs: 18 | removals: 8 | upgrades: 24 2025-W43 | installs: 34 | removals: 5 | upgrades: 16 2025-W43 | installs: 34 | removals: 5 | upgrades: 16 2025-W43 | installs: 34 | removals: 5 | upgrades: 16 2025-W42 | installs: 32 | removals: 12 | upgrades: 9 2025-W42 | installs: 32 | removals: 12 | upgrades: 9 2025-W42 | installs: 32 | removals: 12 | upgrades: 9 2025-W41 | installs: 22 | removals: 5 | upgrades: 10 2025-W41 | installs: 22 | removals: 5 | upgrades: 10 2025-W41 | installs: 22 | removals: 5 | upgrades: 10 2025-W40 | installs: 22 | removals: 5 | upgrades: 10 2025-W40 | installs: 22 | removals: 5 | upgrades: 10 2025-W40 | installs: 22 | removals: 5 | upgrades: 10 2025-W39 | installs: 21 | removals: 3 | upgrades: 15 2025-W39 | installs: 21 | removals: 3 | upgrades: 15 2025-W39 | installs: 21 | removals: 3 | upgrades: 15 2025-W38 | installs: 18 | removals: 3 | upgrades: 21 2025-W38 | installs: 18 | removals: 3 | upgrades: 21 2025-W38 | installs: 18 | removals: 3 | upgrades: 21 2025-W37 | installs: 24 | removals: 6 | upgrades: 14 2025-W37 | installs: 24 | removals: 6 | upgrades: 14 2025-W37 | installs: 24 | removals: 6 | upgrades: 14 2025-W36 | installs: 35 | removals: 13 | upgrades: 14 2025-W36 | installs: 35 | removals: 13 | upgrades: 14 2025-W36 | installs: 35 | removals: 13 | upgrades: 14 2025-W35 | installs: 31 | removals: 10 | upgrades: 19 2025-W35 | installs: 31 | removals: 10 | upgrades: 19 2025-W35 | installs: 31 | removals: 10 | upgrades: 19 2025-W34 | installs: 24 | removals: 6 | upgrades: 23 2025-W34 | installs: 24 | removals: 6 | upgrades: 23 2025-W34 | installs: 24 | removals: 6 | upgrades: 23 2025-W33 | installs: 13 | removals: 4 | upgrades: 20 2025-W33 | installs: 13 | removals: 4 | upgrades: 20 2025-W33 | installs: 13 | removals: 4 | upgrades: 20 02040 WeeklyInstalls 01K2K WeeklyUpgrades 2026-W09 | upgrades: 1,864 7.2.0 / 7.1.0 2026-W08 | upgrades: 286 7.0.1
Installations: recent average 18 per week, 429,762 in total
Installations minus removals
Upgrades

Links

Versions

7.2.0 ·
2026-02-25 20:39

More

sublime-phpcs

This is a plugin for Sublime Text which provides checkstyle reports using the following tools (all optional):

You can also configure the plugin to fix the issues using either

Requirements

Requirements for this plugin, should you want all the options to work:

This plugin has been tested on:

It may work with other versions, but we cannot confirm that.

Installation

Use Sublime Text’s Package Control (Tools -> Command Palette -> Package Control: Install Package -> Phpcs) to install this plugin. This is the recommended installation path.

Or

Simply checkout the git repo into “~/Library/Application Support/Sublime Text/Packages/ or the equivalent folder on Windows or Linux.

cd ~/Library/Application\ Support/Sublime\ Text/Packages/
git clone git://github.com/benmatselby/sublime-phpcs.git Phpcs

In both cases, you may need to then configure the following with the actual path to the application:

They are optional for the plugin. The path needs to include the application such as /usr/local/bin/phpcs.

In order to get the path of the application (On a Mac/Linux based environment), you can use:

which phpcs
which phpmd
which php-cs-fixer
which phpcbf

Features

Once you have right clicked on a file and selected “PHP CodeSniffer” > “Sniff this file…” you will get the output as shown below (depending on the settings you have defined):

Configuration

You can also define the configuration for the following settings, be it for a project, user settings or the default settings:

Plugin

PHP_CodeSniffer

PHP CodeSniffer Fixer

PHP Code Beautifier

PHP Linter

PHP Mess Detector

Project Based Settings

Your .project file should look something like this:

{
  "folders": [{}],
  "settings": {
    "phpcs": {
      "phpcs_additional_args": {
        "--standard": "/path/to/.composer/vendor/drupal/coder/coder_sniffer/Drupal"
      }
    }
  }
}

Of course, this is an example of how to apply Drupal standards for the Code Sniffer. This could be anything. Whatever you can have on this package settings it can be overwritten under the settings -> phpcs.

Multi-Platform Settings

If you use this plugin across multiple operating systems (e.g. syncing settings between Windows and Linux), you can specify platform-specific values for any path setting by using a dictionary instead of a string. The supported platform keys are "windows", "linux", and "osx". You can also specify a "default" key as a fallback for platforms not explicitly listed.

{
  "phpcs_executable_path": {
    "windows": "c:\\xampp\\php\\bin\\phpcs",
    "linux": "/usr/bin/phpcs",
    "osx": "/usr/local/bin/phpcs"
  },
  "php_cs_fixer_executable_path": {
    "windows": "c:\\xampp\\php\\bin\\php-cs-fixer",
    "default": "/usr/local/bin/php-cs-fixer"
  },
  "phpcs_php_prefix_path": {
    "windows": "c:\\xampp\\php\\bin\\php",
    "default": ""
  }
}

This works for all path settings: phpcs_executable_path, phpcs_php_prefix_path, phpcs_php_path, php_cs_fixer_executable_path, phpcbf_executable_path, and phpmd_executable_path. Plain string values continue to work as before.

Variable Expansion

All string settings support Sublime Text variable expansion using the ${var} syntax. This is particularly useful for specifying project-relative config file paths. The most useful variables are:

For example, to point php-cs-fixer at a project-specific config file:

{
  "settings": {
    "phpcs": {
      "php_cs_fixer_additional_args": {
        "--config": "${project_path}/.php-cs-fixer.php"
      }
    }
  }
}

Or to use a project-local installation of phpcs:

{
  "settings": {
    "phpcs": {
      "phpcs_executable_path": "${folder}/vendor/bin/phpcs"
    }
  }
}

See the full list of available variables in the Sublime Text documentation.

FAQ

What do I do when I get "OSError: [Errno 8] Exec format error"?

What do I do when I get "OSError: [Error 2] No such file or directory"?

What do I do when I get "OSError: [Errno 13] Permission denied"?

$ which phpcs
/usr/local/bin/phpcs

What if I've installed the applications using Homebrew?

If you have installed php-cs-fixer, phpmd or phpcs via homebrew then please make sure that you define the "_executable_path" option to the .phar application and not the wrapper script that is placed in your bin folder, as this will cause odd behaviour.

What other Key Bindings can I setup?

The following is a list of commands that you can bind to a keyboard shortcut:

In order to achieve this you need to add the following to one of your key bindings settings file:

{ "keys": ["ctrl+super+t"], "command": "phpcs_clear_sniffer_marks" }

To decide which "Fixer" to use, you can do:

{ "keys": ["super+k", "super+f"], "command": "phpcs_fix_this_file", "args": {"tool": "CodeBeautifier"}},

or

{ "keys": ["super+k", "super+f"], "command": "phpcs_fix_this_file", "args": {"tool": "Fixer"}},

You can then change the ctrl+super+t combination to something of your choosing.

Results

Packages