microsoft / vscode-makecode

A vscode.dev compatible extension for Microsoft MakeCode
MIT License
36 stars 6 forks source link

Surface `MakeCode: Create a share link` in VS Code's share menus #146

Open joyceerhl opened 1 year ago

joyceerhl commented 1 year ago

VS Code surfaces extension-contributed sharing links in dedicated Share menus throughout our product (issue). Here are some examples:

image image

I noticed that MakeCode offers a command to create a link to your MakeCode project and this command seems like a good fit for the Share menus, as discussed with @abchatra on Teams.

The Share menus are currently proposed API but I expect to finalize them with the April release (api proposal issue), after which they will be available for MakeCode to use if desired.

To align with the other commands that are exposed, I would also suggest minor tweaks to the link behavior:

abchatra commented 1 year ago

Copy the link directly to the user's clipboard instead of showing it in the output channel Only show this command when the current project is a MakeCode project (today it appears in the command palette even when the current folder is not a MakeCode project, and shows an error message when used)

Above 2 should be doable.

Rename from Create a share link to Copy MakeCode Project Link (this clarifies that the link will be specific to MakeCode since it will coexist alongside other sharing links)

We do create a new link every time the user clicks on this. These are readonly links with the user project and need to get a new url every time. Copy might be misleading here.

Does "Create MakeCode Share Link" work from our command window? We could change in the common dialog to be consistent though.

joyceerhl commented 1 year ago

Does "Create MakeCode Share Link" work from our command window?

Yeah that makes sense.

joyceerhl commented 1 year ago

FYI @jwunderl, the previous proposal we had in mind has been superseded by a share provider API. More details here: https://vscode.dev/github/microsoft/vscode-docs/blob/a4a9e8f5fe5b04b473abbdd7df93905bb6f3377d/release-notes/v1_79.md#L336-L344

Would love if you could try it out and let me know if it would fit MakeCode's scenarios--thanks!