I think @fonsp has some plans in that direction, but it’s not entirely clear what route will be best to go down And of course, once decided, it will take some time to get it to work!
I just watched the Pluto.jl Juliacon talk, really awesome!
I think the best option there would be to have a separate VS Code extension for Pluto.jl, that ideally uses the (maybe much expanded) API that the Julia extension exposes to use the same configuration etc.?
Agreed. They are differents solutions. Pluto is amazing for data exploratory tasks, and vscode, for writing packages. We need two extensions to support this types of developments.
Congrats on your VS Code extension. I use Pluto on a frequent basis. What are the relevant advantages of using Pluto inside VSCode instead of the usual browser-editor approach? Thanks.
One advantage is that everything is contained within the VS Code UI, without needing to use a web browser.
The package I created integrates with VS Code’s Notebook API.
This is an API that runs internally to manipulate Jupyter Notebook cells.
This means users can maintain Pluto.jl’s reactive experience while using keybindings that Jupyter Notebook users are accustomed to (such as moving, adding, and deleting cells).
Furthermore, users can utilize the keybindings and syntax highlighting configured in VS Code for writing code within cells.
In recent years, editors such as VS Code and its derivatives like Cursor and Antigravity have included features for code completion and correction powered by generative AI. For example, if a user commands, “Fix the syntax error in this cell,” the generative AI can correct the corresponding code.
Hi, thank you so much for the package. Sadly, I don’t have the rights to install the things needed for building it. Will you release it in the VSCode marketplace? Best,
Cool, I will check it
I have just found this other extension when looking for this one: Advanced Pluto Notebook for VSCode - Visual Studio Marketplace
It seems to be the one that is recommended in the deprecated official one. Have you taken a look at it? It seems to have a similar architecture based on the README.
It seems to be working fine. I wonder whether more of Pluto’s CSS can be used to improve the look (in particular, for the error messages). CSS also seems to be important for PlutoTeachingTools’ boxes. The println terminal effect is also missing. Furthermore, I have noticed that the TableOfContents is not working, even with aside=false. The Slider seems to be working fine, and the reactivity works perfectly in the simple examples I have tested.
Hey! Yes; we recently built this as a side project! It’s based on a bundle of the Pluto.jl JavaScript library, which allows you to write custom UIs that communicate with Pluto https://www.npmjs.com/package/@plutojl/rainbow. @terasakisatoshi if I understand correctly you rewrote the JavaScript integration right? Check this library if it helps you supercharge your development!
It should support stripped-down versions of the UI for tables, dicts and nice (@bind-able) HTML.
Also, I feel that the advanced-vscode-extension has a bit overlap with the better-pluto-client! @terasakisatoshi let’s talk and combine efforts; we have a tentative roadmap somewhere in the works. It would be great to collaborate on this!
(we’re planning to make two announcements soon - one for the @plutojl/rainbow TypeScript library and one for the advanced-vscode-extension. We haven’t done that already because there are some rough edges we want to polish - and we want this to be “Pluto Quality” on announcement; but feel free to share feedback and open issues on github!)
I was aware of the existence of advanced-vscode-extension. However, since it hadn’t been updated in five months, I felt I needed to create a new VS Code extension. That’s why I generated better-pluto-client through agentic coding. I should have spent more time deepening my understanding of advanced-vscode-extension. Please give me a bit more time.