# Autocompletion

Paradime IDE is powered by a language service to help you write code faster. As you type, the system offers relevant suggestions for [Generic Jinja](#id-1.-generic-jinja), [dbt™ Specific Jinja](#id-2.-dbt-tm-specific-jinja), and [YAML Configuration](#id-3.-yaml-configuration) that you can accept by pressing `Tab` or `Enter`.

### Autocomplete Features

You'll find autocomplete functionality in three key areas:

#### 1. Generic Jinja

Paradime provides autocompletion for common Jinja template patterns:

* **Control structures**: `for` loops, `if` conditionals, blocks
* **Variable operations**: `set` assignments, multiline blocks
* **Template organization**: blocks, filters, macros
* **Comments and whitespace**: comment syntax, whitespace control
* **Expressions**: expression output, action execution

{% @arcade/embed flowId="sUmEKHbVkfZiPgFUNsnE" url="<https://app.arcade.software/share/sUmEKHbVkfZiPgFUNsnE>" %}

#### 2. dbt™ Specific Jinja

Specialized autocomplete for dbt™ functions:

* **Model configuration**: `config()` with materialization options
* **References**: `ref()`, `source()` with project-aware suggestions
* **Variables**: `var()`, `env_var()` for accessing variables
* **Debugging**: `log()` with severity levels
* **Query execution**: `run_query()`, `load_result()`

{% @arcade/embed flowId="GPtXCfVAp1pW47cgn6DA" url="<https://app.arcade.software/share/GPtXCfVAp1pW47cgn6DA>" %}

#### 3. YAML Configuration

Complete autocomplete support for dbt™ YAML files:

* **Project configuration**: project settings, dependencies
* **Model definitions**: names, columns, tests, tags
* **Source definitions**: tables, freshness settings
* **Test configurations**: generic and custom tests

> **Pro Tip**: You can also use [DinoAI](https://docs.paradime.io/app-help/documentation/code-ide/user-interface/broken-reference) to automatically generate YAML files and tests for your dbt™ project.

{% @arcade/embed flowId="JHWhHiPr9LLHv0T1g2Sm" url="<https://app.arcade.software/share/JHWhHiPr9LLHv0T1g2Sm>" %}
