7

I use the latest Version of Visual Studio Code (1.52.1) with PHP Intelephense 1.5.4 on Ubuntu. Despite it is the latest Version it seems not to know the new PHP 8 Syntax. For example it shows an error when using the nullsafe operator:

$myobject?->myfunction();

Is there a way to teach VSC PHP 8 or do we have to just wait for an update?

Dharman
  • 30,962
  • 25
  • 85
  • 135
Peter
  • 2,051
  • 1
  • 15
  • 20

3 Answers3

8

As you can see on https://github.com/bmewburn/vscode-intelephense/milestone/26: they are actively working on adding support for PHP8. Any further questions should be posted in their issue tracker


Best credible source, posted on Dec 09 on https://github.com/bmewburn/vscode-intelephense/issues/1525#issuecomment-742115154:

It's being actively worked on. Should be out soon.

Nico Haase
  • 11,420
  • 35
  • 43
  • 69
  • I've noticed strange thing - even though current marketplace version of intelephense is 1.8, my vscode still shows only 1.5.4, I had to uninstall it and install it again to get the latest extension version. However even if I set `8.1.2` for both User & Workspace "Intelephense › Environment: PHP Version" - named arguments are still red as errors. – jave.web Jan 26 '22 at 14:39
5

You should point Visual Studio Code to the location of PHP interpreter that you want to use.

You can do it by setting a line in the settings.json like this:

"php.validate.executablePath": "c:/usr/php8.1/php.exe",

It is a VSCode configuration option but seems to work with Intelephense too.

You can also do it on per project basis using a separate settings.json file residing in project's .vscode folder. You can find more on these options in the VSCode documentation.

Picard
  • 3,745
  • 3
  • 41
  • 50
  • That worked. I added this to the settings-Section in my workspace save file (projectname.code-workspace). – Peter Jul 21 '22 at 09:56
3

This answer solved my problem, even tho i don't use a mac.

I still had an old php version linked in my VSCode settings of my WSL integration (settings.json). Removing that line, fixed the errors.

skalta
  • 1,033
  • 1
  • 7
  • 18