Talk to your codebase
Continue indexes your codebase so that it can later automatically pull in the most relevant context from throughout your workspace. This is done via a combination of embeddings-based retrieval and keyword search. By default, all embeddings are calculated locally using transformers.js
and stored locally in ~/.continue/index
.
Note: transformers.js
cannot be used in JetBrains IDEs. However, you can
select a different embeddings model from the list
here.
Currently, the codebase retrieval feature is available as the “codebase” and “folder” context providers. You can use them by typing @Codebase
or @Folder
in the input box, and then asking a question. The contents of the input box will be compared with the embeddings from the rest of the codebase (or folder) to determine relevant files.
Here are some common use cases where it can be useful:
foo
method in the bar
class, following the patterns seen in other subclasses of baz
.@Folder
to ask questions about a specific folder, increasing the likelihood of relevant results
@Folder
instead of @Codebase
Here are use cases where it is not useful:
foo
function is called”bar
function and update usages”There are a few options that let you configure the behavior of the @codebase
context provider, which are the same for the @folder
context provider:
nRetrieve
Number of results to initially retrieve from vector database (default: 25)
nFinal
Final number of results to use after re-ranking (default: 5)
useReranking
Whether to use re-ranking, which will allow initial selection of nRetrieve
results, then will use an LLM to select the top nFinal
results (default: true)
Continue respects .gitignore
files in order to determine which files should not be indexed. If you’d like to exclude additional files, you can add them to a .continueignore
file, which follows the exact same rules as .gitignore
.
Continue also supports a global .continueignore
file that will be respected for all workspaces, which can be created at ~/.continue/.continueignore
.
If you want to see exactly what files Continue has indexed, the metadata is stored in ~/.continue/index/index.sqlite
. You can use a tool like DB Browser for SQLite to view the tag_catalog
table within this file.
If you need to force a refresh of the index, reload the VS Code window with cmd/ctrl + shift + p + “Reload Window”.
Models in the Claude 3, Llama 3.1/3.2, Gemini 1.5, and GPT-4o families will automatically use a repository map during codebase retrieval, which allows the model to understand the structure of your codebase and use it to answer questions. Currently, the repository map only contains the filepaths in the codebase.