Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 80 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,92 @@

# CodeTide VS Code Extension

**CodeTide** helps you extract, manage, and retrieve just the right code context for your favorite LLMs and Copilot workflows in Visual Studio Code.
**CodeTide** is an intelligent code context manager that helps developers extract, organize, and retrieve the perfect code snippets for LLM-assisted workflows in Visual Studio Code. It automatically parses and indexes your entire codebase, providing flexible context generation for GitHub Copilot and other AI coding assistants.

## Features
![CodeTide in Action](assets/codetide-demo.gif) *(Example GIF showing context selection and Copilot integration)*

- Parse your project and extract code snippets with unique IDs
- Fuzzy autocomplete for snippet ID selection
- Retrieve code snippets by ID (with deep context support)
- Add selected snippets to Copilot/LLM context
- Refresh cached IDs for up-to-date autocomplete
- Python backend integration for advanced code analysis
## Key Features

- **Automatic Codebase Parsing** - Intelligently indexes your entire project structure
- **Flexible Context Generation** - Multiple output formats (shallow, deep, tree views)
- **Seamless Copilot Integration** - Directly add relevant context to your Copilot prompts
- **Fuzzy Search** - Quickly find code snippets with intelligent autocomplete
- **Clipboard Support** - Copy context to clipboard for use anywhere
- **Python Backend** - Advanced code analysis powered by custom Python processing

## Installation

1. Install [Python 3.8+](https://www.python.org/downloads/) and ensure it is in your PATH.
2. Install the extension from the VS Code Marketplace or via `.vsix` package.
3. On first use, required Python dependencies (including `codetide`) will be installed automatically. Alternatively, run:
```
pip install git+https://github.com/BrunoV21/codetide
```
### Prerequisites
- [Python 3.8+](https://www.python.org/downloads/) installed and in your PATH
- [VS Code](https://code.visualstudio.com/) 1.100.0 or later

### Steps
1. Install from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=BrunoV21.codetide)
2. Open a project in VS Code
3. On first run, the extension will automatically:
- Set up a Python virtual environment
- Install required dependencies (including `codetide` backend)

*Manual installation option:*
```bash
pip install git+https://github.com/BrunoV21/codetide
```

## Usage

Open the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P`) and search for:
### Core Workflow
1. **Initialize** your project with `CodeTide: Initialize Project`
2. **Select** code context using the fuzzy search interface
3. **Retrieve** in your preferred format (Copilot, clipboard, etc.)

### Command Reference

#### Project Management
| Command | Description |
|---------|-------------|
| `CodeTide: Initialize Project` | Parse workspace and extract code context |
| `CodeTide: Refresh the project` | Update cached IDs and context |

#### Context Retrieval
| Command | Output Target | Context Depth |
|---------|---------------|---------------|
| `CodeTide: Get by IDs (Add to Copilot)` | Copilot Context | Standard |
| `CodeTide: Get by IDs (Copy to Clipboard)` | Clipboard | Standard |
| `CodeTide: Get by IDs - Shallow` | Copilot Context | Minimal |
| `CodeTide: Get by IDs - Deep` | Copilot Context | Extended |

#### Tree Views
| Command | Includes |
|---------|----------|
| `CodeTide: Get Tree View` | Basic structure |
| `CodeTide: Get Tree View - with Modules` | + Module dependencies |
| `CodeTide: Get Tree View - with Modules & Types` | + Type annotations |

#### Python Environment
| Command | Description |
|---------|-------------|
| `CodeTide: Reinstall Python Environment` | Clean reinstall of dependencies |
| `CodeTide: Update Python Dependencies` | Update to latest versions |
| `CodeTide: Check Python Environment Status` | Verify installation status |

## First Run Guide
1. Open your project in VS Code
2. Run `CodeTide: Initialize Project` to parse your codebase
3. Use the context retrieval commands as needed
4. For Copilot integration, select snippets and choose "Add to Copilot"

## Technical Requirements
- **Backend**: Requires [codetide Python package](https://github.com/BrunoV21/codetide)
- **System**: Python 3.8+ must be installed and accessible
- **Permissions**: Needs read access to your project files

## Troubleshooting
- **Python not found**: Ensure Python is in your PATH or reinstall it
- **Missing dependencies**: Run `CodeTide: Reinstall Python Environment`
- **Cached IDs not updating**: Use `CodeTide: Refresh the project`

## Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

- **CodeTide: Initialize Project** – Parse your workspace and extract code context.
- **CodeTide: Get by IDs** – Retrieve code snippets by their IDs (with autocomplete).
- **CodeTide: Add IDs to Copilot Context** – Add selected snippets to your Copilot/LLM context.
- **CodeTide: Refresh Cached IDs** – Update the list of available snippet IDs.
## License
Apache 2.0 - See [LICENSE](LICENSE) for details.
165 changes: 83 additions & 82 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

{
"name": "codetide",
"publisher": "BrunoV21",
"name": "codetide",
"publisher": "BrunoV21",
"displayName": "CodeTide",
"description": "Get just the right context for your favourite LLMs!",
"version": "0.0.14",
Expand All @@ -12,14 +13,14 @@
"type": "git",
"url": "git://github.com/BrunoV21/CodeTide-vsExtension"
},
"categories": [
"AI",
"Chat",
"categories": [
"AI",
"Chat",
"Snippets",
"Programming Languages",
"Other"
],
"main": "./dist/extension.js",
],
"main": "./out/extension.js",
"files": [
"dist",
"python",
Expand All @@ -30,84 +31,84 @@
],
"contributes": {
"commands": [
{
"command": "extension.runParser",
"title": "CodeTide: Initialize Project"
},
{
"command": "extension.getByIds",
"title": "CodeTide: Get by IDs (Add to Copilot)"
},
{
"command": "extension.getByIdsClipboard",
"title": "CodeTide: Get by IDs (Copy to Clipboard)"
},
{
"command": "extension.getByIdsShallow",
"title": "CodeTide: Get by IDs - Shallow (Add to Copilot)"
},
{
"command": "extension.getByIdsShallowClipboard",
"title": "CodeTide: Get by IDs - Shallow (Copy to Clipboard)"
},
{
"command": "extension.getByIdsDeep",
"title": "CodeTide: Get by IDs - Deep (Add to Copilot)"
},
{
"command": "extension.getByIdsDeepClipboard",
"title": "CodeTide: Get by IDs - Deep (Copy to Clipboard)"
},
{
"command": "extension.getTreeView",
"title": "CodeTide: Get Tree View (Add to Copilot)"
},
{
"command": "extension.getTreeViewClipboard",
"title": "CodeTide: Get Tree View (Copy to Clipboard)"
},
{
"command": "extension.getTreeViewModules",
"title": "CodeTide: Get Tree View - with Modules (Add to Copilot)"
},
{
"command": "extension.getTreeViewModulesClipboard",
"title": "CodeTide: Get Tree View - with Modules (Copy to Clipboard)"
},
{
"command": "extension.getTreeViewModulesAnnotated",
"title": "CodeTide: Get Tree View - with Modules & Types (Add to Copilot)"
},
{
"command": "extension.getTreeViewModulesAnnotatedClipboard",
"title": "CodeTide: Get Tree View - with Modules & Types (Copy to Clipboard)"
},
{
"command": "extension.parseFile",
"title": "CodeTide: Parse Current File"
},
{
"command": "extension.refresh",
"title": "CodeTide: Refresh the project"
},
{
"command": "extension.reinstallPythonEnv",
"title": "CodeTide: Reinstall Python Environment"
},
{
"command": "extension.updatePythonDependencies",
"title": "CodeTide: Update Python Dependencies"
},
{
"command": "extension.checkPythonEnv",
"title": "CodeTide: Check Python Environment Status"
}
]
{
"command": "extension.runParser",
"title": "CodeTide: Initialize Project"
},
{
"command": "extension.getByIds",
"title": "CodeTide: Get by IDs (Add to Copilot)"
},
{
"command": "extension.getByIdsClipboard",
"title": "CodeTide: Get by IDs (Copy to Clipboard)"
},
{
"command": "extension.getByIdsShallow",
"title": "CodeTide: Get by IDs - Shallow (Add to Copilot)"
},
{
"command": "extension.getByIdsShallowClipboard",
"title": "CodeTide: Get by IDs - Shallow (Copy to Clipboard)"
},
{
"command": "extension.getByIdsDeep",
"title": "CodeTide: Get by IDs - Deep (Add to Copilot)"
},
{
"command": "extension.getByIdsDeepClipboard",
"title": "CodeTide: Get by IDs - Deep (Copy to Clipboard)"
},
{
"command": "extension.getTreeView",
"title": "CodeTide: Get Tree View (Add to Copilot)"
},
{
"command": "extension.getTreeViewClipboard",
"title": "CodeTide: Get Tree View (Copy to Clipboard)"
},
{
"command": "extension.getTreeViewModules",
"title": "CodeTide: Get Tree View - with Modules (Add to Copilot)"
},
{
"command": "extension.getTreeViewModulesClipboard",
"title": "CodeTide: Get Tree View - with Modules (Copy to Clipboard)"
},
{
"command": "extension.getTreeViewModulesAnnotated",
"title": "CodeTide: Get Tree View - with Modules & Types (Add to Copilot)"
},
{
"command": "extension.getTreeViewModulesAnnotatedClipboard",
"title": "CodeTide: Get Tree View - with Modules & Types (Copy to Clipboard)"
},
{
"command": "extension.parseFile",
"title": "CodeTide: Parse Current File"
},
{
"command": "extension.refresh",
"title": "CodeTide: Refresh the project"
},
{
"command": "extension.reinstallPythonEnv",
"title": "CodeTide: Reinstall Python Environment"
},
{
"command": "extension.updatePythonDependencies",
"title": "CodeTide: Update Python Dependencies"
},
{
"command": "extension.checkPythonEnv",
"title": "CodeTide: Check Python Environment Status"
}
]
},
"scripts": {
"vscode:prepublish": "npm run package",
"compile": "webpack",
"watch": "webpack --watch",
"watch": "webpack --watch --mode development",
"package": "webpack --mode production --devtool hidden-source-map",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
Expand All @@ -129,4 +130,4 @@
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.5.2"
}
}
}
Loading