4016-debug-extension: support debugging of extensions using Debug panel #8706
Conversation
|
FYI: @amiramw @DoroNahari |
There was a problem hiding this comment.
@danarad05 I do not believe the @theia/debug extension should know about plugins.
cc @colin-grant-work @kenneth-marut-work you may be interested in the following changes which impact debugging.
|
I won't have the bandwidth to review the changes this week, but as I see, it requires a CQ. Please start the CQ process as documented here, by the time we have the legal approval for the merge, hopefully, we will have the review too ;) |
@vince-fugnitto I have created a debug ContributionProvider for hosted plugin to registering to. Issue #4016 talks about invoking hosted plugin from debug toolbar (maybe thinking eventually to removing invoking hosted plugin from command box). |
Hi @kittaakos
Thanks |
I do not understand this 😊 You do not know how to submit a CQ, is this the question?
I am not a lawyer nor a decision-maker, so I do one thing during the review; if there is copied code, we need a CQ: |
|
@danarad05 i'll try to help with the CQ |
I meant that explanation in the link you provided didn't get me to the "Intellectual Property" section etc... I don't know if it works for you - I logged in and didn't see and "Intellectual Property" section and tried searching for it. Maybe you should check if explanation there is still valid.. I will try to resolve it with the help of @amiramw, Thanks. |
|
CQ for copied code: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=22801 |
156fe9b to
c70850e
Compare
If I understand correctly the CQ is approved. |
e30a678 to
01b6c74
Compare
|
@vince-fugnitto @akosyakov When I try to stop debugging - one thread is disposed of but not the others. If I'm clicking stop again - then it disposes all the others. From what I can see last thread received 'terminated' event (because clicking on stop debug button selects by default last thread to stop) and so it was disposed successfully - BUT previous thread (thread #3 in list) has not received 'terminated' event by DebugSession and therefore it isn't disposed of. So my questions are:
Any suggestions are welcomed. I tried different approaches but to no avail. Thanks, |
|
@danarad05 i don't think you need to address this behavior in this PR as it is not unique for hosted plugin debug. |
0abacdb to
a6d6b1d
Compare
|
@vince-fugnitto @amiramw ready for your review. |
|
@vince-fugnitto @amiramw |
|
@vince-fugnitto @amiramw |
vince-fugnitto
left a comment
There was a problem hiding this comment.
I tested the feature using pwa-extensionHost and it worked correctly but I'm wondering why the standard extensionHost type is not supported yet (which is the default when generating an extension):
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
},
I don't know if and when extensionHost type worked. Currently pwa-extensionHost in |
@danarad05 I believe that Moreover, the
The following was just a subset of extension for example purposes. Since the framework supports the debug configurations defined in Please let me know whether you believe this is outside the scope of the pull-request, but we are limiting what the framework can successfully debug, and it looks like |
884def3 to
fcb4cd7
Compare
|
@amiramw fixed and rebased. some convs - please check response. Thanks |
|
@kittaakos are you planning to review this PR? Thanks |
|
@vince-fugnitto @kittaakos |
fcb4cd7 to
e2b0f97
Compare
|
@vince-fugnitto @kittaakos @marechal-p
Thanks |
|
@vince-fugnitto Are we needing another reviewer approval or is this PR going to be added to this release? |
colin-grant-work
left a comment
There was a problem hiding this comment.
I've tested this somewhat superficially in base Theia and against our internal debugging setup. Debugging a VSCode plugin in the browser seemed to work fairly well, though I got a notice on session start that a task 'npm' couldn't befound. Testing against our internal setup, I found that the changes to the session restart logic seem to have broken scenarios that previously worked - the session is killed but doesn't restart - but I haven't been able to track down exactly where the problem occurs. On that basis, I'd prefer that we wait till after the release to merge this, but then, with a little more time to explore its consequences, I'd be happy to work to get it merged next week.
| if (res instanceof Error) { | ||
| this.fireExited(res); | ||
| } | ||
| }).catch(this.fireExited); |
There was a problem hiding this comment.
CHANGELOG.md
Outdated
| - [core] updated `nsfw` dependency to `^2.1.2` [#9267](https://github.com/eclipse-theia/theia/pull/9267) | ||
| - [debug] fixed hover issues for the `currentFrame` editor [#9256](https://github.com/eclipse-theia/theia/pull/9256) | ||
| - [debug] improved error messages [#9386](https://github.com/eclipse-theia/theia/pull/9386) | ||
| - [debug] added support for managing debug sessions for extensions from debug panel (previously only possible using `Hosted Plugin` commands) [#8706](https://github.com/eclipse-theia/theia/pull/8706) |
There was a problem hiding this comment.
We'll need to update the position of this entry in the changelog.
e2b0f97 to
fa47a99
Compare
|
@colin-grant-work updated PR accordingly, Can you merge please? |
|
@EstherPerelman, it looks like more conflicts have cropped up in the CHANGELOG. Sorry it's such a pain. Once those are fixed, I have no objection to merging, if others see no problem. |
1. Supports start, restart, stop of pwa-extensionHost launch type on debug toolbar. 2. Utilizes Hosted Plugin functionality. Signed-off-by: Dan Arad <dan.arad@sap.com>
Signed-off-by: Esther Perelman <esther.perelman@sap.com>
Signed-off-by: Esther Perelman <esther.perelman@sap.com>
fa47a99 to
96169ac
Compare
@colin-grant-work resolved conflicts, I wish you'll merge soon! |
vince-fugnitto
left a comment
There was a problem hiding this comment.
I confirmed that the debugging behavior works fine, and there are no regressions from what I can tell.
| protected readonly messages: MessageClient, | ||
| protected readonly fileService: FileService) { | ||
| protected readonly fileService: FileService, | ||
| protected readonly debugContributionProvider: ContributionProvider<DebugContribution> |
There was a problem hiding this comment.
Breaking change? Should it be reflected in the changelog?
The same would be true for packages/plugin-ext/src/main/browser/debug/plugin-debug-session-factory.ts even if it is not likely that someone would extend it.
|
@vince-fugnitto I took a quick look at it. I'm expecting some small merge conflicts, but nothing major. Feature-wise this is quite independent of my changes. Thanks for watching out though 👍 |
…el (eclipse-theia#8706) * 4016-debug-extension: support debugging of extensions using Debug panel 1. Supports start, restart, stop of pwa-extensionHost launch type on debug toolbar. 2. Utilizes Hosted Plugin functionality. Signed-off-by: Dan Arad <dan.arad@sap.com> Signed-off-by: Esther Perelman <esther.perelman@sap.com> Co-authored-by: Dan Arad <dan.arad@sap.com> Co-authored-by: Esther Perelman <esther.perelman@sap.com>




Signed-off-by: Dan Arad dan.arad@sap.com
What it does
fixed #4016 with this functionality:
How to test
Note: can only be tested on
browseraselectrondoesn't support Hosted Plugin functionality currently (see #2868)Approved CQ for copied code: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=22801
Review checklist
Reminder for reviewers