Any reason to use this over TabNine[1]? I’ve been using that for months, and only have good things to say about it. It’s like it’s reading your mind. Strong recommendation.
Daniel from Kite here. TabNine is great! And at the end of the day, Kite's completions and TabNine serve the same purpose. However there are a couple of differences in how we designed Kite vs TabNine.
First, the most important consideration for us was if our completions model could provide a good user experience 1) locally and 2) with minimal CPU and memory usage footprint. While we're constantly tuning the product's performance, Kite already uses less memory and CPU than TabNine. We know how important it is to save resources (and battery life!) when you're developing, so this was a huge sticking point for us.
Second, we've also put a ton of thought into dealing with the visual noise that completions of this nature introduce. The completions that are predicted by models such as Kite's and TabNine's can sometimes be irrelevant or redundant, so it's important to design filters that reduce the amount of what we call "low value" completions shown so that developers are less distracted. In Python, we have a best-in-class static analysis engine that we use to filter out low value completions. We don't have our own proprietary JS static analysis engine yet, but we've done some UX "hacks" to make sure Kite's JS completions aren't redundant and don't crowd out other completions the user may find useful e.g. native completions from the IDE.
Third, (and this is a point mainly for Python), is that Kite is much more than just completions. We also provide help for calling functions, instant documentation and we have some more features in the works. Completions certainly help developers physically write code, but we know that "writing code" also includes a lot of reading, debugging, etc. So we're trying to build a product that helps out developers in all phases.
Does Kite's VSCode extension work with Github Codespaces?
You can now install vscode-server on a remote machine and connect to it over ssh from your local vscode or even from vscode in the browser (using Visual Studio CodeSpaces or the upcoming Github Codespaces)
Kite currently doesn't work with remote coding in VS Code. That said, we're always open to integrating with more platforms, especially if there's strong enough demand from our users.
I've come back to TabNine after a hiatus and do see the occasional lag or the process thrashing at 100% of a core. Depending on mood I'll kill it or let it recover. I find myself forgiving any sporadic lags thanks to the productivity gains.
Dror from TabNine here.
We've introduced some big improvements in TabNine's resource consumption in the last few weeks, and there's more to come. In addition, TabNine's Professional version (free trial available) lets you use our GPU cloud servers which means dramatically reduced load on your machine.
Thanks for the comment, I came back to TabNine after your previous comment, and I am glad that the issues (mostly performance) looks to be resolved, yet I need to play more with it.
There's evidence that you guys have been astroturfing this thread. We ban accounts and sites that do that. Please stop now and never do this on HN again.
First, the most important consideration for us was if our completions model could provide a good user experience 1) locally and 2) with minimal CPU and memory usage footprint. While we're constantly tuning the product's performance, Kite already uses less memory and CPU than TabNine. We know how important it is to save resources (and battery life!) when you're developing, so this was a huge sticking point for us.
Second, we've also put a ton of thought into dealing with the visual noise that completions of this nature introduce. The completions that are predicted by models such as Kite's and TabNine's can sometimes be irrelevant or redundant, so it's important to design filters that reduce the amount of what we call "low value" completions shown so that developers are less distracted. In Python, we have a best-in-class static analysis engine that we use to filter out low value completions. We don't have our own proprietary JS static analysis engine yet, but we've done some UX "hacks" to make sure Kite's JS completions aren't redundant and don't crowd out other completions the user may find useful e.g. native completions from the IDE.
Third, (and this is a point mainly for Python), is that Kite is much more than just completions. We also provide help for calling functions, instant documentation and we have some more features in the works. Completions certainly help developers physically write code, but we know that "writing code" also includes a lot of reading, debugging, etc. So we're trying to build a product that helps out developers in all phases.