vscode-intelephense icon indicating copy to clipboard operation
vscode-intelephense copied to clipboard

Is Intelephense too cheap?

Open ckilb opened this issue 2 years ago β€’ 25 comments

Okay, I admit, this is no real feature request nor bug report. But I don't know where else to post and I really like to share my thoughts.

TL;DR below.

I'm a PHP developer for like 20 years and basically I'm using IntelliJ most of the time. It's great for PHP development, but I guess we all know about it's disadvantages - like being really hungry for CPU. Also VSCode feels more future-proof compared to Intellij - I guess that's why they started implementing a completely new product, Fleet.

Even though I like IntelliJ, once in a while I'm looking for alternatives. And I didn't find any good one. Except Intelephense. With some additional VSCode it would be the perfect replacement for Intellij. I'm bought, it's a really great piece of software.

But why didn't I switch to VSCode + Intelephense yet? The reason is that I have to change my workflow - learn new keyboard shortcuts, investigate what's the best way of doing this and that. I'm wondering if it's worth it because I'm afraid the project could be dead any time soon. Why do I think that? There are two reasons:

  • You, @bmewburn, could easily take more money for that extension. Right now it's 15 € for a lifetime license. Sure, I like to have the stuff I buy to be cheap. But it's so cheap that I wonder if it's actually - from a financial perspective - worth it for you. If not this could be a factor to stop working on it.
  • The frequency of new versions is low - especially compared to the number of open issues (> 460). Last release is from end of February while we have end of June now. I have two theories why it is like that: First I guess there may be updates on the proprietary language server behind which don't require a version bump for the extension. If that's the case it would be nice to have some release nots for that server - so people can see that there's active work done on it. Second theory is that Intelephense is basically a one man project. I guess you, @bmewburn, are a great, efficient programmer. Only few are able to implement something like what you did here. Some tried and basically failed. And I guess working longer and harder won't be an option? But if it would - again - a higher income (= higher price) would may be a bigger motivation πŸ˜‰

I really think it's worth investing into this. PHP is far from dead. It's one of the most used programming languages at all. And VSCode get's more and more kind of a mainstream editor/IDE, especially for web development. Intelephense is the only working extension right now that is able to connect both together.

TL;DR:

  • Think about increasing price or subscription model (for a new version 2?)
  • Think about sharing release notes for proprietary language server

So - these are just my thoughts. Of course I'd like to know what you, @bmewburn, think about that. And I'm also interested in if others share the same or similar thoughts.

ckilb avatar Jun 22 '22 10:06 ckilb

Agreed. I remember emailing @bmewburn with similar feedback a couple years ago.

jacks0n avatar Jun 23 '22 05:06 jacks0n

I also agree. I'm messing around with rust and that has a great language server, I believe intelephense can be that for PHP.

unansweredocd avatar Jun 27 '22 18:06 unansweredocd

My thoughts on this:

I also agree that this extension needs more collaboration, in terms of features there's a lot of things it can do for us, and in terms of PHP ecosystem updates followed-up is being updated almost on time.

The problem I see is that Ben might not have a team behind this, neither the time to mess around this (he could be working fulltime on his job)

The best thing of this one is that: its fast and have a great support (already supporting most of the PHP 8 features). I remember the one open sourced (PHP Intellisense), it didn't have support for some PHP 7.x and also was very slow and bugged.

Btw if this extension some day is open sourced and maintained via sponsors, I'll sponsor it straightaway. It just helped me in my entire career which is 4+ years of full-stack webdev.

d8vjork avatar Jun 28 '22 09:06 d8vjork

I very much agree, and am also worried this tool might suffer the same fate as felixfbecker/vscode-php-intellisense. I'm at the point where I'm regularly spending a bit of time in PhpStorm as a way to hedge my bets should this extension ever be abandoned – so far, my macbook's fans and my VSCode muscle memory have been screaming their disapproval.

Intelephense is pretty much essential to my business right now. PhpStorm is 200€ a year. I'd rather pay that sum to you if it comes to that.

@bmewburn, please take our money. But also: is there anything else we can do?

ddanielou avatar Jun 28 '22 13:06 ddanielou

Also willing to pay more of a subscription based price or a higher share to cover some more costs πŸ‘

driesvints avatar Jun 28 '22 15:06 driesvints

This extension already has one foot in the grave. Don't waste your time, say Thank to the Author and change the channel.

ad-git avatar Jun 28 '22 19:06 ad-git

100% agree, and I also admit that the future of this addon worries me πŸ™ˆ. The more that I base my daily work on it (I bought the paid version a long time ago).

Increasing number of unresolved issues, the lack of regular updates are the things that often make many projects die. It looks as if the author has less and less time to deal with it. He probably works alone with this?

I am definitely able to pay for it more (increasing price or subscription model), if it will have a positive effect on maintenance / development.

I hope that everything will go in the right direction, because it's hard to imagine PHP programming in VSCode without this add-on

kanlukasz avatar Jul 01 '22 09:07 kanlukasz

I wanted to add, I've send an email to the php foundation asking them about an official, open source language server for PHP. This sort of thing should probably just come with the language, rust-lang can do it, so why not PHP?

Maybe the folks that commented here can do the same, you can write to them here: https://thephp.foundation/

EDIT: got a reply, seems like it's not happening in 2022.

Thanks for the detailed request. The idea is great indeed. However, at this moment, LSP is out of the scope of the foundation. We might reconsider and extend the scope in the future, but for sure not in 2022.

unansweredocd avatar Jul 01 '22 09:07 unansweredocd

@unansweredocd Will be awesome to have something like that

But isn't this something nikic did already? They had php-ast as PHP extension (don't know if it's being updated to PHP 8, in the description says PHP 7) and now the PHP Parser (PHP 5 to 8.1 thing) as a composer dependency

I think they should've something close to native thing to improve performance (like that php-ast extension which is C mostly) but then its something else to maintain as a non profit organisation that's already focused to bring new stuff to the language and optimise it

d8vjork avatar Jul 01 '22 09:07 d8vjork

@d8vjork

But isn't this something nikic did already? They had php-ast as PHP extension (don't know if it's being updated to PHP 8, in the description says PHP 7) and now the PHP Parser (PHP 5 to 8.1 thing) as a composer dependency

I'm not sure. It mentions some things that make it seem like it might work for a language server but it seems to have had a very different goal when it was created.

I think they should've something close to native thing to improve performance (like that php-ast extension which is C mostly) but then its something else to maintain as a non profit organisation that's already focused to bring new stuff to the language and optimise it

Yeah definitely. We'll see I guess, the reply they gave gives me hope.

https://github.com/bmewburn/vscode-intelephense/issues/2245#issuecomment-1172131245

unansweredocd avatar Jul 01 '22 09:07 unansweredocd

Bought license in march 2020, extension was great, license was cheap. But some time later there was an update and everything stopped working, so I've started to search something else and found PHP Tools. It's paid extension, but it works, and issues are resolved fast. Costs are similar to PHPStorm but personally i don't like it.

Recently I've also found this project: vscode-phpactor. Looks like quite alive ;)

But i think that foundation should create and maintain official LSP, like GoLang team maintain gopls for go language.

And thank you @bmewburn for Your hard work :) Hope this project will stay alive :)

piniol avatar Jul 01 '22 17:07 piniol

@piniol I loved and hated PHP Tools, I mean it lacks a bunch of goodies Intelephense already had from long ago. So not really a fan of it when it costs that much and lacks some basic stuff.

Advantages of open source projects, that one looks promising!

d8vjork avatar Jul 01 '22 18:07 d8vjork

Oh, forgot to mention vscode-php-intellisense - fork from felixfbecker's code. And tolerant-php-parser from Microsoft.

@d8vjork Well it works for me for now, so until it works, is maintained and there are no good alternatives for vs code...

Sure, open source projects are great. Unfortunately, they are usually developed by one person who also has a life. As a result, they most often end their lives when they become popular. The number of users, requests and errors is growing ... The author can not do it anymore and the project is slowly ending its life...

And I agree that it should not be written in scripting language, Go maybe php-parser...

By the way, it's amazing that PHP is one of the most popular languages and it lacks professional tools. At the moment, in fact, there is only PHPStorm ... But there are people like me who don't like it at all ;) Maybe Fleet from Jetbrains... we will see ;)

piniol avatar Jul 02 '22 06:07 piniol

Some related issues (not really same thing as discussed here but, anyways):

  • https://github.com/bmewburn/vscode-intelephense/issues/1934
  • https://github.com/bmewburn/vscode-intelephense/issues/2113

arvislacis avatar Jul 03 '22 04:07 arvislacis

I join to this. A LOT of people would pay more for a decent substitute for Phpstorm.

BladeMF avatar Jul 05 '22 06:07 BladeMF

It would be awesome if perhaps the freemium portions of the server application were open-sourced or contributable to in some fashion. I know I would happily put my hand up to contribute back to this extension, which has made the last 4-5 years of my career an absolute breeze, all for less than the price of your standard Uber Eats meal.

I know that handling an influx of outside code has its challenges, as I'm sure the maintainers among us can attest to, but I can only think that it would take a huge weight off of @bmewburn's shoulders.

bennothommo avatar Jul 20 '22 06:07 bennothommo

FYI, I am using now a combination of Intelephense (for completion and rename) and phpactor for the refactoring. As the latter is open source I just disable its own completion and rename features. I am planning to contribute there to have switches to turn them off normally.

BladeMF avatar Jul 20 '22 06:07 BladeMF

I don’t even mind paying a monthly subscription for this extension if the dev is willing to fix bugs on a daily basis and actively improving it.

harryqt avatar Jul 22 '22 05:07 harryqt

I've created an issue on the vimeo/psalm repository about the language server subject here: https://github.com/vimeo/psalm/discussions/8328

If we can bring the people that work on php language servers together this situation might improve for all of us. If you think that's a good idea, please leave your support on that discussion. Lots of folks are willing to chime in, I'm hoping this is the start of something beautiful.

@driesvints @d8vjork @ckilb would love your support / attention on that discussion.

unansweredocd avatar Jul 28 '22 17:07 unansweredocd

Also, issue: https://github.com/phpactor/phpactor/issues/1830 was created to try and get the phpactor guy to respond in the discussion I mentioned.

unansweredocd avatar Jul 28 '22 17:07 unansweredocd

With all due respect, but with more posts here, the discussion starts to take a turn in a completely different direction from the original post. I mean, I don't think it's a good place to talk about other repositories, other solutions.

For now, it seems to be hoping that the plugin releases will be around the same time as the new PHP versions. Honestly, I wouldn't count on anything more. Time will tell.

kanlukasz avatar Jul 29 '22 05:07 kanlukasz

With all due respect, but with more posts here, the discussion starts to take a turn in a completely different direction from the original post. I mean, I don't think it's a good place to talk about other repositories, other solutions.

Anyway... I don't think Ben is going to comment on this thread. For now, it seems to be hoping that the plugin releases will be around the same time as the new PHP versions. Honestly, I wouldn't count on anything more. Time will tell.

Decided to hide my comments after you posted this. Gotta agree with it being offtopic.

unansweredocd avatar Jul 29 '22 06:07 unansweredocd

Hello, just chiming in briefly to say intelephense is still being worked on. It's great to see that others, like me, are keen to see the project progress further. I'll give it some further thought on what can be done to speed things up.

bmewburn avatar Jul 29 '22 11:07 bmewburn

The glayzzle/php-parser made in javascript/typescript seems to have been actively updated recently.

Contributing to this parser may possibly make bmewburn work easier.

yaegassy avatar Jul 29 '22 11:07 yaegassy

@yaegassy from my quick review of the package.json of the intelephense server it does not use php-parser. Ben has written his own php parser.

tm1000 avatar Jul 29 '22 18:07 tm1000

Will continue to give this thought. For now there's been a new release this year and more to come.

bmewburn avatar Jan 14 '23 06:01 bmewburn