# Fabelous Autocoder

Fabelous Autocoder is a powerful VS Code extension that provides intelligent code completion using advanced language models. It offers seamless integration with your development workflow, allowing you to generate and preview code suggestions with ease.

## Features

- **Intelligent Code Completion**: Leverages advanced language models to provide context-aware code suggestions.
- **Preview Functionality**: View generated code completions before accepting them.
- **Easy Accept/Decline**: Use simple keyboard shortcuts to accept or decline suggestions.
- **Customizable**: Configure various parameters like API endpoint, model, and response behavior.
- **Language Agnostic**: Works with multiple programming languages.

## How It Works

1. Trigger the autocompletion by typing the completion key (alt+oem_plus).
2. The extension sends your current code context to the configured API.
3. A code completion is generated and displayed as a preview.
4. Accept the completion with `Tab` or decline it with `Backspace`.

## Usage

![Fabelous Autocoder Showcase](demo.gif)

1. **Trigger Completion**: Type normally and hit the completion key (alt+oem_plus).
2. **Preview**: The suggested completion appears in light gray text.
3. **Accept**: Press `Tab` to accept the entire suggestion.
4. **Decline**: Press `Backspace` to remove the preview and decline the suggestion.
5. **Partial Accept**: You can continue typing to partially accept the suggestion.

## Configuration

Customize Fabelous Autocoder through VS Code settings:

- `fabelous-autocoder.endpoint`: API endpoint for the language model.
- `fabelous-autocoder.model`: Specify the model to use.
- `fabelous-autocoder.temperature`: Control the randomness of completions.
- `fabelous-autocoder.max tokens predicted`: Set the maximum length of completions.
- `fabelous-autocoder.prompt window size`: Adjust the context window size.
- `fabelous-autocoder.response preview`: Toggle preview functionality.
- `fabelous-autocoder.preview max tokens`: Limit preview length.
- `fabelous-autocoder.preview delay`: Add delay before showing preview.
- `fabelous-autocoder.continue inline`: Control inline continuation behavior.

## Installation


1. [Click here to download the latest version](https://gitea.fabelous.app/Fabel/Fabelous-Autocoder/releases/download/latest/fabelous-autocoder-0.2.0.vsix)
2. Open Visual Studio Code
3. Go to Extensions (Ctrl+Shift+X)
4. Click on the three dots in the upper-right corner and select "Install from VSIX..."
5. Navigate to the location where you extracted Fabelous Autocoder and select the .vsix file
6. Click "Install" to install the extension

## Requirements

- VS Code version 1.89.0 or higher
- Internet connection for API calls
