Julia VS Code extension version v0.16 released

So, what is the current state and planning development of IDEs for Julia? I remember to have read some time ago that the current VS-Code Julia plugin had different objectives than Juno, and that a VS-Code based Juno was planned, but I understood now that instead the two projects merged, right ?
Also, what still “classical Juno” has that the current VS Code plugin misses ?

I did. We’ll hopefully fix most of those issue in the next release.

Yup. Turns out our respective visions were much more compatible than we originally thought.

The Atom-based Juno is in maintenance-only mode now.

Take a look at the juno-parity label. The biggest missing features probably are the

  • documentation browser,
  • profiler UI, and
  • a more fully featured plot pane.

Apart from that there’s a bunch of additional QoL enhancements that I’d like to see, but that takes a lot of time and feedback.

16 Likes

Is there any way to have the REPL in a vertical side panel instead of a horizontal tab at the bottom?

@cortner Right click on the top edge of the panel and there is an option to change the location of the panel. The VS Code developers kind of hid that feature. I think there used to be a button for it.

It looks like it’s also in the menu under View > Appearance > Move Panel Left/Right.

2 Likes

Thanks - can’t believe I missed that.

Now my only remaining gripe is that the REPL isn’t in the same panel as the browser and the git pane. (it is really convenient in Atom to just cycle through these) but I’m guessing this is all outside the control of the Julia extension?

You can just drag and drop it to the sidebar: click on the TERMINAL text, and drag it where you want it.

2 Likes

Yes, there was a button that was removed long ago. Extremely weird that vertical isn’t the default, BTW, and on top of that it’s hidden. Bizarrely, it even took a long time to get a vertical terminal in the first place(!)

Very cool, I did not know you could do that! Is there also a way to move the terminal to the bottom right quadrant instead of taking the full vertical height? With normal VS Code panes you can split the height but as far I can tell the terminal pane can only be split with output/terminal/problems/debug. I checked through the juno parity labeled issues but didn’t see that. I assume this would be a VS Code capability not a Julia extension capability so maybe not appropriate to open an issue for the Julia extension?

1 Like

I don’t think you can split. Yeah, no need for an issue with us, this kind of stuff is out of our control.

Yea, I don’t understand why VS code, that is pretty recent, didn’t go for an approach “put this panel wherever you want” à la Atom…

1 Like

Checkout the latest VScode updates for flexible view and panel layout:

2 Likes

I don’t really know (so speculating here), but increased flexibility often comes at the price of reduced performance. Atom was criticized a lot over performance issues, and I wouldn’t be surprised if its very high degree of flexibility made performance optimization harder.

1 Like

It looks like more flexible terminal windowing is discussed in vscode#10546 which is the second most liked issue for vscode. The May updates that @laborg mentioned are very cool and it seems like there’s active development on #10546, so I think there’s a good chance that it will be addressed.

For inline evaluation, I am not able to select anything to copy / paste (clipboard) inside the inline result.

This is os x 10.14.6 and vs code 1.49 and julia 1.5.1 and extension 1.0.7.

Sorry if this has been answered elsewhere, I could not find it.

Hi, same problem, where is an answer ?

You can only select and copy text in the hover pop-up (which works fine for me on Linux). The actual inline-result bubbles are unselectable.

Thanks for this quick answer ! The problem is with “large” arrays (~ more than 20 elements)

And about the title of this conversation (“v0.16 released” :-), Home · Julia in VS Code displays “Whats New Version v0.17 Version v0.16”… That said many thanks for this fantastic work.

I don’t think we have a good solution for that. You can just call clipboard on your object though. Or, if you want the normal display, something like

function show_clipboard(x)
    io = IOBuffer()
    show(io, "text/plain", x)
    clipboard(String(take!(io)))
end

We do have newer release threads:

Should just remove the “What’s new” section and point to the changelog, I suppose.

1 Like

Many thanks, your function show_clipboard() is magical !