Please provide feedback on your experience with code suggestions in your JetBrains IDE. We're looking for anything related to functionality and suggestion feedback.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Installation was easy. Although the plugin is missing a GitLab logo:
Suggestions appear as expected. However they appear below the suggestions from RubyMine. I would prefer GitLab's suggestions to come first as RubyMine tends to do a fairly bad job of autosuggesting.
When a suggestion is expected, in this case it overwrites the first half of the line with the suggestion. (Note how vali is missing despite me having written it)
Getting an exception when trying to use the plugin. I'm using RubyMine and the Beta UI
Version Details
RubyMine 2023.1.1Build #RM-231.8770.57, built on April 26, 2023Licensed to GitLab Inc.Runtime version: 17.0.6+10-b829.9 aarch64VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.macOS 13.3.1GC: G1 Young Generation, G1 Old GenerationMemory: 15264MCores: 10Metal Rendering is ONRegistry: debugger.new.tool.window.layout=true ide.experimental.ui=trueNon-Bundled Plugins: com.gitlab.gitlab-intellij-extension (1.0-SNAPSHOT) com.github.lonre.gruvbox-intellij-theme (0.6.1) com.majera.intellij.codereview.gitlab (2023.2.3.231) uk.co.ben-gibson.remote.repository.mapper (4.3.2) zielu.gittoolbox (500.0.8+213) izhangzhihao.rainbow.brackets (2023.2.7)
Exception
cannot reset configurablejava.lang.IllegalArgumentException: Argument for @NotNull parameter 'newText' of com/gitlab/intellij/AppSettingsComponent.setTokenText must not be null at com.gitlab.intellij.AppSettingsComponent.$$$reportNull$$$0(AppSettingsComponent.java) at com.gitlab.intellij.AppSettingsComponent.setTokenText(AppSettingsComponent.java) at com.gitlab.intellij.ApplicationSettingsConfigurable.reset(ApplicationSettingsConfigurable.java:50) at com.intellij.openapi.options.ex.ConfigurableWrapper.reset(ConfigurableWrapper.java:192) at com.intellij.openapi.options.ex.ConfigurableCardPanel.reset(ConfigurableCardPanel.java:193) at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$createConfigurableComponent$4(ConfigurableCardPanel.java:125) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:891) at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:69) at com.intellij.openapi.options.ex.ConfigurableCardPanel.createConfigurableComponent(ConfigurableCardPanel.java:112) at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:60) at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:57) at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:54) at com.intellij.ui.CardLayoutPanel.createValue(CardLayoutPanel.java:73) at com.intellij.ui.CardLayoutPanel.select(CardLayoutPanel.java:101) at com.intellij.ui.CardLayoutPanel.lambda$selectLater$0(CardLayoutPanel.java:132) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209) at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831) at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:456) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666) at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:570) at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570) at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343) at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113) at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1080) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:741) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:466) at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1675) at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1633) at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:90) at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:60) at com.intellij.ui.mac.MacOSApplicationProvider$Worker.initMacApplication$lambda$2$lambda$1(MacOSApplicationProvider.kt:71) at com.intellij.ui.mac.MacOSApplicationProvider$Worker.submit$lambda$6(MacOSApplicationProvider.kt:170) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209) at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831) at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:456) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666) at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:570) at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570) at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343) at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105) at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
@acook.gitlab We saw that issue yesterday and it seemed like just restarting the IDE worked. I suspect something isn't getting set right with the token.
Has anyone else tried this with GoLand? I'm not getting any suggestions from the GitLab plugin (unless I am and just can't tell they're from GitLab). I've installed the plugin and restarted twice (I don't have the Argument for @NotNull error anymore).
I'm interested to see how useful this will be given that Go is a static language, so code suggestions provided by the IDE are already somewhat helpful.
After testing it with GoLand, I've tried testing it with PyCharm. When I go to change the GitLab API token, it asks me for my password to access my keychain. I think it asked me about four times?
I restarted PyCharm and when I went to autocomplete (ctrl+space) it asked me for my password to access the keychain again. After I enter my password, it spins forever:
It's hard to justify using this (Go version tested). It hasn't come up with a single useful autocompletion for me yet.
For example, when creating a main.go, and writing package then <ctl+space>, it's pretty clear the answer is main. GitLab comes back with irc import( "bufio" "bytes".
Complaints so far are:
It hasn't produced anything meaningful, given the context of what I've been writing
There is a performance hit to autocompletion
The suggestions often finish the code blocks (adds ) and }) when they are not required
The suggestions often do not compile
I'd love to see support for common patterns built in. For example, if after calling a method that returns an error, maybe the code could suggest if err != nil { ... }.
@tmccaslin@nkhalwadekar - Feedback Issue for the JetBrains PoC. There's certainly code suggestions feedback in here, so we probably need to divide and conquer a little bit to know who is covering what, but wanted to make you all aware.
I installed this in RubyMine 2023.2 EAP, and added a token with all read accesses, but I'm not getting any suggestions. Also not getting any errors or notifications.
The suggestions seem awfully slow, too. But I wonder if this could be a local IDE memory problem. After initially installing the plugin I received a JVM low memory warning. I wonder if JVM args need to be tweaked with this plugin.
java.lang.RuntimeException: java.lang.RuntimeException: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode at com.gitlab.intellij.CodeSuggestionContributor.fillCompletionVariants(CodeSuggestionContributor.java:95) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81) at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.lambda$getVariantsFromContributor$1(CompletionServiceImpl.java:321) at com.intellij.diagnostic.telemetry.TraceKt.runWithSpan(trace.kt:74) at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.java:320) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:152) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:144) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:140) at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$1.addCompletions(LiveTemplateCompletionContributor.java:88) at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:23) at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:155) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81) at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.lambda$getVariantsFromContributor$1(CompletionServiceImpl.java:321) at com.intellij.diagnostic.telemetry.TraceKt.runWithSpan(trace.kt:74) at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.java:320) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:56) at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:132) at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:40) at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.lambda$performCompletion$2(CompletionServiceImpl.java:338) at com.intellij.diagnostic.telemetry.TraceKt.runWithSpan(trace.kt:74) at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.performCompletion(CompletionServiceImpl.java:327) at com.intellij.codeInsight.completion.CompletionProgressIndicator.lambda$calculateItems$11(CompletionProgressIndicator.java:870) at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:202) at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:112) at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:727) at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:201) at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:43) at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:866) at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:854) at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:371) at com.intellij.codeInsight.completion.AsyncCompletion.lambda$tryReadOrCancel$5(CompletionThreading.java:169) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1111) at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:167) at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$8(CodeCompletionHandlerBase.java:363) at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$0(CompletionThreading.java:92) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173) at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:88) at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:246) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833)Caused by: java.lang.RuntimeException: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode at com.gitlab.intellij.CodeSuggestionContributor.lambda$fillCompletionVariants$2(CodeSuggestionContributor.java:87) at com.intellij.openapi.application.ex.ApplicationUtil.lambda$runWithCheckCanceled$1(ApplicationUtil.java:43) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.application.ex.ApplicationUtil.lambda$runWithCheckCanceled$2(ApplicationUtil.java:41) ... 10 moreCaused by: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1794) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3236) at java.base/java.net.URLConnection.getHeaderFieldLong(URLConnection.java:637) at java.base/java.net.URLConnection.getContentLengthLong(URLConnection.java:509) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getContentLengthLong(HttpsURLConnectionImpl.java:372) at com.intellij.util.io.HttpRequests$RequestImpl.doReadBytes(HttpRequests.java:436) at com.intellij.util.io.HttpRequests$RequestImpl.readString(HttpRequests.java:425) at com.gitlab.intellij.CodeSuggestionContributor.lambda$fillCompletionVariants$1(CodeSuggestionContributor.java:72) at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:517) at com.intellij.util.io.HttpRequests.process(HttpRequests.java:499) at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:334) at com.gitlab.intellij.CodeSuggestionContributor.lambda$fillCompletionVariants$2(CodeSuggestionContributor.java:69) ... 17 more
Even when this setting is checked I've been receiving the same error (in IntelliJ and PyCharm). I double checked my personal access token. I got some suggestions in PyCharm (where the overwriting-bug mentioned above was present) but apart from that it only threw this error unfortunately.
Kai Armstrongchanged title from [Feedback] GitLab Code Suggestions for IntelliJ - Experiment to [Feedback] GitLab Code Suggestions for JetBrains IDE - Experiment
changed title from [Feedback] GitLab Code Suggestions for IntelliJ - Experiment to [Feedback] GitLab Code Suggestions for JetBrains IDE - Experiment
Seeing the below error with Webstorm IDE. Using WS version 2022.2. Have restarted the IDE as well after saving the token:
at com.gitlab.intellij.CodeSuggestionContributor.fillCompletionVariants(CodeSuggestionContributor.java:95) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:76) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:154) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:146) at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142) at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$1.addCompletions(LiveTemplateCompletionContributor.java:89) at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:25) at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:157) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:76) at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:59) at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:132) at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:43) at com.intellij.codeInsight.completion.CompletionProgressIndicator.lambda$calculateItems$11(CompletionProgressIndicator.java:870) at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:202) at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114) at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:663) at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:201) at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:43) at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:866) at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:854) at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$6(CodeCompletionHandlerBase.java:352) at com.intellij.codeInsight.completion.AsyncCompletion.lambda$tryReadOrCancel$5(CompletionThreading.java:172) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154) at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:170) at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:344) at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$0(CompletionThreading.java:95) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175) at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:91) at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:297) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833)Caused by: java.lang.RuntimeException: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode at com.gitlab.intellij.CodeSuggestionContributor.lambda$fillCompletionVariants$2(CodeSuggestionContributor.java:87) at com.intellij.openapi.application.ex.ApplicationUtil.lambda$runWithCheckCanceled$1(ApplicationUtil.java:43) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.application.ex.ApplicationUtil.lambda$runWithCheckCanceled$2(ApplicationUtil.java:41) ... 10 moreCaused by: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1794) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3221) at java.base/java.net.URLConnection.getHeaderFieldLong(URLConnection.java:637) at java.base/java.net.URLConnection.getContentLengthLong(URLConnection.java:509) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getContentLengthLong(HttpsURLConnectionImpl.java:372) at com.intellij.util.io.HttpRequests$RequestImpl.doReadBytes(HttpRequests.java:435) at com.intellij.util.io.HttpRequests$RequestImpl.readString(HttpRequests.java:424) at com.gitlab.intellij.CodeSuggestionContributor.lambda$fillCompletionVariants$1(CodeSuggestionContributor.java:72) at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:516) at com.intellij.util.io.HttpRequests.process(HttpRequests.java:498) at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:333) at com.gitlab.intellij.CodeSuggestionContributor.lambda$fillCompletionVariants$2(CodeSuggestionContributor.java:69) ... 17 more
This is a duplicate of #2 (comment 1397582778). @apahilajani You missed the first line of the stacktrace. Please consider adding a to the aforementioned post.
put an icon at the start of the suggestion so it can be distinguished from what the IDE provide. The suggestions are often multiple lines and do not break in the suggestion panel so the label that its from Gitlab is not seen
In future versions it would be better to have the suggestion in it's own panel that allows for line breaks so the suggestion is easier to read and one knows what they are getting.
It wrote this piece of code for me.
function array_to_csv(data, filename) { const csv = data.map(line => line.join(',')).join('\n'); const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = filename; const body = document.getElementsByTagName('body')[0]; body.appendChild(link); link.click(); body.removeChild(link);}
BTW, you may also want to consider adding a tool window where the full suggestions and alternative suggestions can be stored. This gives one the ability to see each suggestion and choose one. This the way Co-pilot does it and it works well.
It seems to me that the plugin does not yet support self-hosted GitLab instances, is that correct? The VS-Code plugin provides the option to add a custom GitLab URL in addition to the token.