Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>PHP Namespace Resolver+ (Plus)New to Visual Studio Code? Get it now.
PHP Namespace Resolver+ (Plus)

PHP Namespace Resolver+ (Plus)

JahidLimon

|
1 install
| (0) | Free
Import, Expand, Sort, and Organize php namespaces
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PHP Namespace Resolver Plus

A fork of PHP Namespace Resolver with configurable import grouping and sorting for PHP projects, including Laravel.

This extension automatically resolves missing namespaces and organizes use statements according to customizable regex-based import groups.

Features

Auto Import Resolution

Automatically adds missing imports when resolving classes:

$user = new User();

becomes:

use App\Models\User;

$user = new User();

Configurable Import Ordering

Define your own import groups using regular expressions.

Example configuration:

{
    "phpNamespaceResolver.importOrder": [
        "^Illuminate\\\\",
        "*",
        "^App\\\\"
    ]
}

This produces:

use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;

use Package\PackageClass;
use GuzzleHttp\Client;

use App\Models\User;
use App\Services\UserService;

Group Separation

Optionally insert blank lines between import groups.

Alphabetical Sorting

Imports are automatically sorted alphabetically within each group.


Installation

From Marketplace

Install PHP Namespace Resolver Plus from the Visual Studio Code Marketplace.

Manual Installation

Download the latest .vsix package and install:

code --install-extension php-namespace-resolver-plus.vsix

or:

  1. Open Extensions view (Ctrl+Shift+X)
  2. Click ...
  3. Select Install from VSIX
  4. Choose the downloaded package

Configuration

Import Order

Controls grouping and ordering of imports.

{
    "phpNamespaceResolver.importOrder": [
        "^Illuminate\\\\",
        "*",
        "^App\\\\"
    ]
}

Group Separation

Insert blank lines between groups.

{
    "phpNamespaceResolver.separateGroups": true
}

Sort Within Group

Sort imports alphabetically inside each group.

{
    "phpNamespaceResolver.sortWithinGroup": true
}

Regex Examples

Laravel Projects

{
    "phpNamespaceResolver.importOrder": [
        "^Illuminate\\\\",
        "*",
        "^App\\\\"
    ]
}

Result:

use Illuminate\Support\Collection;

use GuzzleHttp\Client;
use Symfony\Component\Console\Command\Command;

use App\Models\User;

Domain-Driven Design Structure

{
    "phpNamespaceResolver.importOrder": [
        "^Illuminate\\\\",
        "^Modules\\\\",
        "*",
        "^App\\\\"
    ]
}

Result:

use Illuminate\Support\Collection;

use Modules\Billing\Services\InvoiceService;

use GuzzleHttp\Client;

use App\Models\User;

Symfony Projects

{
    "phpNamespaceResolver.importOrder": [
        "^Symfony\\\\",
        "*",
        "^App\\\\"
    ]
}

Special Wildcard Group

The * pattern acts as a catch-all group.

Example:

{
    "phpNamespaceResolver.importOrder": [
        "^Illuminate\\\\",
        "*",
        "^App\\\\"
    ]
}

Equivalent regex version:

{
    "phpNamespaceResolver.importOrder": [
        "^Illuminate\\\\",
        "^(?!Illuminate\\\\|App\\\\).*",
        "^App\\\\"
    ]
}

Using * is recommended because it is easier to read and maintain.


Commands

Resolve Namespace

Automatically finds and imports matching classes.

Organize Imports

Sorts and groups imports according to your configured rules.


Extension Settings

Setting Type Default Description
phpNamespaceResolver.importOrder string[] [] Regex-based import group ordering
phpNamespaceResolver.separateGroups boolean true Insert blank lines between groups
phpNamespaceResolver.sortWithinGroup boolean true Alphabetically sort imports within a group

Example

Before

use App\Models\User;
use GuzzleHttp\Client;
use Illuminate\Support\Collection;
use App\Services\UserService;
use Cockpit\Client as CockpitClient;

After

use Illuminate\Support\Collection;

use Cockpit\Client as CockpitClient;
use GuzzleHttp\Client;

use App\Models\User;
use App\Services\UserService;

Requirements

  • Visual Studio Code
  • PHP projects using namespaces
  • Compatible with Laravel, Symfony, and other Composer-based applications

Roadmap

  • [x] Regex-based import groups
  • [x] Custom group ordering
  • [x] Wildcard (*) support
  • [x] Alphabetical sorting within groups
  • [x] Group separation
  • [ ] Import ordering on save
  • [ ] Namespace alias sorting
  • [ ] Per-workspace import profiles

Credits

Originally based on PHP Namespace Resolver by Mehedi Hassan.

This fork extends the original functionality with configurable import grouping and ordering.


License

MIT

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