Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DrRacket's interactions window in VS Code #122

Open
codekhol opened this issue Nov 4, 2023 · 2 comments
Open

DrRacket's interactions window in VS Code #122

codekhol opened this issue Nov 4, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@codekhol
Copy link

codekhol commented Nov 4, 2023

Hello there!

Thanks for this great Racket extension. Is there any way to enable graphical mode in VSCode's terminal/REPL similar to DrRacket? I am writing a game using "slideshow" and wondering if I can develop and debug this game in graphical mode?

@codekhol codekhol changed the title Graphical Mode in VSCode Graphical Mode in VSCode Terminal/REPL Nov 4, 2023
@jryans jryans added the enhancement New feature or request label Nov 4, 2023
@jryans
Copy link
Collaborator

jryans commented Nov 4, 2023

Unfortunately at the moment, there's no way to do that, but it is something I have pondered in the past. 😄 Rather than trying to make Racket graphical things happen in VS Code's terminal (which is designed for CLI programs), I think we'd really be imagining a separate VS Code "output area" that could host DrRacket's interactions window (the bottom part with a REPL). There are multiple large efforts involved to achieve this, at least as far as I can see.

One major area is the UI toolkit. DrRacket's GUI framework assumes it is constructing its own native windows and widgets using platform-specific UI frameworks. VS Code would need quite a different approach, perhaps by extending Racket's GUI framework to add a "web platform" path that uses HTML / CSS / JS instead of native things.

Another major area concerns execution of Racket code in a web environment. If these graphical things are meant to be interactive, then you'd most likely need to trigger Racket code in response to GUI events. Either you have some Racket native process running in the background that communicates with the web UI by passing messages ... or you need to translate all the Racket code into something that run on the web, perhaps via existing efforts like RacketScript or future work that compiles Racket to WebAssembly.

There are probably more areas I've missed... Perhaps it's at least clear that it would take a lot of work to pull this off. Still, I agree it would be quite impressive if it did all come together. Most of the hard parts here are more generally about "running Racket on the web" and less about VS Code itself (that's just one particular usage of such abilities). If there's someone out there who is motivated to make it all happen, I think the first step would be to discuss this with the community on Racket Discourse or similar to sanity check the plan.

@jryans jryans changed the title Graphical Mode in VSCode Terminal/REPL DrRacket's interactions window in VS Code Nov 4, 2023
@jryans
Copy link
Collaborator

jryans commented Nov 4, 2023

I have tweaked the issue title to match my understanding of your request... If I have misunderstood, please let me know. 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants