AI assistant for software developers
Code faster with AI code completions & Chat
What’s Tabnine
Tabnine is an AI code assistant that makes you a better developer. Tabnine will increase your development velocity with real-time code completions & Chat in all the most popular coding languages and IDEs.
Whether you call it IntelliSense, intelliCode, autocomplete, AI-assisted code completion, AI-powered code completion, AI copilot, AI code snippets, code suggestion, code prediction, code hinting, or content assist, using Tabnine can massively impact your coding velocity, significantly cutting down your coding time.
Ask away, Tabnine Chat is here to answer (Beta)
Tabnine Chat is a private and secure AI assistant that’s been trained on permissible open-source code only, and is always available to answer any of your questions right in your IDE.
With Tabnine Chat you can basically ask any question regarding code, for example, you can generate code that performs a specific task, generate tests for specific code, generate documentation for existing code, explain the purpose of legacy code, and way more.
Want to join the Beta? Sign up here
Under the hood / Tabnine technology
Tabnine is powered by multiple language-specialized machine-learning models that were pre-trained from the ground up on code. All of Tabnine’s AI models are trained on open-source code with permissive licenses. Tabnine's AI completions can be run on a developer's laptop, on a server behind your firewall, or in the cloud.
Complete code privacy
Your code always remains private.
Tabnine NEVER stores or shares any of your code. Any action that shares your code with the Tabnine servers for the purpose of private code models (part of enterprise) requires explicit opt-in. Tabnine does not retain any user code beyond the immediate time frame required for training models. Private code models created by Tabnine Enterprise are only accessible by your team members.
Trained on open-source code with permissive licenses
Tabnine only uses open-source code with permissive licenses for our Public Code trained AI model (MIT, MIT-0, Apache-2.0, BSD-2-Clause, BSD-3-Clause, Unlicense, CC0-1.0, CC-BY-3.0, CC-BY-4.0, RSA-MD, 0BSD, WTFPL, ISC). Whether you’re using Tabnine’s Pro plan or our Basic plan, your code, and AI data are NEVER used to train any models other than private code models.
Learn more
Tabnine Pro - whole line, full function, and natural language to code completions
You’re in control - As you type, Tabnine Pro serves whole-line, full-function, and even natural language to code completions. You can accept your whole line completion or keep typing to get more real-time alternatives that keep adapting to your code context.
Start a Free Tabnine Pro 14-day trial
Tabnine Enterprise
Everything Tabnine Pro & much more - The perfect solution for businesses with custom needs:
Automate Remote Knowledge Sharing - Share knowledge effortlessly across countries and time zones. Tabnine learns your code patterns, providing expert guidance to every member of your team at any time of day.
Improve Code Quality & Consistency - Tabnine Improves code consistency across your entire project, suggesting completions that align with your best practices for code that’s easier to read, manage, and maintain.
Accelerate Developer Onboarding - Tabnine’s AI assistant helps speed new team members through the onboarding process with instant inline coding guidance minimizing the training burden placed on senior developers.
Reduce Code Review Iterations - Your Tabnine AI assistant will help you get the right code the first time. Tabnine provides code guidance that’s consistent with your team’s best practices, saving costly and frustrating code review iterations.
Self-hosting - Host Tabnine locally to comply with your business’ security requirements.
Private code repository models - Tabnine Enterprise offers custom models based on multiple repositories. Connect your GitHub/GitLab/Bitbucket repositories and train your own private AI model to get personalized code completions that match your coding style & patterns.
FAQ
Something not working the way you hoped? Tabnine Support is always happy to help. Feel free to contact us anytime at support@tabnine.com
Categories: Editor, Programming Languages, Tools
Tags: code completion, AI, chat, AI Assistant
Additional Details
Eclipse Versions: 2023-09 (4.29), 2023-06 (4.28), 2023-03 (4.27), 2022-12 (4.26), 2022-09 (4.25), 2022-06 (4.24), 2022-03 (4.23), 2021-12 (4.22), 2021-09 (4.21), 2021-06 (4.20), 2021-03 (4.19), 2020-12 (4.18)
Platform Support: Windows, Mac, Linux/GTK
Organization Name: Tabnine
Development Status: Beta
Date Created: Tuesday, April 18, 2023 - 09:42
License: Commercial
Date Updated: Wednesday, November 15, 2023 - 02:15
Submitted by: Avichay Libeskind Mulyan
Date | Ranking | Installs | Clickthroughs |
---|---|---|---|
December 2023 | 66/593 | 202 | 5 |
November 2023 | 58/686 | 775 | 40 |
October 2023 | 104/673 | 397 | 35 |
September 2023 | 119/663 | 327 | 22 |
August 2023 | 96/673 | 421 | 27 |
July 2023 | 88/668 | 479 | 28 |
June 2023 | 60/669 | 745 | 34 |
May 2023 | 50/671 | 1010 | 34 |
April 2023 | 128/667 | 305 | 20 |
March 2023 | 0/0 | 0 | 0 |
February 2023 | 0/0 | 0 | 0 |
January 2023 | 0/0 | 0 | 0 |
Unsuccessful Installs
Unsuccessful Installs in the last 7 Days: 1
Count | Error Message |
---|---|
1 | Cannot continue the operation. There is another install operation in progress. |
Reviews Add new review
Works great!
Submitted by Ned Twigg on Wed, 07/12/2023 - 14:35
If you're having trouble with installation, try this github.com/equodev/eclipse-ai-example#readme
Can't install on Eclipse 2023-06
Submitted by Gavin Yang on Wed, 06/28/2023 - 01:31
When installing Tabnine 0.1.8, Eclipse pops up the Trust Authorities window. When I choose the checkbox of Tabnine update site, I get the error:
An error has occurred. See error log for more details. Cannot invoke "org.eclipse.jface.viewers.TreeNode.getChildren()" because "treeNode" is null
Here is the details:
!ENTRY org.eclipse.jface 4 2 2023-06-28 13:19:50.390
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.NullPointerException: Cannot invoke "org.eclipse.jface.viewers.TreeNode.getChildren()" because "treeNode" is null
at org.eclipse.equinox.internal.p2.ui.dialogs.TrustAuthorityDialog.getAllChildren(TrustAuthorityDialog.java:823)
at org.eclipse.equinox.internal.p2.ui.dialogs.TrustAuthorityDialog.getAllChildren(TrustAuthorityDialog.java:818)
at org.eclipse.equinox.internal.p2.ui.dialogs.TrustAuthorityDialog.lambda$3(TrustAuthorityDialog.java:257)
at org.eclipse.jface.viewers.CheckboxTreeViewer$1.run(CheckboxTreeViewer.java:168)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.jface.viewers.CheckboxTreeViewer.fireCheckStateChanged(CheckboxTreeViewer.java:165)
at org.eclipse.jface.viewers.CheckboxTreeViewer.handleSelect(CheckboxTreeViewer.java:295)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1205)
at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:421)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4274)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.equinox.internal.p2.ui.ValidationDialogServiceUI.lambda$18(ValidationDialogServiceUI.java:467)
at org.eclipse.ui.internal.PendingSyncExec.run(PendingSyncExec.java:68)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:172)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4047)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3663)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.epp.internal.mpc.ui.commands.AbstractMarketplaceWizardCommand.openWizardDialog(AbstractMarketplaceWizardCommand.java:146)
at org.eclipse.epp.internal.mpc.ui.commands.AbstractMarketplaceWizardCommand.execute(AbstractMarketplaceWizardCommand.java:73)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:309)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:243)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4274)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Re: Can't install on Eclipse 2023-06
Submitted by Tzuf Stokelman on Thu, 06/29/2023 - 02:50
In reply to Can't install on Eclipse 2023-06 by Gavin Yang
Try to Install Tabnine on Eclipse 2023-03
Re: Re: Can't install on Eclipse 2023-06
Submitted by Gavin Yang on Thu, 07/13/2023 - 10:55
In reply to Re: Can't install on Eclipse 2023-06 by Tzuf Stokelman
It's OK on Eclipse 2023-03. The issue still exists on version 0.19 while installed on Eclipse 2023-06.
Re: Re: Re: Can't install on Eclipse 2023-06
Submitted by Tzuf Stokelman on Sun, 07/16/2023 - 04:50
In reply to Re: Re: Can't install on Eclipse 2023-06 by Gavin Yang
Thanks for letting us know. We are working on a fix.
Tabnine installer mess up the whole Eclipse installer
Submitted by Alessandro Borges on Tue, 07/18/2023 - 10:30
In reply to Can't install on Eclipse 2023-06 by Gavin Yang
The Tabnine install is a complete failure.
It hangs at "Trusted Certificate Authorities" and do not complete the installation.
And it gets worst: After that, you can't install nor update anything until you go to Preferences -> Install/Update -> Available Software Sites and then remove the Tabnine site.
It's a shame, as it was a very promising plug-in.
Re: Tabnine installer mess up the whole Eclipse installer
Submitted by Tzuf Stokelman on Wed, 07/19/2023 - 09:10
In reply to Tabnine installer mess up the whole Eclipse installer by Alessandro Borges
We are sorry to hear that. What version of Eclipse do you use? Try it on 03-2023
Re: Tabnine installer mess up the whole Eclipse installer
Submitted by Tzuf Stokelman on Thu, 07/20/2023 - 01:50
In reply to Tabnine installer mess up the whole Eclipse installer by Alessandro Borges
Try:
Window->Preferences->Install/Update->Trust
Move to the Authorities tab
Click "Add"
paste https://eclipse-update-site.tabnine.com
Apply and Close
Install the plugin from the marketplace as usual
Error when installing plugin on Eclipse 2021-12 (4.22)
Submitted by Moisés Álvarez on Tue, 06/06/2023 - 07:18
Seems like one of the required packages is no longer available.
Here is the output from Eclipse:
Re: Error when installing plugin on Eclipse 2021-12 (4.22)
Submitted by Tzuf Stokelman on Wed, 06/21/2023 - 03:50
In reply to Error when installing plugin on Eclipse 2021-12 (4.22) by Moisés Álvarez
Hi,
Please contact support@tabnine.com with all the details and we will take care of you.
Cannot complete the install
Submitted by 樾 巫 on Mon, 06/05/2023 - 23:04
Cannot complete the install because some dependencies are not satisfiable
Software being installed: a.jre.javase 18.0.0
Software being installed: Tabnine for Eclipse 0.1.8 (com.tabnine.eclipse.feature.feature.group 0.1.8)
Cannot satisfy dependency:
From: Tabnine-eclipse 0.1.8 (com.tabnine.eclipse 0.1.8)
To: osgi.ee; (&(osgi.ee=JavaSE)(version=11))
Cannot satisfy dependency:
From: Tabnine for Eclipse 0.1.8 (com.tabnine.eclipse.feature.feature.group 0.1.8)
To: org.eclipse.equinox.p2.iu; com.tabnine.eclipse [0.1.8,0.1.8]
Re: Cannot complete the install
Submitted by Tzuf Stokelman on Wed, 06/21/2023 - 03:49
In reply to Cannot complete the install by 樾 巫
Hi,
Please contact support@tabnine.com with all the details and we will take care of you.
Cannot install to STS 4
Submitted by Jeevan Sunkersett on Mon, 04/24/2023 - 08:16
After attempting to install I get the error;
Unable to read repository at https location eclipse-update-site.tabnine.com/content.xml.
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Re: Cannot install to STS 4
Submitted by Eran Yahav on Wed, 04/26/2023 - 14:36
In reply to Cannot install to STS 4 by Jeevan Sunkersett
Checked the install on STS4 and it works well. Could it be a problem trying to access Tabnine behind a firewall?