The PHP extension has features, that restrict it from being installed as a web extension; therefore we're providing the "Web" version (as in the screenshot above).

The issue looks more like a bug on OpenVSX (https://github.com/eclipse/openvsx/issues) which provides the extension installer, and incorrectly(?) not giving the "Web" version to be installed.

May I ask you to fill in an issue there please, since we try to focus on Microsoft's marketplace at the moment?

thank you

5 days later

I downloaded the web version and installed manually, but it doesn't work.
After installation, I still get "Install in Browser", when I click it, error in red box appears

See screenshots here:

    JakubMisek if you like, I could make an instance available to you for troubleshooting, how about that? But I prefer not to send the URL here.

    Thank you.

      JakubMisek

      No, I downloaded PHP tools as a VSIX and installed it directly, nothing to do with OpenVSX already.
      How do I share the URL with you private?

        Basically the language server doesn't work, Intellisense for Laravel is unavailable, so it's like missing an arm and leg 🤣

          Ok, I found some userful information
          DEVSENSE.phptools-vscode-1.25.11540@web.vsix

          2022-12-12 07:30:19.886 [info] Extension host started
          2022-12-12 07:30:20.366 [info] ExtensionService#_doActivateExtension DEVSENSE.phptools-vscode, startup: true, activationEvent: 'workspaceContains:**/*.php'
          2022-12-12 07:30:20.772 [error] Activating extension DEVSENSE.phptools-vscode failed due to an error:
          2022-12-12 07:30:20.781 [error] Error: Creating workers from remote extensions is currently not supported.
          	at new Worker (../../../vs/workbench/api/worker/extensionHostWorker.js:83:2770)
          	at eval (vscode-remote://xxxxxxxxxxxxxxxxxx.com/home/dv1/code-server/user/extensions/devsense.phptools-vscode-1.25.11540/client/dist/main.js#vscode-extension:3:229527)
          	at e.activate (vscode-remote://xxxxxxxxxxxxxxxxxx.com/home/dv1/code-server/user/extensions/devsense.phptools-vscode-1.25.11540/client/dist/main.js#vscode-extension:3:229629)
          	at Oi._callActivateOptional (../../../vs/workbench/api/worker/extensionHostWorker.js:78:17695)
          	at Oi._callActivate (../../../vs/workbench/api/worker/extensionHostWorker.js:78:17355)
          	at eval (../../../vs/workbench/api/worker/extensionHostWorker.js:78:15148)
          	at async m._activate (../../../vs/workbench/api/worker/extensionHostWorker.js:72:8305)
          	at async m._waitForDepsThenActivate (../../../vs/workbench/api/worker/extensionHostWorker.js:72:8247)
          	at async m._initialize (../../../vs/workbench/api/worker/extensionHostWorker.js:72:7611)
          2022-12-12 07:30:20.785 [info] Eager extensions activated

            phptools yes, that's it. Sadly PHP Tools extension relies on Workers - we can't make it "work" without them.

              Ok

              1. What does the "web" version tries to do then? It installed onto vscode.dev
              2. Possible to get just the language server to work? I especially need the Laravel intellisense
              3. I think there were some solutions/workaround on the github issues, not possible?

              Thank you

                phptools

                The language server itself runs in the Worker' process. It seems vscode.dev/github.dev (by Microsoft) supports Workers, code-server doesn't.

                1/ the "web" version is language server in the Worker' process. Tested on vscode.dev and github.dev.
                2/ language server runs in Worker, Support for workers (aka background javascript process) is required to make it working.
                3/ we've targeted the "web" extension to work on vscode.dev complying with the API specification. If code-server does not support Worker, I'm afraid we can't workaround it.

                  I switched over the microsoft's code-server to try and get the same setup as vscode.dev and github.dev

                  Still running into the same issue...

                    Sorry to be bugging you, but I found this
                    https://github.com/microsoft/vscode/blob/96bf637c101b8832e44a97a27a26305d8c2cf22e/src/vs/workbench/api/worker/extensionHostWorker.ts#L92-L105

                    Supporting transformation of vscode-remote URIs requires an async call to the main thread,
                    but we cannot do this call from within the embedded Worker, and the only way out would be
                    to use templating instead of a function in the web api (resourceUriProvider)

                    Is this a change that PHP Tools can make?

                      7 days later

                      @JakubMisek

                      On my desktop with PHP tools, I see this for array_merge

                      I have PHP Tools installed on vscode.dev, but nothing shows up...

                        phptools thank you, seems the extension does not load in Web anymore

                        we'll have to fix this

                        JakubMisek Thank you, I think there are 2 types of extensions for code-server/vscode.dev

                        1. Web extensions (vscode.dev)
                        2. Remote extensions (code-server)
                          • I found it was possible to start a language server compiled as PHAR (https://serenata.gitlab.io/)
                          • XDebug also works, i.e. I can debug while editing on code-server

                        Supporting transformation of vscode-remote URIs requires an async call to the main thread,
                        but we cannot do this call from within the embedded Worker, and the only way out would be
                        to use templating instead of a function in the web api (resourceUriProvider)

                        I really hope you can look into making PHP Tools run as a remote extension. See the remarks from VSCode itself
                        https://github.com/microsoft/vscode/blob/96bf637c101b8832e44a97a27a26305d8c2cf22e/src/vs/workbench/api/worker/extensionHostWorker.ts#L92-L105

                        Thank you.

                          10 days later

                          JakubMisek I just tested and saw this

                          2022-12-30 17:35:16.612 [info] Eager extensions activated
                          2022-12-30 17:35:16.622 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onStartupFinished'
                          2022-12-30 17:35:16.630 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished'
                          2022-12-30 17:35:16.638 [info] ExtensionService#_doActivateExtension ms-vscode.anycode, startup: false, activationEvent: 'onStartupFinished'
                          2022-12-30 17:35:28.508 [info] ExtensionService#_doActivateExtension DEVSENSE.phptools-vscode, startup: false, activationEvent: 'onLanguage:php'
                          2022-12-30 17:35:29.687 [warning] Could not identify extension for 'vscode' require call from https://devsense.vscode-unpkg.net/DEVSENSE/phptools-vscode/1.26.11753/extension/client/dist/main.js?target%3Dweb. These are the extension path mappings: 
                          	https://devsense.vscode-unpkg.net/DEVSENSE/phptools-vscode/1.26.11753/extension?target%3Dweb -> DEVSENSE.phptools-vscode
                          	https://github.vscode-unpkg.net/GitHub/codespaces/1.13.5/extension -> GitHub.codespaces
                          	https://github.vscode-unpkg.net/GitHub/remotehub/0.48.0/extension -> GitHub.remotehub
                          	https://main.vscode-cdn.net/stable/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/extensions/configuration-editing -> vscode.configuration-editing
                          	https://main.vscode-cdn.net/stable/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/extensions/css-language-features -> vscode.css-language-features
                          	https://main.vscode-cdn.net/stable/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/extensions/emmet -> vscode.emmet

                            phptools thank you for all the details; currently, we have the 'web' extension itself broken, so we have to fix that first.

                            Then we should take a look on the remote extension support (as of now we're targeting vscode and remove vscode workspaces mainly)

                            6 days later

                            JakubMisek Thanks, but if I may:

                            1. Remote Developerment from Microsoft uses remote extensions
                            2. code-server uses also remote extensions
                            3. I'm using several extensions which does not require any changes to be used as remote extensions, so I think remote extension is quite similar to local extension
                            4. web extension has a limited scope, thus seems to be quite different

                            I think it is easier and also get more impact by making PHP Tools work as a remote extension first :)