Pluto in Vscode

First of all, I would like to thank to all VS Code julia extension developers.

I know about the effort to bring julia jupyter notebook into VScode and I think it will be awesome (once finished).

Recently, I came across Pluto.jl project, which is written in julia and the notebook is saved as simple julia code with some cell info.

I wonder if it would be easy to bring Pluto notebooks to VScode? With inline graphs, markdown cells etc.

15 Likes

I think @fonsp has some plans in that direction, but it’s not entirely clear what route will be best to go down :wink: And of course, once decided, it will take some time to get it to work!

We talked about this for quite a bit. VSCode will definitely support Pluto in one way or another at some point.

34 Likes

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.?

16 Likes

Sorry for bringing this topic back but is there any news on this?

8 Likes

I came across a Google summer of code project related to this feature. I could not find more information.

2 Likes

Pluto in VSCode would be so awesome!

6 Likes

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.

Sorry to revive an old topic. But I found this the other day: Pluto.jl (alpha preview) - Visual Studio Marketplace

Last update was in April 2022. Does anyone know about the current plans / status of Pluto in vscode?

Thanks!

12 Likes

It is pre-alpha and frozen for now. Status seems will be updated on the GitHub issue https://github.com/JuliaComputing/pluto-vscode/issues/32

2 Likes

With the power of AI Agents, I could create a VS Code extension for Pluto.jl

6 Likes

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.

3 Likes

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,

Release Release better-pluto-client-0.0.1.vsix · AtelierArith/better-pluto-client · GitHub I’ve created a GitHub release that contains better-pluto-client-0.0.1.vsix. Please download it. Then you only have to run:

$ code --install-extension better-pluto-client-0.0.1.vsix

or

$ cursor --install-extension better-pluto-client-0.0.1.vsix

Could you try this before I release my extension in the VS Code marketplace? I’m learning how to release my extension now.

1 Like

Cool, I will check it :slight_smile:
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.



test_pluto.jl (10.6 KB)

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!)

4 Likes

Based on your feedback, I’ve created a new GitHub release.

1 Like

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.