PHP completions for Sublime Text.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Minimum Sublime Version Latest Stable Version GitHub stars Downloads Author

Provides PHP completions for Sublime Text.


  • PHP ~7
  • Scoped to minimise auto-complete noise
  • Language constructs
  • Magic constants
  • Magic methods
  • Constants
  • Functions
  • Type hints: Classes, Interfaces, Exceptions, Instantiables, etc.
  • Supported extensions: bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, libxml, mbstring, mhash, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_sqlite, Phar, posix, readline, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend, OPcache, zip, zlib.
  • PSR compatible


Package Control installation

The preferred method of installation is Package Control.

Manual installation

Close Sublime Text, then download or clone this repository to a directory named PHP Completions Kit in the Sublime Text Packages directory for your platform:

  • Linux: git clone ~/.config/sublime-text-3/Packages/PHP Completions Kit
  • OSX: git clone ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/PHP Completions Kit
  • Windows: git clone %APPDATA%\Sublime/ Text/ 3/Packages/PHP Completions Kit


By default, completions are triggered automatically when typing. If the setting auto_complete is set to false then completions must be manually triggered.

Completions are context aware, meaning they are only provided in relevant contexts e.g. type hints will trigger at class Name extends |, function(|, /* @var | */, exception trigger at try {} catch(|, interfaces at class name implements |, instantiables new |, etc.

Relating Sublime Text key bindings:

OS X Windows Linux Description
Ctrl+Space Ctrl+Space Alt+/ Activate completions

Relating Sublime Text settings:

    // By default, auto complete will commit the current completion on enter.
    // This setting can be used to make it complete on tab instead.
    // Completing on tab is generally a superior option, as it removes
    // ambiguity between committing the completion and inserting a newline.
    "auto_complete_commit_on_tab": false,

    // Controls if auto complete is shown when snippet fields are active.
    // Only relevant if auto_complete_commit_on_tab is true.
    "auto_complete_with_fields": false,

Set them globally: Menu > Preferences > Settings:

    "auto_complete_commit_on_tab": true,
    "auto_complete_with_fields": true

Set them per-project: Menu > Project > Edit Project:

    "settings": {
        "auto_complete_commit_on_tab": true,
        "auto_complete_with_fields": true




Released under the BSD 3-Clause License.