How to declare a global class so I don't get an error in Undefined type in intelephense in visual code

Viewed 408

I'm new to visual studio code and intelephense. I'm working with WordPress and using a class called WP_CLI which's a system installed. So, if I'm not wrong, class WP_CLI is not in my path so I get Undefined type 'WP_CLI'.intelephense(1009)

The ideal solution for me would be to be able to tell inteliphense that WP_CLI is defined elsewhere and not to bother with this error. Not to disable Undefined type altogether.

I can't find the comment to disable it. I've found the similar /** @var int $foo */ for variables but I can't find the documentation for it so I can do the same with classes.

Is there an option to do that?

2 Answers

It's not super clear on how to install the stubs. in your project folder run

composer require --dev php-stubs/wp-cli-stubs

in that same folder, you will need a workspace file. they have the .code-workspace extension. in there you need

{
    "settings": {
        "intelephense.environment.includePaths": [
            "path/to/vendor"
        ]
    }
}

you also need WordPress in settings.intelephense.stubs

hope this saves someone some time and let me know if there is a better way

Related