Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Inertia IntelliSenseNew to Visual Studio Code? Get it now.
Inertia IntelliSense

Inertia IntelliSense

jaush-m

|
1,882 installs
| (0) | Free
Fork of Visual Studio Code extension for Inertia.js
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🚀 Inertia IntelliSense

Inertia IntelliSense Logo

Supercharge your Inertia.js development experience in VS Code

VS Code Marketplace Open VSX Registry

✨ Features

📌 Intelligent Hyperlinks

Jump directly to component files with clickable links
No more manual searches through directories!

⚡ Smart Autocompletion

Domain-aware component suggestions as you type
Complete the right component name every time

🧩 Domain Support

Navigate modular architectures with ease
Perfect for domain-driven design approaches

🔧 Highly Configurable

Adapt to any project structure or convention
Works with your preferred setup

📦 Installation

# Via VS Code UI
# Search for "Inertia IntelliSense" in Extensions view

# Or via command line
code --install-extension jaush-m.inertia-intellisense

🛠️ Configuration

Component Groups

Defines how the extension should locate and identify your Inertia components.

"inertia.componentGroups": [
  {
    "glob": "resources/js/domains/*/pages/**/*.tsx",  // Where to find components
    "domainDir": "domains",                          // Domain directory identifier
    "pagesDir": "pages"                              // Pages subdirectory
  }
]

Directory Structure Example

resources/js/
├── domains/
│   ├── admin/
│   │   └── pages/
│   │       ├── dashboard.tsx    // [admin]::dashboard
│   │       └── users.tsx        // [admin]::users
│   ├── user/
│   │   └── pages/
│   │       ├── profile.tsx      // [user]::profile
│   │       └── settings.tsx     // [user]::settings
│   └── main/
│   │   └── pages/
│   │       └── welcome.tsx      // welcome or [main]::welcome
│

⚙️ Additional Settings

⚙️ Setting 📝 Purpose 🔧 Default
inertia.defaultDomain Domain to use when not specified explicitly "main"
inertia.domainSeparator The separator between domain and component path
Must match your Inertia setup
"::"
inertia.domainDelimiters Array of delimiters used to wrap domain names in component strings [{start: "[", end: "]"}]
inertia.fallbackPath Fallback Path if no domains are found "resources/js/pages/**/*.{tsx,jsx,vue}"
inertia.pathSeparators Symbols that separate path segments within components ["."]
inertia.defaultExtension File extension for new components
Adapt for React (.tsx), Vue (.vue), etc.
".tsx"

🔍 Usage Examples

In PHP Files

// Clickable link + autocompletion for:
return Inertia::render('[Admin]::Dashboard', [
    'stats' => $dashboardStats,
]);

React Setup with Domains

import { createInertiaApp } from "@inertiajs/react";
import { createRoot } from "react-dom/client";

createInertiaApp({
  // This pattern works with the default configuration
  resolve: (name) =>
    resolvePageComponent(
      name,
      import.meta.glob("../domains/*/pages/**/*.tsx", { eager: false })
    ),
  setup({ el, App, props }) {
    createRoot(el).render(<App {...props} />);
  },
});

🔄 Component Resolution Examples

Component Name Resolves To
[admin]::dashboard resources/js/domains/admin/pages/dashboard.tsx
[user]::profile resources/js/domains/user/pages/profile.tsx
welcome resources/js/domains/main/pages/welcome.tsx

License

Released under the MIT License.


GitHub Repository • Report Issue • Inertia.js

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft