Overview
Converse with a codebase-aware AI
Chat and its related features are only supported in: VS Code, JetBrains IDEs, Eclipse, X-Code, and Visual Studio.
Codeium Chat enables you to talk to your codebase from within your editor. Chat is powered by our industry-leading context awareness engine. It combines thoughtfully-designed, built-in context retrieval with optional user guidance to provide accurate and grounded answers.
In VS Code, Codeium Chat can be found by default on the left sidebar. If you wish to move it elsewhere, you can click and drag the Codeium icon and relocate it as desired.
You can use ⌘+⇧+A
on Mac or Ctrl+⇧+A
on Windows/Linux to open the chat panel and toggle focus between it and the editor.
You can also pop the chat window out of the IDE entirely by clicking the page icon at the top of the chat panel.
@-Mentions
In any given chat message you send, you can explicitly refer to context items from within the chat input by prefixing a word with @
.
Context items available to be @-mentioned:
- Functions & classes
- Only functions and classes in the local indexed
- Also only available for languages we have built AST parsers for (Python, TypeScript, JavaScript, Go, Java, C, C++, PHP, Ruby, C#, Perl, Kotlin, Dart, Bash, COBOL, and more)
- Directories and files in your codebase
- Remote repositories
- The contents of your in-IDE terminal (VS Code only).
You can also try @diff
, which lets you chat about your repository’s current git diff
state.
The @diff
feature is currently in beta.
Persistent Context
You can instruct the chat model to use certain context throughout a conversation and across different converstions
by configuring the Context
tab in the chat panel.
Chat shows you the context it is considering.
In this tab, you can see:
- Custom Chat Instructions: a short prompt guideline like “Respond in Kotlin and assume I have little familiarity with it” to orient the model towards a certain type of response.
- Pinned Contexts: items from your codebase like files, directories, and code snippets that you would like explicitly for the model to take into account. See also Context Pinning.
- Active Document: a marker for your currently active file, which receives special focus.
- Local Indexes: a list of local repositories that the Codeium context engine has indexed.
Slash Commands
You can prefix a message with /explain
to ask the model to explain something of your choice.
Currently, /explain
is the only supported slash command.
Let us know if there are other common workflows you want wrapped in a slash command.
Copy and Insert
Sometimes, Chat responses will contain code blocks. You can copy a code block to your clipboard or insert it directly into the editor at your cursor position by clicking the appropriate button atop the code block.
If you would like the AI to enact a change directly in your editor based on an instruction, consider using Codeium Command.
Inline Citations
Chat is aware of code context items, and its responses often contain linked references to snippets of code in your files.
Regenerate with Context
By default, Codeium makes a judgment call whether any given question is general or if it requires codebase context.
You can force the model to use codebase context by submitting your question with ⌘⏎
.
For a question that has already received a response, you rerun with context by clicking the sparkle icon.
Stats for Nerds
Lots of things happen under the hood for every chat message. You can click the stats icon to see these statistics for yourself.
Chat History
To revisit past conversations, click the history icon at the top of the chat panel.
You can click the +
to create a new conversation, and
you can click the ⋮
button to export your conversation.
Settings
Click on the Settings
tab to update your theme preferences (light or dark) and font size.
The settings panel also gives you an option to download diagnostics, which are debug logs that can be helpful
for the Codeium team to debug an issue should you encounter one.
Telemetry
To enable telemetry, open your VS Code settings and navigate to User > Application > Telemetry. In the following dropdown, select “all”.