💡 Full-featured code intelligence and smart autocomplete for Sublime Text

Overview

SublimeCodeIntel

This Code Intelligence plugin for Sublime Text provides an interface to CodeIntel. CodeIntel is a code intelligence engine that was ported from Open Komodo Editor to a stand-alone Python package.

CodeIntel supports all the languages Komodo Editor supports for Code Intelligence (CIX, CodeIntel2) and a few others:

ActionScript, Django, Docker, EJS, epMojo, HTML, KomodoSnippet, LaravelBlade, Mason, Mustache, MXML, PHP, R, reStructuredText, RHTML, Smarty, TracWiki, TemplateToolkit, Twig, XBL, XML, XSLT, XUL, Python, Python3, Ruby, Perl, Go, ECMAScript, JavaScript, Node.js, CSS, SCSS, Sass, Less, HTML5, Tcl, C/C++, Objective-C.

The plugin provides the following features:

  • Jump to Symbol Definition - Jump to the file and line of the definition of a symbol.
  • Imports autocomplete - Shows autocomplete with the available modules/symbols in real-time.
  • Function Call tooltips - Displays information in the status bar about the working function.

The package should work on all three platforms (MacOS X, Windows, and Linux).

Click here to lend your support to CodeIntel/SublimeCodeIntel and make a donation!

CodeIntel Installation

Before installing SublimeCodeIntel, you must ensure that CodeIntel is installed on your system. To install CodeIntel, do the following:

  1. Install Python and pip (Python 3 requires pip3).

  2. Install CodeIntel by typing the following in a terminal:

    # For Python 2
    [sudo] pip install --upgrade --pre CodeIntel
    
    # For Python 3
    [sudo] pip3 install --upgrade --pre CodeIntel
    

Note: SublimeCodeIntel requires CodeIntel 2.0 or later.

Plugin Installation

With the Package Control plugin: The easiest way to install SublimeCodeIntel is through Package Control, which can be found at this site: http://wbond.net/sublime_packages/package_control

Once you install Package Control, restart Sublime Text and bring up the Command Palette (Command+Shift+P on OS X, Control+Shift+P on Linux/Windows). Select "Package Control: Install Package", wait while Package Control fetches the latest package list, then select SublimeCodeIntel when the list appears. The advantage of using this method is that Package Control will automatically keep SublimeCodeIntel up to date with the latest version.

**Without Git:** Download the latest source from GitHub and copy the whole directory into the Packages directory.

**With Git:** Clone the repository in your Sublime Text Packages directory, located somewhere in user's "Home" directory:

git clone git://github.com/SublimeCodeIntel/SublimeCodeIntel.git

The "Packages" packages directory is located differently on different platforms. To access the directory use:

  • OS X:

    Sublime Text -> Preferences -> Browse Packages...
    
  • Linux:

    Preferences -> Browse Packages...
    
  • Windows:

    Preferences -> Browse Packages...
    

Using

  • Start typing code, as usual, autocomplete will pop up whenever it's available. SublimeCodeIntel will also allow you to jump around symbol definitions even across files with just a click ..and back.

    For Mac OS X:

    • Jump to definition = Control+Click
    • Jump to definition = Control+Command+Alt+Up
    • Go back = Control+Command+Alt+Left
    • Manual Code Intelligence = Control+Shift+space

    For Linux:

    • Jump to definition = Super+Click
    • Jump to definition = Control+Super+Alt+Up
    • Go back = Control+Super+Alt+Left
    • Manual Code Intelligence = Control+Shift+space

    For Windows:

    • Jump to definition = Alt+Click
    • Jump to definition = Control+Windows+Alt+Up
    • Go back = Control+Windows+Alt+Left
    • Manual Code Intelligence = Control+Shift+space

Don't despair! The first time you use it it needs to build some indexes and it can take more than a few seconds.

It just works!

Configuring

For adding additional library paths (Django and extra libs paths for Python or extra paths to look for .js files for JavaScript for example), either add those paths as folders to your Sublime Text project or modify SublimeCodeIntel User settings. User settings can be configured in the User File Settings:

Do NOT edit the default SublimeCodeIntel settings. Your changes will be lost when SublimeCodeIntel is updated. ALWAYS edit the user SublimeCodeIntel settings by selecting "Preferences->Package Settings->SublimeCodeIntel->Settings - User". Note that individual settings you include in your user settings will completely replace the corresponding default setting, so you must provide that setting in its entirety.

Available settings:

  • A list of disabled languages can be set using "disabled_languages". Ex. "disabled_languages": ['css']
  • Live autocomplete can be disabled by setting "live" to false.
  • Information for more settings is available in the SublimeCodeIntel.sublime-settings file in the package.

Troubleshooting

If you are having problems or SublimeCodeIntel seems slow/unresponsive/non-working, there are some things you should try:

  1. Make sure the SublimeCodeIntel is not being treated as an ignored package.
  2. Regenerate indexing database.
  3. Open a new issue.

Ignored package?

To make sure Sublime Text didn't add SublimeCodeIntel to the list of ignored packages (this happens some times when packages are being installed/upgraded):

  • Select the Preferences/Settings - Default menu item
  • Find the ignored_packages setting and remove SublimeCodeIntel from the list.

Regenerate index

To force re-indexation of the code intelligence database you need to follow these steps:

  • Close Sublime Text
  • Open a terminal or navigate through your directories to find the directory ~/.codeintel that contains codeintel.log, VERSION and the directory db. In Windows, this should be at %userprofile%\.codeintel.
  • Delete the whole directory ~/.codeintel and all of its content. Particularly, if you want to delete only the indexes, the code intelligence database indexes are located inside ~/.codeintel/db.
  • Start Sublime Text
  • Try doing some code intelligence with the files in your project and enjoy a clean re-indexing! (Remember that the database is being regenerated with this procedure, so you'll see it takes some time to autocomplete the first few times, you'll have to wait a bit for things to be fast again)

Opening an issue

If the problems persist after trying the above solutions, open a new issue in https://github.com/SublimeCodeIntel/SublimeCodeIntel/issues/

When opening new issues, please check no other issues exist which report the same problem and provide all the messages from the Sublime Text console (the console is accessed via the ctrl+` shortcut or the View > Show Console menu) and the ~/.codeintel/codeintel.log file (%userprofile%\.codeintel\codeintel.log in Windows) as well as mentioning the Sublime Text version, the platform you are using and the languages you are using the code intelligence on.

What's New

v3.0.0 (unreleased, beta):

  • Uses CodeIntel as an OOP command and package. Needs to install CodeIntel with pip: pip install --upgrade --pre CodeIntel

v2.2.0 (2015-03-26):

  • Fixed issue with tabs and autocomplete

License

The plugin is based on code from the Open Komodo Editor and has an MPL license.

Ported from Open Komodo by German M. Bravo (Kronuz).

Comments
  • Consistently High CPU usage on ubuntu

    Consistently High CPU usage on ubuntu

    I noticed that when I have this package installed, after a few minutes, sublime text 2 is using nearly 100% of one of my CPU cores, drastically reducing my laptops battery life. It's consistent - it will use high CPU the entire time I'm running sublime text 2.

    -Mario

    status:resolved 
    opened by Rio517 55
  • Sublime text became really slow after yesterday's patch.

    Sublime text became really slow after yesterday's patch.

    Hi,

    ST2 automatically downloaded the new update yesterday, and it made my ST2 feel very sluggy. When I do keypress, keys appear after 2 seconds and meanwhile stuck the ST2.

    I also get the "A plugin (SublimeCodeIntel) may be making Sublime Text unresponsive" error message upon startup.

    I also see "Info: Doing CodeIntel for 'PHP' (hold on) message on each restart. Am I the only one to have those problems or new update messed something up?

    opened by Aristona 46
  • CodeIntel Doesn't work

    CodeIntel Doesn't work

    Well, I tested in with PHP, Ruby on Rails and CSS and it worked only with CSS. In PHP and Ruby on Rails it just doesn't show any pop-up, and when I check the console it says updating indexes (over and over again), or processing PHP or whatever...

    I just uninstalled it and got back to the normal auto completion, I hope you can fix it because I think the plugin is pretty awesome if it works.

    ver:1.x 
    opened by AdamGold 44
  • Code completion and Jump to Symbol Declaration not working on Ubuntu 11.04

    Code completion and Jump to Symbol Declaration not working on Ubuntu 11.04

    I installed Sublime Text 2 (build 2126) and installed SublimeCodeIntel using Package Control. I am not able to get code completion or Jump to Symbol Declaration working :(

    Languages Tested: Python, PHP, Java (partially)

    OS: Ubuntu 11.04 64Bit

    Sublime Text 2 Build: 2126

    ver:1.x 
    opened by arunshankerprasad 44
  • Coffeescript support

    Coffeescript support

    Hey,

    Can the node.js / js completion work with coffeescript?

    I've added this to my user config "codeintel_syntax_map": { "JavaScript": "Node.js", "CoffeeScript": "Node.js" },

    And it seems like codeintel is working in the status bar, but the completion isn't working

    Any ideas?

    type:feature prio:low 
    opened by dmmalam 37
  • PHP array tooltip won't go away

    PHP array tooltip won't go away

    See screenshots below - after creating an array, the tooltip keeps appearing, and hitting enter will do nothing. The tooltip still appears even after adding keys/values to the array.

    screen shot 2013-10-21 at 09 55 00 screen shot 2013-10-21 at 09 55 16 screen shot 2013-10-21 at 09 55 22

    opened by kinglozzer 34
  • Code Intel Unavailable to use PHP

    Code Intel Unavailable to use PHP

    I'm experiencing errors working with PHP.

    Log shows this:

    =================================================================================================
    + Info: processing `PHP': please wait...
    Doing CodeIntel for 'PHP' (hold on)...
    + Warning: `/var/www/site.org/application/controller/AdminController.php' (PHP) is not a language that uses CIX
    + Info: Doing CodeIntel for 'PHP' (hold on)...
    

    And after reinstall it and having the log open:

     Invalid language: Plain text. Available: SCSS, Sass, Less, Python, JavaScript, Perl, Node.js, Tcl, CSS, Ruby, Python3
    

    It is a fresh installation of Ubuntu and a fresh installation of ST2

    opened by citosid 33
  • HTML suggestion issue

    HTML suggestion issue

    Keep on suggesting I close a closed tag over and over again, ie

    Foobar (I press enter here, it suggest "title> (element)" and will keep suggesting it.*).

    This issue affects HTML in PHP as well. Very annoying. Is there a way to turn of live autocomplete just for HTML? I've tried the language specific configurations but I can't seem to disable auto complete that way.

    Thanks for suggestions.

    • - ps, Why does it suggest closing HTML tags without the "</" part of it!?
    status:unreproducible 
    opened by babakness 32
  • Frequently hangs until ALT is pressed on Ubuntu 11.04

    Frequently hangs until ALT is pressed on Ubuntu 11.04

    When I'm coding in Python, I've noticed that a lot of the time SublimeCodeIntel locks up while I'm typing. The strange this is that I can still hit CTRL+S to save and have the file actually get saved, but nothing gets updated on the screen. However, I recently realized that if I hit "ALT", it immediately causes the screen to get updated. Not sure if this is a SublimeCodeIntel issue or a ST2 issue, but it can be quite frustrating (especially since your plugin is so frequently useful otherwise).

    ver:1.x 
    opened by dan-blanchard 30
  • CodeIntel pops up even though

    CodeIntel pops up even though "live" is set to false

    I have "live" set to false, but nonetheless the SublimeCodeIntel popup pops up every time I start typing something that it can autocomplete. I have tried reinstalling but it doesn't seem to work. Anything else I can do to try and fix it?

    opened by minitauros 28
  • Javascript completing after semi-colon

    Javascript completing after semi-colon

    Hi,

    Now at the end of a line (;), the auto-completer always pops up, and if I press enter as usual, I get length added. How can I stop auto-completion after a semi-colon?

    Thanks, Peter

    opened by peterorum 26
  • Not working on Apple M1 Max

    Not working on Apple M1 Max

    reloading python 3.3 plugin SublimeCodeIntel.ordereddict
    reloading python 3.3 plugin SublimeCodeIntel.SublimeCodeIntel
    Traceback (most recent call last):
      File "/Users/myuser/config/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/libs/_SilverCity.py", line 12, in <module>
        from _local_arch._SilverCity import *
    ImportError: No module named '_local_arch'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Applications/Sublime Text.app/Contents/MacOS/Lib/python33/sublime_plugin.py", line 308, in reload_plugin
        m = importlib.import_module(modulename)
      File "./python3.3/importlib/__init__.py", line 90, in import_module
      File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
      File "<frozen importlib._bootstrap>", line 1022, in load_module
      File "<frozen importlib._bootstrap>", line 1003, in load_module
      File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
      File "<frozen importlib._bootstrap>", line 868, in _load_module
      File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
      File "/Users/myuser/config/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/SublimeCodeIntel.py", line 109, in <module>
        from codeintel2.common import CodeIntelError, EvalTimeout, LogEvalController, TRG_FORM_CPLN, TRG_FORM_CALLTIP, TRG_FORM_DEFN
      File "/Users/myuser/config/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/libs/codeintel2/common.py", line 86, in <module>
        import SilverCity
      File "/Users/myuser/config/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/libs/SilverCity/__init__.py", line 1, in <module>
        import _SilverCity
      File "/Users/myuser/config/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/libs/_SilverCity.py", line 16, in <module>
        from _macosx_universal_py33._SilverCity import *
    ImportError: dlopen(/Users/myuser/config/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/arch/_macosx_universal_py33/_SilverCity.so, 0x0002): tried: '/Users/myuser/config/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/arch/_macosx_universal_py33/_SilverCity.so' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64e')), '/usr/lib/_SilverCity.so' (no such file)
    
    opened by h0jeZvgoxFepBQ2C 3
  • Difference between LSP and CodeIntel

    Difference between LSP and CodeIntel

    I would like to know the difference between using LSP and CodeIntel, because if I know it then it would be easy for me to choose which one to use in which work environment.

    Also I would like to know is it possible to use both at the same time.

    Are both equal or have slight difference in different scopes like one if better in Auto completion that the other so that I can have a configuration where I disable weaker features and enable better feature.

    "Just out of Curiosity"

    opened by rerorengine 0
  • is this abandonded?

    is this abandonded?

    The amount of open tickets says so.

    My problem: "codeintel_live" setting does not work.

    I can't disable the popup ("codeintel_tooltips" also does not work in that regard).

    But CodeIntel popups don't have snippets in them, so I can't use snippets with CodeIntel.

    I just have to uninstall the whole thing. And then? There is no popup at all. I'd have to install a clean ST.

    Win10, ST4, SCI 3, Javascript

    opened by br4nnigan 3
  • SublimeCodeIntel python lang snippets are annoying under ST4

    SublimeCodeIntel python lang snippets are annoying under ST4

    I just upgraded to ST4...

    the snippets for Python lang are now annoying because of the way they trigger while typing

    e.g. attempting to type a class def like:

    class WTF:
        attr = 1
    

    what happens is that as soon as I type the colon after WTF, the autocomplete pops up, and then hitting enter selects the first option.

    So the code I end up with is:

    class WTF:__init__
    

    …with my cursor positioned after the t in “init”

    Screenshot 2021-05-27 at 11 11 39

    I believe these come from SublimeCodeIntel as disabling the package stops this snippets autocomplete from popping up, and I don't have any other Python-lang-specific packages installed (and apparently they are not coming from ST4 itself)

    opened by anentropic 1
  • Crashes Sublime text 4

    Crashes Sublime text 4

    Hey,

    I just installed this on sublime text 4 (released yesterday) on the newest version of macos big sur. This causes the beach ball to spin forever and sublime text to eventually crash with the attached error log. crashlog.txt It does appear to fully work after the crash during installation though.

    opened by jkterry1 0
Enhancements to Sublime Text sidebar. Files and folders.

Sidebar Enhancements In other languages Japanese - http://taamemo.blogspot.jp/2012/10/sublime-text-2-sidebarenhancements.html?m=1 Russian - https://ww

Tito 2.1k Dec 27, 2022
Emmet for Sublime Text

This plugin is deprecated and no longer maintained, please use new version. Emmet for Sublime Text Official Emmet plugin for Sublime Text. How to inst

Sergey Chikuyonok 5.3k Jan 5, 2023
A full-featured Laravel package for aiding in Shopify App development

Laravel Shopify App A full-featured Laravel package for aiding in Shopify App development, similar to shopify_app for Rails. Works for Laravel 7 and u

Tyler King 1.2k Dec 19, 2022
A full-featured Laravel package for aiding in Shopify App development

Laravel Shopify App A full-featured Laravel package for aiding in Shopify App development, similar to shopify_app for Rails. Works for Laravel 7 and u

Tyler King 1.2k Jan 1, 2023
Bring multi themes support to your Laravel application with a full-featured Themes Manager

Introduction hexadog/laravel-themes-manager is a Laravel package which was created to let you developing multi-themes Laravel application. Installatio

hexadog 86 Dec 15, 2022
Electrik is a full-featured, open-source, starter-kit to help you build you your SaaS application.

Electrik Electrik is a full-featured and open-source stater-kit for for your next SaaS application. It's built on top of Laravel, Livewire, neerajsoha

Electrik 129 Dec 31, 2022
Fearless refactoring, it does a lot of smart checks to find certain errors.

Find Bugs Before They Bite Built with ❤️ for lazy laravel developers ;) Why repeat the old errors, if there are so many new errors to commit. (Bertran

Iman 1.2k Dec 29, 2022
The source code of the Full Stack Europe website.

Full Stack Europe This repository contains the source code for the https://fullstackeurope.com website. Requirements The following tools are required

Full Stack Europe 36 Dec 4, 2022
Laravel package to convert English numbers to Bangla number or Bangla text, Bangla month name and Bangla Money Format

Number to Bangla Number, Word or Month Name in Laravel | Get Wordpress Plugin Laravel package to convert English numbers to Bangla number or Bangla te

Md. Rakibul Islam 50 Dec 26, 2022
Laravel package to convert English numbers to Bangla number or Bangla text, Bangla month name and Bangla Money Format

Number to Bangla Number, Word or Month Name in Laravel | Get Wordpress Plugin Laravel package to convert English numbers to Bangla number or Bangla te

Md. Rakibul Islam 50 Dec 26, 2022
Easily add a full Laravel blog (with built in admin panel and public views) to your laravel project with this simple package.

Webdevetc BlogEtc - Complete Laravel Blog Package Quickly add a blog with admin panel to your existing Laravel project. It has everything included (ro

WebDevEtc. 227 Dec 25, 2022
Viewi for Laravel: Build full-stack and completely reactive user interfaces with PHP.

[WIP] Laravel Viewi This is just a proof-of-concept. Don't use it in production! Viewi for Laravel: Build full-stack and completely reactive user inte

Protone Media 5 Jan 26, 2022
Integrates the Trix Editor with Laravel. Inspired by the Action Text gem from Rails.

Integrates the Trix Editor with Laravel. Inspired by the Action Text gem from Rails. Installation You can install the package via composer: composer r

Tony Messias 267 Jan 4, 2023
An online communication application that provides a real-time or live transmission of text messages from sender to receiver.

Realtime-chat-application An online communication application that provides a real-time or live transmission of text messages from sender to receiver.

isha 2 Aug 15, 2022
🔌 Convert Bootstrap CSS code to Tailwind CSS code

Tailwindo This tool can convert Your CSS framework (currently Bootstrap) classes in HTML/PHP (any of your choice) files to equivalent Tailwind CSS cla

Awssat 938 Dec 24, 2022
A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

Livewire 17.7k Jan 1, 2023
Laravel Livewire full page component routing.

Laravel Livewire Routes Laravel Livewire full page component routing. This package allows you to specify routes directly inside your full page Livewir

null 22 Oct 6, 2022
Use Blade templates without the full Laravel framework

blade Use Laravel Blade templates as a standalone component without the full Laravel framework Full documentation is available at http://duncan3dc.git

Craig Duncan 138 Dec 7, 2022
Scout Extended: The Full Power of Algolia in Laravel

Documentation • Community Forum • Stack Overflow • Report a bug • FAQ • Support To dig right in, visit the Scout Extended documentation. Scout Extende

Algolia 378 Dec 1, 2022