TabNine

TabNine is the all-language autocompleter. It uses machine learning to provide responsive, reliable, and relevant suggestions.

Traditional autocompleters suggest one word at a time.

Why accept this limitation?

FeaturePremiumFree
Whole project indexingYesYes
.gitignore awarenessYesYes
Fuzzy matchingYesYes
No configuration necessaryYesYes
~20 millisecond response timeYesYes
Context-aware suggestionsYesYes
Vim supportYesYes
Sublime Text supportYesYes
VS Code supportYesYes
Atom supportYesYes
Up to 75 KB indexedYesYes
Up to 15 MB indexedYes

Install TabNine here. TabNine is easy to install and no configuration is necessary.

If TabNine does not work as soon as you install it, this is a bug and you should file an issue.

How does it work?

TabNine builds an index of your project, reading your .gitignore so that only source files are included. It uses this index to provide useful information to a softmax regression model which ranks candidate completions. For example, TabNine knows how often each pair of consecutive symbols appears in your project, so it knows that static void is more common than void static (although they are the same to a C++ compiler).

The candidate completions are then given to a secondary completion engine, which may suggest additional characters for completion, based on similar patterns found elsewhere in your project. This diagram illustrates the role of this completion engine:

Another abstraction layer parameterizes the patterns by the identifiers they contain, allowing TabNine to provide suggestions involving words that it has only seen once, such as String in this example:

Here is a diagram illustrating this process:

Installation

These instructions will install the free version. You can then upgrade it to the paid version using a license key.


Press Ctrl+P, paste the following command, and press enter.

ext install TabNine.tabnine-vscode

Then press the 'Reload' button in the extensions tab.

If you encounter problems, please file an issue here.

With Vundle

  1. Add Plugin 'zxqfl/tabnine-vim' to your .vimrc.
  2. Type :PluginInstall and press Enter.

Without Vundle

  1. Run git clone https://github.com/zxqfl/tabnine-vim in your terminal.
  2. Add set rtp+=~/tabnine-vim to your .vimrc (replacing ~/tabnine-vim with the path you cloned it to).

If you encounter problems, please file an issue here.

TabNine is pending review to be added to Package Control.

In the meantime, if your operating system is Linux or OSX, you can run the following command in your terminal:

curl -sS https://tabnine.com/sublime-install | sh
Then restart Sublime Text.

If your operating system is Windows, go to your Sublime Text packages folder at %APPDATA%\Sublime Text 3\Packages and then run git clone https://github.com/zxqfl/tabnine-sublime. After the clone command finishes, restart Sublime Text.

If you encounter problems, please file an issue here.

TabNine is available in Packages.

Simply search 'TabNine' and press 'Install'.

If you encounter problems, please file an issue here.

You can enter your email in this form to be notified when TabNine is released for a new text editor.

Buy a license

TabNine costs $29. It is currently in beta. When it is released, your software will automatically update to the full released version at no additional charge.

TabNine will save you at least 1 second per minute. If you value your time above $0.83/hour, it will pay for itself in less than a year. (Assuming 2087 hours in a work year.)