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

                          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!!