SublimeCodeIntel

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

Github stars Tracking Chart

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).

Main metrics

Overview
Name With OwnerSublimeCodeIntel/SublimeCodeIntel
Primary LanguagePython
Program languagePython (Language Count: 1)
Platform
License:Other
所有者活动
Created At2011-05-31 00:53:31
Pushed At2023-08-28 06:04:21
Last Commit At2019-10-07 16:27:05
Release Count74
Last Release Namev3.0.0-rc.1 (Posted on )
First Release Namest2-v1.0 (Posted on )
用户参与
Stargazers Count5.1k
Watchers Count157
Fork Count526
Commits Count542
Has Issues Enabled
Issues Count649
Issue Open Count344
Pull Requests Count40
Pull Requests Open Count3
Pull Requests Close Count29
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private