phpactor / vscode-phpactor

Phpactor VS Code Extension
MIT License
119 stars 8 forks source link

Packaging and distribution #40

Closed nhedger closed 7 months ago

nhedger commented 2 years ago

I noticed that this extension is not packaged and distributed on VS Code's marketplace and wanted to ask two questions.

  1. Are there any plans to set this up?
  2. Do you need/want help setting this up?

I'd be happy to contribute.

Cheers.

dantleech commented 2 years ago

I wanted to set this up but was reluctant to give microsoft my birthdate, but I guess I could get past that now, also a bit concerned it would open up the floodgates and I would get a deluge of issues ...

nhedger commented 2 years ago

I see your point.

Even if you choose not to publish your extension to VS Code's marketplace, we may do the following:

  1. Package the extension as a VSIX package, ready to be installed manually into VS Code. The VSIX could be distributed through GitHub releases.

  2. We could publish the extension on the Open VSX Registry.

Please let me know if and how you'd like to proceed.

dantleech commented 2 years ago

yeah, that sounds like a good option :+1: at least starting with a github release

aszenz commented 2 years ago

I created an issue to host the vscode extension on nixpkgs, they already package vim/emacs plugins https://github.com/NixOS/nixpkgs/issues/189095

dantleech commented 2 years ago

I've updated the build to auto publish the phpactor.vsix extension file https://github.com/phpactor/vscode-phpactor/releases/latest

@nhedger what benefit is there to publishing it on the Open VSX registry? what editors use that (not sure why i'd need to sign an Eclipse agreement to register).

In the meantime I'm going to work on tagging a new release for Phpactor and potentially publish it on the marketplace.

shyim commented 2 years ago

VScodium and Gitpod uses I guess Open VSX

shef-er commented 1 year ago

Requesting plugin at least on Open VSX

zobo commented 1 year ago

Hi. Are you considering publishing this extension to the marketplace now? I am the maintainer of vscode-php-debug and vscode-php-intellisense. I really like how the Phpactors LSP backend is designed and how feature rich it is. I think a lot of people would benefit if it got exposed more. I'm using VSCode and one important aspect of publishing it on the Marketplace is the integration with VSCode Remote Containers. The setup of the container is able to install extensions - if they are on the Marketplace.

Let me know if you need any info about how the process looks like.

Also one comment: Interesting approach that the extension package doesn't contain the actual LSP code - but rather downloads it via composer. I know there are LSP extensions that do that (golang) but - at least me - I'd prefer that the extension would contain an exact version of the code bundled with it.... There are of course drawbacks.

Best and thank you.

dantleech commented 1 year ago

I don't use VS code myself so this extension doesn't really get the attention it needs. The composer install method could/should now be changed to download the latest PHAR release. I'd be happy to have the extension published.

zobo commented 1 year ago

Interesting! Composer does have some benefits - just today I did not realize my container was missing ext-pcntl and ext-posix - but then again I know where to look for so I found it quick :)

I'll try to look at what you are suggesting here when I have some time. One peroblem might be the lack of Windows support. I need to check if a VSIX can be created that only works on certain platforms. I know there is some support for this.

Second there is a need to create a Marketplace publisher. I can assist with this, if you will let me know your Microsoft account and can then add you to it. We can coordinate about this separately.

The third step is to create a Devops Azure Personal Token and store that in GitHub and extend the GitHub Actions to automatically publish to Market place.

The same - but simpler - process can be done for OpenVSIX - I have my extensions on both markets.

Let me know what you think about this.

dantleech commented 12 months ago

Great, can we co-ordinate on Symfony Slack or another platform, or just send me an email based on my github commits :)

zobo commented 11 months ago

Hey @isidorn ! I'm pulling you into this thread if you can give us some advice. I'm helping out Dan with publishing this extension to the Marketplace. There are two points where I'd be gratefull for some guidance.

  1. Extension ID Currently the extension is build with an ID of dantleech.vscode-phpactor and is distributed only as a VSIX. I suggested it be changed to phpactor.vscode-phpactor similarly to what we have done with php-debug. Now, there are some people out there, that have this extension installed manually. I was thinking of doing the following:

Does this make sense? Would you recommend some other course of action?

  1. Platform support The PHP Language Server behind this extension (written in PHP) currently doesn't work on a win32 file system. I know about platform specific extension publishing, but as I intend to get this fixed sooner than later, I have just disabled the extension with a warning message for now: https://github.com/phpactor/vscode-phpactor/commit/934d0311a22844e04878c252896267a08dfacba0

Do you have any suggestions here?

And as always, I hope you are doing great :)

isidorn commented 11 months ago
  1. This makes sense, but the id of each extension now need to be unique So Marketplace will probably prevent you from creating an extension called vscode-phpactor if there already is one. I suggest to use a slightly differnt ID, and as Display Name you can use whatever you want
  2. VS Code is also dropping support for win32 as a platform. So I think we are good here https://code.visualstudio.com/docs/supporting/FAQ#_can-i-run-vs-code-on-older-windows-versions
zobo commented 11 months ago

Oh. I read about the unique IDs, but I thought I miss-understood. If we have publishers as namespaces why disallow overlapping names... I'll consider this when publishing the extension.

Regarding platform support I should have said "windows", or more specifically, filesystems with \ - I meant Win32Api, not 32bit OS... As said, I hope to get this fixed soon - so it should not matter.

Thanks!

xiki808 commented 8 months ago

Hey guys, thanks for providing this extension. I'm configuring a docker setup to develop our PHP projects and would like to add this extension. It's a headache to install the extension manually within the container though, and to keep it updated. Is there any update on the market release?

zobo commented 8 months ago

Hi. I am just about to do the initial release under the new ID.

zobo commented 8 months ago

Good news everyone! https://marketplace.visualstudio.com/items?itemName=phpactor.vscode-phpactor Please let me know if you have any issues.