Code Autocomplete · 
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.