[ANN] VS Code extension 1.1 released

We just released version 1.1 of the Julia extension for VS Code to the marketplace. As always, you don’t need to do anything to get the new release, auto-update should take care of that.

This release has only two new user-level features, but a massive amount of improvements under the hood. We also fixed a lot of bugs, so hopefully it will provide a smoother experience.

Here are the release highlights:

  • We added a documentation browser. This provides a more permanent home for documentation in the UI than the existing hoover help, and some other benefits like navigation come with this as well. I created a short video that introduces this feature.
  • We add an experimental package tagging functionality to the extension. Tired of manually increasing the version field in your Project.toml and then pinging the registry bot when you want to release a new version of your package? This feature is here to help! And I created another short video that demos this feature.
  • The core data structure in CSTParser.jl was changed in this release to be more similar to the Expr type in Julia base. This is probably of very little interest to most folks, but part of @ZacLN’s secret plan to make CSTParser the Julia code parser of choice in all situations of life.
  • We adopted a new file format for the cached package information that the language server creates. For now this doesn’t do much, but is part of our medium term plan to get rid of those pesky “Language server indexing…” messages. If all goes well we will be able to switch on a major part of our plan in the next release of the extension. This time around we put most of the infrastructure needed in place.
  • We added an opt-out option to the telemetry opt-in prompt. So now when we ask you whether you agree to telemetry, there is not just a “Yes” button, but you can also say “No”. Long requested, long resisted by yours truly, but the rest of the team finally managed to talk some sense into me :slight_smile:

Please do let us know how this version works for you, we always like to hear feedback! And if you experience a crash, please send a crash report, that is the most effective way to help us improve the quality of the extension.

Best,
David for the entire Julia VS Code team (Zac, Sebastian and Shuhei)

98 Likes

We also have a fairly comprehensive changelog here, in case you’re interested (1.0.10 was the latest public release, so it’s a bit of a read).

5 Likes

That’s great! I will push the ‘Yes’ button more enthusiastically now.

Nice work!

9 Likes

I was trying to figure out if this works with Julia v1.6-rc1 (without actually trying it). Is there a place where one can find current version compatibility?

There’s no such place, afaik :slight_smile: We’re committed to keeping compatibility with all proper 1.x releases. That said, 1.6-rc1 should work fine.

Tried it for a few seconds and it seems to work :+1:

1 Like

Awesome.
Documentation browser was something I was missing.

I take it Live Test running didn’t make it in?
I am super hype for that feature.

1 Like

It didn’t, due to Bug in live testing · Issue #1900 · julia-vscode/julia-vscode · GitHub.

3 Likes

Now you got me curious, whats “live test” going to be?

It’s a lot like reactive programming in the sense of Pluto.
When you change the code in the package, all the tests that depend on it are automatically run.
and it stays alive looking for changes (so you don’t have startup time)

11 Likes

Beware: 1.6 will mangle your Manifest.toml in packages that you develop. It is then not possible to return to 1.5 or earlier without some work.

Thanks for updating open-vsx.org at the same time.

1 Like

Our whole release process is highly automated and just includes open-vsx as a standard publishing location, but good to see that it is working :slight_smile:

1 Like

Having now switched to 1.6-rc1 I can say; once you go 1.6-rc1, you don’t go back to 1.5. It’s awesome.

5 Likes

Does the automatic tagging functionality include a text area for release notes ?

No, that functionality is not exposed, at the moment TagBot will just create the default kind of changelog.

Works great! Thanks to pfitzseb the language server also works well and since I turned the replace_default flag to false at creating_sysimage at sysimage precompilation, it is extraordinary big step for me! Thank you!

Just leaving a BIG THANK YOU! :heart: :julia:

2 Likes

Damn, these videos are amazing. Kudos!

1 Like

I would like that the Execute File button on the top right corner of the editor also saved the file before execution. Its very easy that one performs some changes and then executes the code without applying those changes because the alterations weren’t saved.