Vscode-intelephense: Comparing other PHP intellisense extensions

Created on 28 Aug 2018  路  23Comments  路  Source: bmewburn/vscode-intelephense

I have been using VS Code for PHP development for some time now, and have been using Felix Becker's PHP IntelliSense extension most of that time. Recently, I noticed that there are actually 3 fairly popular VS Code extensions for PHP intellisense (along with some less popular ones I've bypassed for expediency):

This raises several questions for me:

  1. Why create a new extension for what appears to be the same thing, instead of contributing to the existing one? I don't know who arrived first, just a general question.
  2. Does one extension offer significant features the others lack? Perhaps they are focused on different use cases?
  3. Should I have more than one installed? Will they play nicely together? Will I get any added value from doing so?

Most helpful comment

Thanks for your interest in this project.

  1. Why create VScode when there's Atom, Brackets etc? For me this is a pet project so I just continued with it even though the others came out first. The others didn't give me the performance or feature set I needed at the time either.

  2. I think they all aim to be the same thing, that is a PHP language server implementing the MS language server protocol. One major feature that this project has is support for js/html/css intellisense in php files. I'm not aware of any features in the others that are not covered in this project.

  3. I don't think there is anything to be gained by having all installed. They will all work if installed together because VScode generally makes a request to all registered providers and merges the response. Having more than one installed may cause duplicate suggestions; delays until the last server has sent a response; 'smarter' suggestions may get lost or lose significance if another server does not restrict the suggestions based on the context etc.

I suggest to try them one at a time and decide which is best for your use.

All 23 comments

Thanks for your interest in this project.

  1. Why create VScode when there's Atom, Brackets etc? For me this is a pet project so I just continued with it even though the others came out first. The others didn't give me the performance or feature set I needed at the time either.

  2. I think they all aim to be the same thing, that is a PHP language server implementing the MS language server protocol. One major feature that this project has is support for js/html/css intellisense in php files. I'm not aware of any features in the others that are not covered in this project.

  3. I don't think there is anything to be gained by having all installed. They will all work if installed together because VScode generally makes a request to all registered providers and merges the response. Having more than one installed may cause duplicate suggestions; delays until the last server has sent a response; 'smarter' suggestions may get lost or lose significance if another server does not restrict the suggestions based on the context etc.

I suggest to try them one at a time and decide which is best for your use.

For the record the php-intellisense one has such bad performance it's unusable on anything but a small project.

This one I can't even type "class" without the autocomplete pissing me off (it stays suggested unless I press escape or enter... and if I press enter it deletes what I wrote to simply have "class" remaining).

Time to try crane.

Thanks for the info. I'm going to close this as I think my question has been answered. But if anyone else wants to comment, I'll be happy read and learn from your comments.

Just for the record. The crane one was bad. I'm back to this one, but the issue remains where "class" keyword is apparently the only thing you can type unless you type the entire thing and put a { at the end.

I've been wondering about this issue for awhile, so I'm glad to sorta get an answer. I haven't tried crane yet but I think I might. I'm going to give Intelephense another shot though.

What did you dislike about crane @robclancy ?

Oh yeah, anyone have any suggested PHP formatters in vscode? I just started actively using beautifier on my html, scss, js etc and it's been great! So I'm curious if there's something similar for php. I've seen some stuff and I'm trying some but I'd love to hear people's thoughts.

Crane barely even worked.

@jcklpe I personnally use phpcbf as beautifier for php

@petitchevalroux I found an extension for that. Do I have to install the phpcbf bin file in order for the extension to work?

@petitchevalroux I found an extension for that. Do I have to install the phpcbf bin file in order for the extension to work?

Yes it's easy to do with composer ;)

I've just switched from Intellisense to Intelephense and I've found the autocomplete much better (quicker and more accurate).

For me, i like Intelephense just because is autocomplete this->, and so much more...i really dont like typing this-> and many symbol that uses too much moving on my finger and shifting + keys
thanks for developing this plugin...i hope you keep improving it

if Intelephense wasn't abandoned it would probably be a lot better than all other options by now. It seems to have a much better base. Wish I had time to fork and improve it. It affects our in-office efficiency so maybe I will be able to do it during work hours in the coming months.

EDIT: yeah I'm not going to do that. This guy has written an entire PHP 7 parser for this, which is a lot of code. Then his package to use that parser with the language server is also a lot of code. He did so much work for this package and then just stopped. It's weird, maybe he just doesn't have to use PHP anymore so doesn't care?

@robclancy it sounds like the author has been working on it in a bit of a stealth mode, and a new version might be coming soon: https://github.com/bmewburn/vscode-intelephense/issues/135#issuecomment-451716523

For the record the php-intellisense one has such bad performance it's unusable on anything but a small project.

This one I can't even type "class" without the autocomplete pissing me off (it stays suggested unless I press escape or enter... and if I press enter it deletes what I wrote to simply have "class" remaining).

Time to try crane.

Yeah.. you're right bro,,i dont check the performance on the developer tools, but php-intellisense its very lack on my computer....

The performance was improved since my comment. But still has a lot of memory usage and last I tried it didn't even work with workspaces.

PHP Intellisense is a mess, I use Intelephense for VS code and it works great.

It is so smart, even smarter than PHPStorm.

Really Cool!

Keep Going.

I hope the author or someone else continues on Intelephense. I'm not qualified or else I would do it.

@danmurf same as me... it much better

Just adding my thoughts there. Intellisense is unusable over VSCode remote ssh, it's just too slow. Intelephense works perfectly.

I had major performance issues on my computer for the past weeks. Tried to uninstall apps, browser extensions, close unused tabs, etc until I noticed that PHP IntelliSense hogged my CPU to the point of stalling the music and lags in the mouse movement.

Have switched to Intelephense and working feels like a breeze again :) Just purchased the Pro license for the extra features. Honestly, this extension is 100 times faster than PHP IntelliSense, and supporting it with a license is the least I want to do to say THANK YOU for solving my performance problems! 馃憤 馃殌

Been using PHP IntelliSense for a long time and being a bit dissatisfied with it. After starting with a big project, I finally started searching for other solutions. I found Intelephense and loved it. After a week of usage I bought it and never looked back since. Thank you!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

umpirsky picture umpirsky  路  4Comments

zlianon picture zlianon  路  4Comments

Ilyes512 picture Ilyes512  路  3Comments

ghnp5 picture ghnp5  路  3Comments

ghost picture ghost  路  3Comments