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 :)

                    phptools yes, it should work as it is - that's why I'm a bit confused. "web" extension should not be installed in this case;

                    Maybe the problem is, the extension is specific to various different platforms (linux/osx/win/arm64/x64/x32...)

                      2023-01-06 00:52:50.543 [error] Error: Creating workers from remote extensions is currently not supported.
                      	at new Worker (../../../vs/workbench/api/worker/extensionHostWorker.js:83:2770)

                      @JakubMisek no, the problem for remote extensions specifically is creating workers.

                      ...and the only way out would be to use templating instead of a function in the web api (resourceUriProvider)

                      See https://github.com/microsoft/vscode/blob/96bf637c101b8832e44a97a27a26305d8c2cf22e/src/vs/workbench/api/worker/extensionHostWorker.ts#L92-L105

                        @JakubMisek

                        I see the PHP Tools Language server starting without issues now, but I still don't get any help when type array(). Is there a way to turn on debug logs to see what might be wrong?

                          @JakubMisek

                          I'm happy to report that the language server is working on code-server as a remote extension for v1.26.11938

                          Thank you!!

                            7 days later

                            phptools awesome! thank you very much for the information, and for testing it.

                            I'm closing the thread now;

                            We've noted the issue with array() in our to-do list, but please feel free to open a new thread if anything else happens.

                            Thank you!

                              9 months later

                              FYI

                              code-server needs you to install linux-x64 version of our extension. Not the web version.

                                Write a Reply...