Pluto.jl: VScode integration?

Created on 17 Aug 2020  路  11Comments  路  Source: fonsp/Pluto.jl

Now that Julia IDE dev support is switching from Atom to VScode, it would be amazing to see Pluto support in the Julia plugin or with VSCode Notebook 2.0.

@jmew

online deployment other packages

Most helpful comment

About _turning Pluto into a VS Code extension_: that would be an unexciting end to this experiment, https://github.com/fonsp/Pluto.jl/issues/158#issuecomment-640598768, and there are lots of reasons for a standalone notebook system to exist.

About _other kinds of integration between the two_: I had a very nice talk with @pfitzseb (from the JunoVSCode team) about this, we talked about VS Code recognizing the Pluto file format (to display it either in plaintext mode or notebook mode), sharing code for things like autocomplete, scope analysis and docs, embedding the Pluto editor inside a VS Code tab, and more. No concrete plans yet, but we are definitely interested!

All 11 comments

About _turning Pluto into a VS Code extension_: that would be an unexciting end to this experiment, https://github.com/fonsp/Pluto.jl/issues/158#issuecomment-640598768, and there are lots of reasons for a standalone notebook system to exist.

About _other kinds of integration between the two_: I had a very nice talk with @pfitzseb (from the JunoVSCode team) about this, we talked about VS Code recognizing the Pluto file format (to display it either in plaintext mode or notebook mode), sharing code for things like autocomplete, scope analysis and docs, embedding the Pluto editor inside a VS Code tab, and more. No concrete plans yet, but we are definitely interested!

I leave it to those more familiar than I, but what I had in mind was it would be great to:

  • use VScode as an editor to edit Pluto files. This would get us multiple editors, code completion, hover help, linter, code navigation, keyboard shortcuts for manipulating cells, etc. which is otherwise time consuming to implement
  • ability to see plots / other output in VScode (i.e. Notebook)

VS Code recognizing the Pluto file format (to display it either in plaintext mode or notebook mode), sharing code for things like autocomplete, scope analysis and docs, embedding the Pluto editor inside a VS Code tab, and more.

Yes, that's what I'm hoping for!

(I'd like to point out that Pluto already has all the features you mentioned (except a linter), but you are right that making them more advanced might be easier inside VS Code. Make sure that you update Pluto, and check the FAQ.)

Ah cool I didn't know about that documentation! Maybe add a link at top of README?

I meant to write "multiple cursors" rather than editors. Although I just discovered that ctrl-click gives multiple cursors, which is rad.

Since VSCode is basically a supercharged browser, can we not simply add the Pluto interface as a different tab? I for one love both VSCode and Pluto, and would love it if I could see it in one place. Also, because of the integrated shell, there's no pesky command line being open all the time. That way, it's a one time job to integrate Pluto.jl in VSCode, without adding a lot of code rewriting.

Yes, that's almost trivial to do. I'd kinda like to have tighter integration though, but that's a bigger project; might be worth doing the simple thing first.

I don't think that this adds much. If you really want to open it as a tab inside VS Code then you could use https://marketplace.visualstudio.com/items?itemName=zhhlwd.openTheWebPage

On the other hand, this would be very valuable if julia-vscode can automatically handle the built-in SSH forwarding for you, and take you straight to the proxy url.

Yeah, that's the big thing. AFAICT that should basically just work, as long as you actually have a local VSCode instance (so not in the browser via codespaces or code-server). Haven't played around with it though.

Oh no, I meant that instead of integrating the Pluto package into VSCode they way that jupyter notebooks are integrated, why not just open the normal Pluto interface into VSCode.

A new extension which checks if it is a Pluto NB or just a jl file will still be necessary. It'll also be awesome if the server can start by itself etc.

All the features that will be implemented for the VSCode version will eventually be implemented for Pluto anyway, such as Linting etc, because non-VSCode Pluto users will still want these features. So instead of integrating Pluto into VSCode, can we integrate @pfitzseb's work into Pluto? Then placing Pluto into VSCode for a single app for all kind of thing is simple.

Pluto is of reactive programming, Julia REPL is not. Both are very different in scripting style and purposes.

I think there's no need for integration.

@NaNotia nice to have VSCode text manipulation, ability to open library files that you may use in Pluto with Revise, minimap, unified settings / configuration, bookmarks, built-in terminal, plugins, .... that's a lot of functionality that would take a full-time team of 10+ people a couple years to create.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

briochemc picture briochemc  路  5Comments

garrison picture garrison  路  4Comments

fonsp picture fonsp  路  5Comments

karlwessel picture karlwessel  路  4Comments

briochemc picture briochemc  路  6Comments