microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.81k stars 29.12k forks source link

Add support for debugging Edge on Linux #138495

Closed a1exwang closed 2 years ago

a1exwang commented 2 years ago

Does this issue occur when all extensions are disabled?: Yes

Version: 1.62.3 Commit: ccbaa2d27e38e5afa3e5c21c1c7bef4657064247 Date: 2021-11-17T08:00:36.721Z Electron: 13.5.2 Chrome: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Linux x64 5.13.0-19-generic Steps to Reproduce:

  1. Create a empty directory testedge and place the following file into testedge/.vscode/launch.json

    {
        "configurations": [
            {
                "name": "Edge Google",
                "type": "pwa-msedge",
                "request": "launch",
                "url": "https://www.google.com"
            }
        ]
    }
    
  2. code testedge
  3. Launch debug session named "Edge Google"
  4. Nothing happens

Expected Behavior:

Tested with:

But with same results.

priyapatillilly commented 2 years ago

Facing this issue on Mac Big Sur (V 11.6.1) MS Edge Version 96.0.1054.34 (Official build) (x86_64)

connor4312 commented 2 years ago

Yes, we don't have Edge support on Linux yet since it was not initially released on Linux. I am on vacation for the next week but would happy accept a PR here: https://github.com/microsoft/vscode-js-debug-browsers

priyapatillilly commented 2 years ago

Edge binary location /Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge

a1exwang commented 2 years ago

Yes, we don't have Edge support on Linux yet since it was not initially released on Linux. I am on vacation for the next week but would happy accept a PR here: https://github.com/microsoft/vscode-js-debug-browsers

So do you support Edge on macOS? Because we also encountered this issue on macOS as I wrote.

a1exwang commented 2 years ago

@connor4312 I think this is not only a feature request. It is also a bug report. Because if you don't support Edge on macOS/Linux, you should throw error or some popup to tell the user rather than displays nothing.

I think the expected behavior should be what 1.56.0 does. Is this a regression?

priyapatillilly commented 2 years ago

@connor4312 - I believe it's a bug on MacOS after the VSCode update. Previously the debugger used work fine on MS Edge. Below is the previously working configuration - "configurations": [ { "name": "Launch Edge", "request": "launch", "type": "edge", "url": "https://localhost:3000", "webRoot": "${workspaceFolder}" }]

bobvo23 commented 2 years ago

I found a workaround. Just proceed with debugging in chrome to generate the configuration file and change the type parameter in the configuration file to Edge. New settings: "type": "pwa-msedge"

connor4312 commented 2 years ago

@priyapatillilly you aren't using the same debugger as we're talking about here. The built in/new debugger is msedge, not edge. The edge type is from the deprecated debugger

bobvo23 commented 2 years ago

@connor4312 It seems that there are some inconsistencies around this line. I'm assuming that Chrome and Edge should have similar configurations. https://github.com/microsoft/vscode/blob/09c9d4c29377ae5cead4e4399c1c203e5385b547/extensions/debug-server-ready/package.json#L79 Does it cause any issue? If it could be the case, I will glad to do as PR with your guidance.

connor4312 commented 2 years ago

I'm not sure what inconsistencies you're referring to or why you suspect that line is related to this issue? Yes, Edges' configuration is a superset of Chrome's (just some extra properties for advanced scenarios like webview2).

bobvo23 commented 2 years ago

@a1exwang May you try again with this launch.json I got the same issue as you described. It works for me when I use the following configuration.

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "pwa-msedge",
      "request": "launch",
      "name": "Launch Edge against localhost",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}"
    }
  ]
}
priyapatillilly commented 2 years ago

@priyapatillilly you aren't using the same debugger as we're talking about here. The built in/new debugger is msedge, not edge. The edge type is from the deprecated debugger

@connor4312 : thanks for clarifying this.. it's working for me now.. the documentation says to use "type: pwa-msedge" which did not work for me.

Here's the configuration that is working for me for someone facing the same issue - "version": "0.2.0", "configurations": [ { "name": "Launch Edge", "request": "launch", "type": "msedge", "url": "https://localhost:3000", "webRoot": "${workspaceFolder}" } ]

a1exwang commented 2 years ago

@a1exwang May you try again with this launch.json I got the same issue as you described. It works for me when I use the following configuration.

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "pwa-msedge",
      "request": "launch",
      "name": "Launch Edge against localhost",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}"
    }
  ]
}

Unfortunately this still does not work (edge installed but not opened and no error message) on Linux. No macOS device at hand, will try it next week on macOS.

a1exwang commented 2 years ago

@a1exwang May you try again with this launch.json I got the same issue as you described. It works for me when I use the following configuration.

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "pwa-msedge",
      "request": "launch",
      "name": "Launch Edge against localhost",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}"
    }
  ]
}

Also doesn't work on macOS

priyapatillilly commented 2 years ago

Edge debugger stopped working on macOS again after the latest update. It was working for me when I changed the type to 'msedge' as suggested by @connor4312. But it seems to be broken again after the update. I'm facing the same issue as @a1exwang. Chrome usage is discouraged by my organisation due to security issues. Can we have some resolution for the edge issue please?

connor4312 commented 2 years ago

@priyapatillilly your problem appears to be unrelated to the one the reporter gave, please open a new issue and fill in the template on this repo: https://github.com/microsoft/vscode-js-debug

alexr00 commented 2 years ago

When Edge isn't installed I still get the "nothing happens" issue. This is in the console:

  ERR [Extension Host] grep: warning: /usr/bin/X11: recursive directory loop
console.ts:137 [Extension Host] grep: warning: /usr/bin/X11: recursive directory loop (at Socket.value (/snap/code-insiders/918/usr/share/code-insiders/resources/app/out/bootstrap-fork.js:8:23))
localProcessExtensionHost.ts:325 Extension Host
localProcessExtensionHost.ts:326 grep: warning: /usr/bin/X11: recursive directory loop

When Edge is installed it works, but I still get the console errors.

connor4312 commented 2 years ago

@alexr00 can you verify that debugging Edge on Linux when it is installed works? If so I probably take the lack of warning prompt as a bug in debt week.

connor4312 commented 2 years ago

I fixed the lack of warning, but will plan to ship that next iteration unless there's more js-debug fixes that justify another release during endgame.

alexr00 commented 2 years ago

Works great on linux when Edge is installed! I still get the console errors though.