Context
Context mentions are a powerful way to provide VJSP with specific information about your project, enabling it to perform tasks more accurately and efficiently. You can use mentions to reference files, folders, problems, Git commits, and more. Context mentions start with the @ symbol.
Overview of context mentions, showing the @ symbol dropdown menu in the chat interface.
Mention Types
File mentions add actual code content into the conversation for direct reference and analysis.
| Mention Type | Format | Description | Example Usage |
|---|---|---|---|
| File | @/path/to/file.ts | Includes file content in the request context | "Explain the function in @/src/utils.ts" |
| Folder | @/path/to/folder/ | Provides directory structure in tree format | "What files are in @/src/components/?" |
| Problems | @problems | Includes diagnostic info from the IDE Problems panel | "Fix all errors in my code using @problems" |
| Terminal | @terminal | Includes recent terminal commands and output | "Fix the error shown in @terminal" |
| Git Commit | @a1b2c3d | References a specific commit by its hash | "What changed in commit @a1b2c3d?" |
| Git Changes | @git-changes | Shows uncommitted changes | "Suggest a commit message for @git-changes" |
| URL | @https://example.com | Imports website content | "Summarize @https://vjsp.net/" |
File Mentions
File mentions combine line numbers with source code for precise referencing.
| Feature | Details |
|---|---|
| Format | @/path/to/file.ts (paths always start from the workspace root and begin with /) |
| Content Display | Returns full file content with line numbers |
| Supported Types | Text files, PDFs, and DOCX (text-extractable formats) |
| Use Cases | Initial queries, context supplementation, feedback responses, and file references in follow-up interactions |
| Notes | Very large files may be truncated; pure binary files (e.g., images, executables) are not supported |
Folder Mentions
Folder mentions display directory structure in a readable tree format.
| Feature | Details |
|---|---|
| Format | @/path/to/folder/ (note the trailing slash) |
| Display Style | Hierarchical tree using ├── and └── prefixes |
| Scope | Lists only immediate children (files and subdirectories), without recursive expansion |
| Use Cases | Quickly understanding project or module layout |
| Recommendation | Combine with specific file mentions to inspect content for deeper understanding |
Problems Mention
The problems mention imports diagnostics directly from the IDE’s Problems panel.
| Feature | Details |
|---|---|
| Format | @problems |
| Content | Automatically extracts all errors and warnings from the IDE Problems panel |
| Information Included | File path, line number, and detailed diagnostic messages |
| Organization | Grouped by file for improved readability and quick navigation |
| Best Use | Rapidly fix code issues without manually copying error messages |
Terminal Mention
The terminal mention captures recent command output for debugging and analysis.
| Feature | Details |
|---|---|
| Format | @terminal |
| Captured Content | The most recently executed command and its full output |
| State Preservation | Does not clear the terminal; preserves current terminal state |
| Limitations | Only retrieves content within the visible terminal buffer |
| Best Use | Debugging build errors or analyzing command-line output |
Git Mentions
Git mentions provide commit details and diffs for context-aware version analysis.
| Type | Format | Provided Content | Limitations |
|---|---|---|---|
| Commit | @a1b2c3d | Commit metadata (message, author, date) and full diff | Only works in Git repositories |
| Workspace Changes | @git-changes | Output of git status and detailed diffs of uncommitted changes | Only works in Git repositories |
URL Mentions
URL mentions import external web content and convert it into readable Markdown.
| Feature | Details |
|---|---|
| Format | @https://example.com |
| Processing | Fetches content using a headless browser |
| Cleaning | Removes scripts, styles, and navigation elements |
| Output | Converts content to Markdown for better readability |
| Limitations | Complex pages may not convert perfectly |
How to Use Mentions
- Type
@in the chat input box to trigger the suggestion dropdown menu - Continue typing to filter suggestions, or use arrow keys to navigate
- Press Enter or click to select
- Combine multiple mentions in a single request:
"Fix the @problems in @/src/component.ts"
The dropdown menu automatically suggests:
- Recently opened files
- Visible folders
- Recent Git commits
- Special keywords (
problems,terminal,git-changes)
Best Practices
| Practice | Description |
|---|---|
| Use specific paths | Reference exact file paths instead of describing locations in words |
| Use relative paths | Paths always start from the workspace root (e.g., @/src/file.ts); avoid absolute paths like @C:/Projects/src/file.ts |
| Verify reference accuracy | Ensure file paths and commit hashes (e.g., @a1b2c3d) are correct and valid |
| Click mentions to navigate | Click on file or commit mentions in chat history to open the file or view related content instantly |
| Avoid manual copy-paste | Prefer smart mentions (e.g., @/file.ts or @problems) over pasting code snippets or error messages |
| Combine multiple mentions | Mix and match as needed—for example: “Refer to the implementation in commit @a1b2c3d to fix the @problems in @/src/component.ts” |
