/vscode-code-autocomplete

Unofficial TabNine client (all-language autocomplete) for the VS Code.

Primary LanguageTypeScriptMIT LicenseMIT

Code Autocomplete · Visual Studio Marketplace

Unofficial TabNine client (all-language autocomplete) for the VS Code.

Difference between official TabNine extension:

  • Updated README to contain as much documentation as possible.
  • Added more VS Code settings and TabNine commands.
  • Kept only . and : trigger characters.
  • Removed restriction to show only 1 result if end of the word is . or ::.
  • Always shows correct suggestion detail for e.g. 41% or TabNine.
  • Won't preselect TabNine suggestions.
  • De-prioritized TabNine suggestions to be at the end of the list whenever it's possible.
  • Changed TabNine suggestions kind from property to text in order to avoid misunderstanding which suggestions are from TabNine.
  • Triggers suggestion list if suggestion ends with . or ::.
  • Included postfix in suggestions for e.g. instead of log( it will show log().
  • Disabled suggestions in Git input (commit message), for VS Code JSON files like settings.json, etc.
  • Starts TabNine process on VS Code startup.
  • Automatically downloads latest TabNine binary on VS Code startup.
  • Bundled extension for faster startup.
  • For a full list of changes you can take a look at the CHANGELOG.

Installation

Install through VS Code extensions, search for Code Autocomplete by Benas Svipas. If you can't find extension by name try to search by publisher name.

Usage

After installing this extension latest TabNine binary is automatically downloaded. After TabNine binary is downloaded you can immediately start to use TabNine in VS Code, you don't need to do anything additionally. But if you want to improve experience with TabNine, continue to read below.

Semantic completion

Semantic completion permits suggestions which make use of language-specific information via Language Server Protocol. In other words it improves suggestions.

If you want to enable semantic completion for specific language open file in text editor and use command palette or type command in active file.

Read more about semantic completion.

Plans

Free
  • Project size limit: 400 KB
  • Code completions for all languages:
  • Code completions based on your code:
  • Deep TabNine completions based on millions of open source projects:
  • Works offline:
  • Deep TabNine Cloud - use GPU-accelerated cloud servers (optional): x
  • Priority support: x
  • Self-hosted option: x
  • Train a model specialized for your code: x
Professional

Try TabNine Professional for a 14-day free trial.

  • Project size limit: Unlimited
  • Code completions for all languages:
  • Code completions based on your code:
  • Deep TabNine completions based on millions of open source projects:
  • Works offline:
  • Deep TabNine Cloud - use GPU-accelerated cloud servers (optional):
  • Priority support:
  • Self-hosted option: x
  • Train a model specialized for your code: x
Enterprise

Contact TabNine at enterprise@tabnine.com for pricing and information.

  • Project size limit: Unlimited
  • Code completions for all languages:
  • Code completions based on your code:
  • Deep TabNine completions based on millions of open source projects:
  • Works offline:
  • Deep TabNine Cloud - use GPU-accelerated cloud servers (optional):
  • Priority support:
  • Self-hosted option:
  • Train a model specialized for your code:

Local vs Cloud

Local

TabNine Local uses your machine's CPU to run a deep learning model for providing completions. Your code stays on your machine.

Cloud

Enabling TabNine Cloud sends small parts of your code to our servers to provide GPU-accelerated completions. Other than for the purpose of fulfilling your query, your data isn't used, saved or logged in any way.

Commands & Settings

Command palette

Commands below are available in VS Code command palette.

  • TabNine: open config: opens configuration panel
  • TabNine: restart: restarts TabNine
  • TabNine: enable semantic completion for current language: enables semantic completion for current language
  • TabNine: disable semantic completion for current language: disables semantic completion for current language
Text

Commands below are available in VS Code active file, to use them simply type the command.

  • TabNine::config: opens configuration panel
  • TabNine::version: returns current TabNine version
  • TabNine::config_dir: returns directory where TabNine stores its configuration
  • TabNine::active: checks whether TabNine has been activated
  • TabNine::restart: restarts TabNine
  • TabNine::become_beta_tester: enables beta releases of TabNine
  • TabNine::disable_auto_update: disables automatic updates
  • TabNine::enable_auto_update: enables automatic updates
  • TabNine::ignore_semantic: ignores semantic completion error messages
  • TabNine::unignore_semantic: enables semantic completion error messages
  • TabNine::sem: enables semantic completion for current language
  • TabNine::no_sem: disables semantic completion for current language
Settings

Settings below are available in VS Code.

  • tabnine.enable: enables TabNine completions
  • tabnine.debug: enables debug mode
  • tabnine.maxNumberOfResults: maximum number of results returned by TabNine
  • tabnine.disabledLanguagesIds: list of languages IDs to disable
  • tabnine.requestTimeout: timeout in milliseconds after which TabNine request is terminated
  • tabnine.charLimit: maximum number of characters before and after your current position is sent to TabNine

Contributing

Feel free to open issues or PRs!

Credits

All credits belongs to Codota, TabNine and Jacob Jackson.

License

This repository includes source code of VS Code extension as well as bundled TabNine binaries. The MIT license only applies to the source code of VS Code extension, not the binaries! The binaries are covered by the TabNine End User License Agreement.