I am very new to Julia, and I have to say I am very positively impressed by what I have seen in VSCode so far.
The support for Julia is so much better than the support for Rust for example.
The debugger will never be perfect. This will become obvious If one compares to the debugger in Pycharm Professional, RustRover and Visual Studio 2022.
I also use vim/neovim regularly, but for bigger projects they can’t be seriously considered as alternatives.
The point will become obvious if someone downloads a very big and complex projects from github and tries to analyze and understand the codebase.
I don’t know if I will become a regular user of julia, but I want to express my thank you to the developers of the julia extension.
I have a project that uses a SQLite database with a table of 6.5 million records to do a lot of graphs and other calculations. I can run it from the command line in 5-6 minutes. When I use VSCode, it takes a couple of hours to load and to run it is still going 24 hours later. So I’m finding VSCode useless.
It would be nice to be able to set breakpoints, step through code and monitor values, but for this project I’m using vim.
I used RStudio (and R) for an earlier version of this project and that IDE worked great.
VSCode with debugging enabled? So perhaps you just run everything in interpreter mode? That could be the problem, but would only indicate that you are not using the debugger correctly.
I normally use just Bash in VSCode and start Julia from Bash. No slow-down, but still nice for programming, as GUI for git and as markdown pre-viewer for the documentation.
There is no slowdown in the VSCode Julia REPL either, and it gives you access to nicer integration with the IDE (running code from file with Shift+Enter being my favorite one). I think you’re right though, such a crazy runtime is most likely due to running the code in interpreter mode. @eweiss can you describe how you run Julia files in the editor (which button you click)?
+1 (woops wrong site lol) for Modern Julia Workflows. It’s truly a gold mine for understanding how to actually make a full project & package (as opposed to just a collection of source codes) and it should be required reading for any newcomer to Julia. Additionally, I think a big problem is knowing what’s out there in terms of packages and then distilling that down to what works best for different scenarios, and MJW does that very well.
I have the directory with my program open. I click on the Julia program. Then I click on Run and Debug (Shift-Command-D). It starts debugging and takes forever. Any suggestions?
Though most people (I think) just uses the include("filename.jl"), or type a function name with arguments. And there is also the above mentioned “Shift+Enter” that executes a selected block of lines.
@eweiss that will run the entire program in the debugger, and the debugger is slow unless you tell it to run certain things (like file loading) in compiled mode (which means you can’t debug those parts). There is an option to list all the packages/modules that you want compiled in the UI.
Or you can also just run things not in the debugger. If you click the red circled button in the top right of a Julia file, you see multiple options:
i compiled zed on my windows machine and its quite usable at this state… if that aforementioned inline-execution issue will be resolved, i’d totally recommend it!
LanguageServer.jl, which powers the VSCode extension, can give spurious warnings for valid and simple syntax like this:
The warning message under the wiggly line is “Possible method call error”. I think the parser interprets the function definition as a keyword function followed by a “method call”, which is a bit counterintuitive and may be causing the problem. I filed an issue some time ago but didn’t get a response. I guess the devs handling the parsing part of LanguageServer are overstretched.
Other than these small glitches, VSCode is surely the most polished IDE for Julia, though I still use Emacs for quick edits. I had good experiences with julia-snail in the past though haven’t followed more recently.
I would love switching to zed, but last time I checked Julia support was limited to syntax highlighting and there was no sent to repl shortcut. But maybe things have improved. This is probably editor that should get more attention form Julia community. It’s developed in Rust, and works cross platform.