There is now a Sublime Text 3 compatible version of SublimeCodeIntel, thanks to the hard work of Germán M. Bravo (aka Kronuz). I had a job getting it to correctly index my project files though. I’m posting here what I did, in the hopes it’ll help someone else out.
1. Use the development branch
I’m not using the Package Control version of SublimeCodeIntel (I’ve looked at the version numbers and they are the same, but I couldn’t get it to work). Instead, I’m using a Git checkout of the development branch.
In the Sublime Text menu, go to Preferences -> Browse Packages. From this directory I ran the command:
git clone -b development [email protected]:SublimeCodeIntel/SublimeCodeIntel.git
2. Clear your codeintel cache
Your codeintel cache probably needs clearing if, like me, you’ve had older versions of SublimeCodeIntel installed.
To do this, quit Sublime Text then go to your home directory and delete the entire .codeintel directory (eg. on OS X this is at ~/.codeintel). If you have a config file in there that you’ve made changes to, back it up first.
3. Fix the language-specific config
This appears to have been the key problem for me. Inexplicably, SublimeCodeIntel’s default config disables project scanning for PHP and JavaScript files. Why? Who knows.
To fix it, open the Sublime Text menu and go to Preferences -> Package Settings -> SublimeCodeIntel -> Settings – Default. At the bottom of this file are language-specific settings for Python, JavaScript, and PHP.
Do not edit this config directly. Instead copy its contents completely and paste it into your user settings (Preferences -> Package Settings -> SublimeCodeIntel -> Settings – User). Then delete the PHP and JavaScript settings from the bottom, or at least change the codeintel_scan_files_in_project
settings to true
.
4. Be patient
When you first begin typing a function name or other entity that triggers codeintel, the status bar will show you that the initial scan is taking place. I’ve noticed that this status message disappears before scanning is actually complete, or it’ll state that scanning is complete when it’s not. Be patient, and it will get there eventually.