GoogleCloudPlatform / cloud-code-intellij

Plugin to support the Google Cloud Platform in IntelliJ IDEA - Docs and Issues Repository
Apache License 2.0
318 stars 59 forks source link

Gemini Code completions do not work when running over remote connections #3195

Open jshelman opened 2 months ago

jshelman commented 2 months ago

Expected Behavior

Code completions should work correctly in remote (host) ide window.

Actual Behavior

Code completions do not work when running Remote ide thru ssh connection. Language server logs show a valid response from Gemini aicompanion endpoint, but do not make it to IDE window.

idea.log 2024-04-16 04:59:34,868 [ 121166] WARN - duet-ai-language-server - Rendering inline completion failed com.intellij.diagnostic.PluginException: Positive width should be defined for an inline element by import org.springframework.boot.SpringApplication; [Plugin: com.google.gct.core] at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23) at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:90) at com.intellij.openapi.editor.impl.InlineInlayImpl.doUpdate(InlineInlayImpl.java:75) at com.intellij.openapi.editor.impl.InlayImpl.(InlayImpl.java:34) at com.intellij.openapi.editor.impl.InlineInlayImpl.(InlineInlayImpl.java:27) at com.intellij.openapi.editor.impl.InlayModelImpl.addInlineElement(InlayModelImpl.java:154) at com.google.cloud.tools.intellij.languageclient.aicompanion.InlineCompletionResultProvider.renderCompletionTextInInlays(InlineCompletionResultProvider.kt:252) at com.google.cloud.tools.intellij.languageclient.aicompanion.InlineCompletionResultProvider.renderInlineCompletionText(InlineCompletionResultProvider.kt:192) at com.google.cloud.tools.intellij.languageclient.aicompanion.InlineCompletionResultRenderingService$sendRequestAndRender$1$1.invokeSuspend(InlineCompletionResultRenderingService.kt:170) ...

Additional Information

ivanporty commented 2 months ago

Thanks for the report @jshelman. Remote environments do no support the mechanism we use to render the completions - we are currently working to change this into a better implementation and will let you know once it's ready.