Assistant Commands
Overview
Slash commands enhance the assistant's capabilities. Begin by typing a /
at the beginning of the line to see a list of available commands:
/default
: Inserts the default prompt into the context/diagnostics
: Injects errors reported by the project's language server into the context/fetch
: Fetches the content of a webpage and inserts it into the context/file
: Inserts a single file or a directory of files into the context/now
: Inserts the current date and time into the context/prompt
: Adds a custom-configured prompt to the context (see Prompt Library)/symbols
: Inserts the current tab's active symbols into the context/tab
: Inserts the content of the active tab or all open tabs into the context/terminal
: Inserts a select number of lines of output from the terminal
Other Commands:
/search
: Performs semantic search for content in your project based on natural language- Not generally available yet, but some users may have access to it.
/workflow
: Opts into the edit workflow for a specific context- Not generally available yet.
Note: Remember, commands are only evaluated when the context is created or when the command is inserted, so a command like
/now
won't continuously update, or/file
commands won't keep their contents up to date.
/default
Read more about /default
in the Prompting: Editing the Default Prompt section.
Usage: /default
/diagnostics
The /diagnostics
command injects errors reported by the project's language server into the context. This is useful for getting an overview of current issues in your project.
Usage: /diagnostics [--include-warnings] [path]
--include-warnings
: Optional flag to include warnings in addition to errors.path
: Optional path to limit diagnostics to a specific file or directory.
/file
The /file
command inserts the content of a single file or a directory of files into the context. This allows you to reference specific parts of your project in your conversation with the assistant.
Usage: /file <path>
You can use glob patterns to match multiple files or directories.
Examples:
/file src/index.js
- Inserts the content ofsrc/index.js
into the context./file src/*.js
- Inserts the content of all.js
files in thesrc
directory./file src
- Inserts the content of all files in thesrc
directory.
/now
The /now
command inserts the current date and time into the context. This can be useful letting the language model know the current time (and by extension, how old their current knowledge base is).
Usage: /now
/prompt
The /prompt
command inserts a prompt from the prompt library into the context. It can also be used to nest prompts within prompts.
Usage: /prompt <prompt_name>
Related: /default
/symbols
The /symbols
command inserts the active symbols (functions, classes, etc.) from the current tab into the context. This is useful for getting an overview of the structure of the current file.
Usage: /symbols
/tab
The /tab
command inserts the content of the active tab or all open tabs into the context. This allows you to reference the content you're currently working on.
Usage: /tab [tab_name|all]
tab_name
: Optional name of a specific tab to insert.all
: Insert content from all open tabs.
Examples:
/tab
- Inserts the content of the active tab./tab "index.js"
- Inserts the content of the tab named "index.js"./tab all
- Inserts the content of all open tabs.
/terminal
The /terminal
command inserts a select number of lines of output from the terminal into the context. This is useful for referencing recent command outputs or logs.
Usage: /terminal [<number>]
<number>
: Optional parameter to specify the number of lines to insert (default is a 50).
/workflow
The /workflow
command inserts a prompt that opts into the edit workflow. This sets up the context for the assistant to suggest edits to your code.
Usage: /workflow
Extensibility
Additional slash commands can be provided by extensions.
See Extension: Slash Commands to learn how to create your own.