-
Notifications
You must be signed in to change notification settings - Fork 412
Open
Labels
new addonRelated to new addons to this extension. `scope: addons` should still be added.Related to new addons to this extension. `scope: addons` should still be added.scope: addonRelated to one or multiple addonsRelated to one or multiple addonstype: enhancementNew feature for the projectNew feature for the project
Description
Why this would be helpful
Mostly talked in this discussion #7660
The meaning of this I think is just tired of the drag & drop things is too Inefficiency work which is better for kid but terrible work for adults who want to make some complicated things.
I see that the sb3 file can be unzipped. There is a json file contains all the code. Find a way to edit it nicely would be a way to make it.
My suggestion
Here is what I think:
3 main steps of this:
- make a new language (just called scratch-text here). Write script with it and save it as a file. Then use an addon to upload it to the current scratch editor. Translate the the scratch-text file to blocks append or write to the current sprite(or more complicated to append new blocks to different sprites )
This step will almost get rid of the drag & drop work. This step just put the block to the editor pane base on the script. - make the script more functional which can deal with the non-block things like create a sprite, rename a sprite something upload a image to sprite. This step may take some time, may be a time-consuming work I think. May be can leave it first consider about step3.
- Make a vscode extension can connect to current editor with lsp things for scratch-text. And more important the change in the vscode can be send to scratch editor at the same time which will make the scratch much eaiser to use.
Possible alternatives
No response
Additional context
I'd like to ask some advice for it. And then I will work on it first, even through I havent make the things I mentioned above before.
Metadata
Metadata
Assignees
Labels
new addonRelated to new addons to this extension. `scope: addons` should still be added.Related to new addons to this extension. `scope: addons` should still be added.scope: addonRelated to one or multiple addonsRelated to one or multiple addonstype: enhancementNew feature for the projectNew feature for the project