rekit
rekit copied to clipboard
Studio should be in VScode
First off, this is absolutely amazing. I love everything about this.
That said, has anyone thought of making the studio as a plugin and directly inside of vscode? That way you still get access to all your other editor features?
Same way as Nuclide was integrated in atom.
I considered that but VSCode plugin API doesn’t allow.
The VSCode team seems super active and responsive. I bet after seeing Rekit, they'd be really open to API features suggestions!
@illepic yea I was thinking that too.
@supnate do you have a list of specific limitations you were running up against? I know, it's probably a ton of work to list it all out, but the VSCode team closed the API expansion ticket (https://github.com/Microsoft/vscode/issues/43530), requesting instead specific issues.
@illepic they said they think this would make a good extension and have tagged it as a candidate. They are also asking for exactly what @illepic is asking for as well. See my request on the VScode repo > https://github.com/Microsoft/vscode/issues/43530
Hey, thanks all for the discussion and help! I totally agree it would be better in VSCode (so that I wouldn't struggling with code editor experience..). I once asked them about the context menu extensibility when Rekit was in very early stage: https://github.com/Microsoft/vscode/issues/15235#issuecomment-259430917 but it seemed hard to support.
Later I realized I need much more extensibility to build on VSCode. Like a new tab icon on the left to show the virtual project explorer, and a totally new code editor page with sub tabs. I felt it quite impossible when I look at https://code.visualstudio.com/docs/extensionAPI/extension-points . VSCode seems only allows extensions mainly for code editing experience but not UI extensibility. So I created Rekit Portal instead without code editing capability.
Then many people complain why not allow edit directly in Rekit Portal, so I added it and renamed to Rekit Studio.
That's just the story.
@supnate I totally see your point, but as @shaun-sweet says, I think that they may welcome the UI API extensibility request. Also note that many fullstack developers already have tons of IDEs installed (Say XCode, Android Studio, Visual Studio, VS Code, PyCharm) and having another one for a very specific framework might slow down the traction to this awesome project.
@supnate thanks for the backstory! Its super helpful to get some context.
That said, I think the VS code team is open to extending the API to support these types of features more. Perhaps as an actionable item to make some progress on this, is to compile a list of individual API features we'd need from VScode to make this work within the application.
- [ ] Virtual tabs under the current tabs in vs code.
- [ ] Virtual tabs have the ability to get a reading of the file tree that VScode can see in the open folder
- [ ] Virtual tabs can change the view (current code being edited) upon click
What else?
Thanks @shaun-sweet for summarizing this. Actually I'm not that optimistic about the UI extensibility from VS Code. According to https://code.visualstudio.com/docs/extensionAPI/patterns-and-principles they don't allow to touch DOM from extensions, that is, you can not build arbitrary UI yourself unless they provide a base and provide extension points on it.
Ideally we need a DOM node and then could render anything under that. If they don't provide such API things will not happen.
So the list could be:
- Allow to add a new tab on the left, and render my own DOM nodes into it (the project explorer)
- Allow to show file with a custom page on the main edit area, and easy to integrate code editor in my own page.
- Provide dialog system to provide UI forms to manage components/actions/features.
Could this not be done in Atom?
Or what about creating an application with something like Electron so that it's not web (browser) based?
Seems like there are great updates to VS Code in terms of Extension Authoring https://code.visualstudio.com/updates/v1_23#_extension-authoring