This repository is a placeholder, the code repository will be made open source soon. For now, please submit issues under this repository.
Tabnine for visual studio has been released!
This is the Visual Studio TabNine client, advanced AI based autocomplete for all programming languages. TabNine Indexes your entire project by reading your
.gitignore or others, and determines which files to index.
TabNine is part of Codota
Deep TabNine is trained on around 2 million files from GitHub. During training, TabNines goal is to predict the next token given the tokens that came before. To achieve this goal, TabNine learns complex behaviour, such as type inference in dynamically typed languages.
Deep TabNine can use subtle clues that are difficult for traditional tools to access. For example,
the return type of
app.get_user()is assumed to be an object
with setter methods, while the return type of
app.get_users() is assumed to be a list.
Deep TabNine is based on GPT-2, which uses the Transformer network architecture. This architecture was first developed to solve problems in natural language processing. Although modelling code and modelling natural language might appear to be unrelated tasks, modelling code requires understanding English in some unexpected ways.
TabNine requires consumption of memory resources when being run locally on your computer. It may incur some latency that is not optimal to all PCs. With that in mind, TabNine has developed a Cloud solution, called TabNine Deep Cloud.
We understand that users concerned with their privacy prefer to keep their code on their own machine. Rest assured that were taking the following steps to address this concern: For individual developers, we are working on a reduced-size model which can run on a laptop with reasonable latency. Update: weve released TabNine Local. For enterprise users, we will soon roll-out the option to license the model and run it on your own hardware. We can also train a custom model for you which understands the unique patterns and style within your codebase. If this could be relevant to you or your team, we would love to hear more about your use case at [email protected]. Enabling TabNine Deep 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 isnt used, saved or logged in any way.
TabNine works for all programming languages. TabNine does not require any configuration in order to work. TabNine does not require any external software (though it can integrate with it). Since TabNine does not parse your code, it will never stop working because of a mismatched bracket.
By default, TabNine makes web requests only for the purposes of downloading updates and validating registration keys. In this case your code is not sent anywhere, even to TabNine servers. You may opt in to TabNine Deep Cloud, which allows you to use TabNines servers for GPU-accelerated completions powered by a deep learning model. If sending code to a cloud service is not possible, we also offer a self-hosted option. Contact us at [email protected]
A note on licensing: this repo includes source code as well as packaged TabNine binaries. The MIT license only applies to the source code, not the binaries. The binaries are covered by the TabNine End User License Agreement.