Skip to content

Autocompletion

Get intelligent code suggestions as you type.

Overview

Laradebug provides autocompletion for:

  • PHP classes and namespaces
  • Laravel facades and helpers
  • Eloquent models and relationships
  • Class methods and properties

How It Works

As you type, suggestions appear automatically:

User::wh|
       ┌─────────────────────────┐
       │ where($column, $value)  │
       │ whereIn($column, $vals) │
       │ whereNull($column)      │
       │ whereHas($relation)     │
       └─────────────────────────┘

Triggering Suggestions

Automatic

Suggestions appear when typing:

  • After :: (static methods)
  • After -> (instance methods)
  • After \ (namespaces)
  • After typing 2+ characters

Manual

Trigger suggestions manually:

  • Press Ctrl + Space
  • Useful when automatic popup is dismissed

Class Autocompletion

Model Classes

Type a model name to see suggestions:

Us|
  ┌─────────────────────────┐
  │ User                    │
  │ UserController          │
  │ UserFactory             │
  │ UserPolicy              │
  └─────────────────────────┘

Full Namespaces

For non-imported classes:

App\Models\|
          ┌─────────────────────────┐
          │ User                    │
          │ Post                    │
          │ Comment                 │
          │ Order                   │
          └─────────────────────────┘

Method Autocompletion

Static Methods

After :::

User::find|
         ┌─────────────────────────────────┐
         │ find($id)                       │
         │ findOrFail($id)                 │
         │ findMany($ids)                  │
         │ findOrNew($id)                  │
         └─────────────────────────────────┘

Instance Methods

After ->:

$user->pos|
         ┌─────────────────────────────────┐
         │ posts()      → HasMany          │
         │ postalCode   → string           │
         └─────────────────────────────────┘

Laravel Facades

All Laravel facades are available:

Cache::|
      ┌─────────────────────────────────┐
      │ get($key)                       │
      │ put($key, $value, $ttl)         │
      │ remember($key, $ttl, $callback) │
      │ forget($key)                    │
      │ flush()                         │
      └─────────────────────────────────┘

Eloquent Features

Query Builder

Full query builder support:

User::where('active', true)->|
                             ┌───────────────────────┐
                             │ get()                 │
                             │ first()               │
                             │ count()               │
                             │ pluck($column)        │
                             │ orderBy($column)      │
                             │ limit($count)         │
                             └───────────────────────┘

Relationships

Relationship methods show return types:

$user->|
      ┌─────────────────────────────────────┐
      │ posts()        → HasMany<Post>      │
      │ profile()      → HasOne<Profile>    │
      │ roles()        → BelongsToMany<Role>│
      └─────────────────────────────────────┘

Scopes

Model scopes appear in suggestions:

php
// In your model
public function scopeActive($query) { ... }
public function scopeRecent($query) { ... }
User::|
     ┌─────────────────────────┐
     │ active()                │
     │ recent()                │
     │ where()                 │
     └─────────────────────────┘

Property Suggestions

Model Attributes

Based on your database schema:

$user->|
      ┌─────────────────────────────┐
      │ id           → int          │
      │ name         → string       │
      │ email        → string       │
      │ created_at   → Carbon       │
      └─────────────────────────────┘

Casts

Casted properties show their PHP type:

php
// In model
protected $casts = ['settings' => 'array'];
$user->settings  → array

Helper Functions

Laravel helpers are available:

colle|
    ┌─────────────────────────────────┐
    │ collect($items)                 │
    │ ─────────────────────────────── │
    │ Create a new Collection         │
    └─────────────────────────────────┘

Settings

Enable/Disable

Settings → Editor → Autocompletion

Trigger Delay

Adjust how quickly suggestions appear:

Settings → Editor → Autocomplete Delay

Lower = faster (may feel intrusive) Higher = slower (must type more first)

Minimum Characters

Set minimum characters before suggestions:

Settings → Editor → Min Autocomplete Chars

Default: 2 characters

Performance

Project Scanning

Laradebug scans your project for:

  • Model classes
  • Relationships
  • Scopes
  • Custom classes

Scan happens on project load.

Built for Laravel developers.