Tabnine - AI assistant & Chat for software developers

Add this URL to your Eclipse Installation to reach this solution's update site.

2024-03 (4.31), 2023-12 (4.30), 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)

https://eclipse-update-site.tabnine.com/Tabnine/latest

Learn more...
Solution Description

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

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.

 

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 90-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

Additional Details

Eclipse Versions: 2024-03 (4.31), 2023-12 (4.30), 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: Production/Stable

Date Created: Tuesday, April 18, 2023 - 09:42

License: Commercial

Date Updated: Monday, March 25, 2024 - 15:09

Submitted by: Avichay Libeskind Mulyan

Date Ranking Installs Clickthroughs
April 2024 59/684 645 24
March 2024 55/694 778 31
February 2024 55/687 672 22
January 2024 63/691 688 27
December 2023 59/671 647 22
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
View Data for all Listings

Unsuccessful Installs

Unsuccessful Installs in the last 7 Days: 3

Download last 500 errors (CSV)

Marketplace Drag to Install Button

By adding the following code below to your website you will be able to add an install button for Tabnine - AI assistant & Chat for software developers.

HTML Code:

Markdown Syntax:

Output:

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

Reviews Add new review

I've been using Tabnine alongside Eclipse with the Darkest Dark Theme enabled, and I've encountered some visual glitches in Dark Mode. The chat feature within Tabnine appears in white and many areas are difficult to read. This makes it challenging to interact effectively with the chat functionality.

To improve the user experience, it would be beneficial if Tabnine could address these compatibility issues with the Darkest Dark Theme. Additionally, allowing users to manually select between light and dark modes as a fallback option would provide flexibility in case of compatibility failures.

Looking forward to seeing these improvements implemented in future updates.

Best regards.

Tabnine is a great AI model for eclipse. I had trouble setting it up but their support team helped me out.

If you're having trouble with installation, try this github.com/equodev/eclipse-ai-example#readme

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)

In reply to 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.

Seems like one of the required packages is no longer available.

Here is the output from Eclipse:

An error occurred while collecting items to be installed
session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
Result of processing steps.
OK
OK
OK
Public key not found for -9147676190077153272.
OK
Result of processing steps.
OK
OK
OK
Public key not found for -9147676190077153272.
OK
No repository found containing: osgi.bundle,ch.qos.logback.slf4j,1.2.3.v20221112-0806

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]

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