continuedev / continue

⏩ Continue is the leading open-source AI code assistant. You can connect any models and any context to build custom autocomplete and chat experiences inside VS Code and JetBrains
https://docs.continue.dev/
Apache License 2.0
15.78k stars 1.19k forks source link

Jetbrains extension not working at all. #2058

Open amirhossein-ka opened 3 weeks ago

amirhossein-ka commented 3 weeks ago

Before submitting your bug report

Relevant environment info

- OS:Linux mint Willma
- Continue: 0.0.62
- IDE:Goland 2024.1.1 and Phpstorm 2023.2.2

Description

When installing extensions on a freshly installed Goland, extension window is blank. without anything to see or click. I suspected that it was an issue like #2040 so i added "disableIndexing": true in config.json, but nothing changed.

And on phpstorm the window did show the ui, but it was stuck at initializing after changing configuration. Also there was no logs in ~/.continue/logs/core.log.

Edit: I tried it with older version of goland (2023.2) and the ui loads but it shows a little notification that says: Core process exited with error:

To reproduce

  1. Install extension on jetbrains ide
  2. Either no UI for extension or Don't start correctly.

Log output

Before `"disableIndexing": true` :

[info] Starting Continue core...
[2024-08-21T07:34:23] [info] Starting Continue core... 
[2024-08-21T07:34:23] Setup 
[2024-08-21T07:34:23] Core started 
[2024-08-21T07:34:24] Indexing: 0.0% complete, elapsed time: 0s, NaN file/sec 
[2024-08-21T07:34:25] Indexing: 25.0% complete, elapsed time: 2s, 1.00 file/sec 
[2024-08-21T07:34:25] Indexing: 25.0% complete, elapsed time: 2s, 1.00 file/sec 
[2024-08-21T07:34:25] error when indexing:  Error: Failed to generate embeddings for 12 chunks with provider: _TransformersJsEmbeddingsProvider::all-MiniLM-L6-v2: Error: `local_files_only=true` or `env.allowRemoteModels=false` and file was not found locally at "/snapshot/continue/binary/models/all-MiniLM-L6-v2/tokenizer.json".
[2024-08-21T07:34:35] (node:17551) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `continue-binary --trace-warnings ...` to show where the warning was created) 

After "disableIndexing": true:

[info] Starting Continue core...
[2024-08-21T07:35:42] [info] Starting Continue core... 
[2024-08-21T07:35:42] Setup 
[2024-08-21T07:35:42] Core started 
fry69 commented 3 weeks ago

The error tries to tell you that the default transformer.js based embeddings model does not work with JetBrains.

You need to either use a remote embeddings API via Voyage or OpenAI or setup a local Ollama server running an embeddings model (those to not use much compute and run happily on CPU), for more see here -> https://docs.continue.dev/features/codebase-embeddings#ollama

You do not need to setup a re-ranker LLM, you can skip that, that is optional.

amirhossein-ka commented 3 weeks ago

Thank you for your response. I already have an embedding model, but its running on another machine. Is there anyway to config plugin to use that ? I already have the config for it in config.json file, but still not working.

Edit: After changing config.json to add nomic-embed-text, tab auto completion now works, but the extension window is still blank.

fry69 commented 3 weeks ago

I assume that restarting the editor did not help. Can you please your full config.json (without API keys of course) and also have a look into the logs if there are any relevant errors now?

amirhossein-ka commented 3 weeks ago

here is config.json

{
  "models": [
      {
          "model": "deepseek-coder-v2:16b",
          "title": "Deekseek Coder v2",
          "apiBase": "http://ollama.local:11434",
          "provider": "ollama"
      }

  ],
  "customCommands": [
    {
      "name": "test",
      "prompt": "{{{ input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
      "description": "Write unit tests for highlighted code"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Starcoder2 3b",
    "provider": "ollama",
    "model": "starcoder2:3b",
    "apiBase": "http://ollama.local:11434"
  },
  "contextProviders": [
    {
      "name": "diff",
      "params": {}
    },
    {
      "name": "folder",
      "params": {}
    },
    {
      "name": "codebase",
      "params": {}
    }
  ],
  "slashCommands": [
    {
      "name": "edit",
      "description": "Edit selected code"
    },
    {
      "name": "comment",
      "description": "Write comments for the selected code"
    },
    {
      "name": "share",
      "description": "Export the current chat session to markdown"
    },
    {
      "name": "commit",
      "description": "Generate a git commit message"
    }
  ],
    "embeddingsProvider": {
    "title": "embeding",
    "provider": "ollama",
    "model": "nomic-embed-text",
    "apiBase": "http://ollama.local:11434"
  }
}

and this is log:

[2024-08-21T11:11:33] [info] Starting Continue core... 
[2024-08-21T11:11:33] Setup 
[2024-08-21T11:11:33] Core started 
[2024-08-21T11:11:33] Indexing: 0.0% complete, elapsed time: 0s, NaN file/sec 
[2024-08-21T11:11:33] Indexing: 25.0% complete, elapsed time: 1s, 2.00 file/sec 
[2024-08-21T11:11:33] Indexing: 25.0% complete, elapsed time: 1s, 2.00 file/sec 
[2024-08-21T11:11:34] Indexing: 25.0% complete, elapsed time: 1s, 2.00 file/sec 
[2024-08-21T11:11:34] Indexing: 25.0% complete, elapsed time: 1s, 2.00 file/sec 
[2024-08-21T11:11:34] Indexing: 25.0% complete, elapsed time: 1s, 2.00 file/sec 
[2024-08-21T11:11:34] Indexing: 50.0% complete, elapsed time: 1s, 4.00 file/sec 
[2024-08-21T11:11:34] Indexing: 50.0% complete, elapsed time: 1s, 4.00 file/sec 
[2024-08-21T11:11:34] Indexing: 50.0% complete, elapsed time: 1s, 4.00 file/sec 
[2024-08-21T11:11:34] error when indexing:  TypeError: Cannot read properties of undefined (reading 'id')
[2024-08-21T11:11:44] (node:34549) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `continue-binary --trace-warnings ...` to show where the warning was created)
fry69 commented 3 weeks ago

Now the problem seems to be ->

error when indexing:  TypeError: Cannot read properties of undefined (reading 'id')

(and I guess the extension crashes which produces the empty sidebar)

Can you please verify two things?

amirhossein-ka commented 3 weeks ago

stop your editor, delete the ~/.continue/index folder, start your editor again and see if you get the same error in the log?

After deleteing index folder that error was gone but still the window was blank.

cross check if this error also happens (or not) with a small, mostly empty test repository?

I created a new project with a single file, also no error, but the side bar was empty again

This is new logs

[info] Starting Continue core...
[2024-08-21T11:42:00] [info] Starting Continue core... 
[2024-08-21T11:42:00] Setup 
[2024-08-21T11:42:00] Core started 
[2024-08-21T11:42:00] Indexing: 0.0% complete, elapsed time: 0s, NaN file/sec 
[2024-08-21T11:42:01] Indexing: 25.0% complete, elapsed time: 1s, 0.00 file/sec 
[2024-08-21T11:42:01] Indexing: 25.0% complete, elapsed time: 1s, 0.00 file/sec 
[2024-08-21T11:42:05] Indexing: 25.0% complete, elapsed time: 5s, 0.00 file/sec 
[2024-08-21T11:42:05] Indexing: 50.0% complete, elapsed time: 5s, 0.20 file/sec 
[2024-08-21T11:42:05] Indexing: 50.0% complete, elapsed time: 5s, 0.20 file/sec 
[2024-08-21T11:42:05] Indexing: 50.0% complete, elapsed time: 5s, 0.20 file/sec 
[2024-08-21T11:42:05] Indexing: 50.0% complete, elapsed time: 5s, 0.20 file/sec 

[2024-08-21T11:42:58] (node:37871) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `continue-binary --trace-warnings ...` to show where the warning was created)
fry69 commented 3 weeks ago

Thank you for the valuable information, but I am officially out of ideas, please have a look @sestinj :)

amirhossein-ka commented 3 weeks ago

Thank you for your time (:

By the way, i just tested the exact same config on a windows machine with pycharm 2024.2, and it is working smoothly !

AlexeyMatskevich commented 2 weeks ago

I had the same problem, couldn't track down what caused it, but deleting it helped

rm -rf ~/.continue/index

NixOS 24.05, Jetbrains RustRover

amirhossein-ka commented 2 weeks ago

Thank you but i already tried that and still no luck ):

amirhossein-ka commented 2 weeks ago

@cp1c2gl Thank you ! The default JetBrains Runtime was version 17.0.11b, and it already said that it had JCEF, so i tried another version (21.0.2) and it started rendering the extension window 😄

By the way, there was another issue that i mentioned in first message, should i open a new issue for it ?

And on phpstorm the window did show the ui, but it was stuck at initializing after changing configuration. Also there was no logs in ~/.continue/logs/core.log.

alexandrosk commented 2 weeks ago

Same problem here, exactly, clean installation and local models :/

Edit: downgrading to July's version for jetbrains, worked :)

sestinj commented 1 week ago

@alexandrosk you mean the downgrading the IDE and not Continue right? Was this all with version 0.0.65 of Continue?

alexandrosk commented 1 week ago

@alexandrosk you mean the downgrading the IDE and not Continue right? Was this all with version 0.0.65 of Continue?

Downgrade continue I didn't change anything in ide

amirhossein-ka commented 1 week ago

I just want to add that i was using version 0.0.63 and it was working fine with changing Jetbrains runtime, but after upgrading to 0.0.65 it stopped working /:

The problem in 0.0.65 is that it does not show the local models that i added in config.json.

LymanBE commented 1 week ago

Fwiw, I just did a fresh install on the latest Jetbrains CLion (2024.2.0.1 on MacOS 14.4 Arm64) and found the same issue with 0.0.65 from the default plugin repo and 0.0.66 from the EAP plugin repo.

I got autocomplete working via codestral (after manually changing the base api, which seems to be a different issue), so it seems like continue.dev is loading and processing the config.json.

However, the chat window is broken in a few ways:

As a temporary workaround based on other comments here, I just manually downloaded 0.0.64 from the Jetbrains Continue.dev plugin page and installed it manually. That seems to have resolved the error.

The ~/.continue logs do not seem to show any useful debugging info related to this behavior (but I'm not yet very familiar with continue.dev so may not be looking in the right place). It seems like the errors are more with the calls to the Jetbrains GUI, so displayed by the IDE GUI, not in continue's logs.

So, whatever the issue, it seems to be specifically introduced in 0.0.65 (which has been published as the default install) and still in 0.0.66, and it completely breaks the chat functionality, rendering the plugin largely unusable.

I suspect this should be a pretty high priority fix for the jetbrains plugin, seeing as it completely breaks it.

jknaus commented 1 week ago

I had the same Problems as @LymanBE with PyCharm 2024.2.1 and updating to Continue-Plugin 0.0.65 on Fedora 39. I could not choose a model (the drop down menu was completely empty) or open a new chat, only autocompletion did work. I first removed the ~/.continue folder to set it up from scratch again but that did not help. After I chose uninstall from within Pycharm, then trashed the .~/continue folder, restarted PyCharm and installed everything new, it now works again.