My current setup is Julia 1.9 run from the terminal and Visual Studio Code as editor.
It appears that the default editor is determined by the system wide file association. No need to set the JULIA_EDITOR environment variable.
Updating to a new version¶
After starting the new version, basic packages need to be added so the startup code can be run (e.g.,
OhMyREPL). In my case these are:
]add OhMyREPL Revise BenchmarkTools LocalRegistry
There is no need to copy installed packages to the new version's subdirectory. They are downloaded again as needed.
This is now the default method for managing Julia versions. For Mac, juliaup lists as beta, but seems to work.
Add a channel to the installed list:
juliaup add 1.9.0-rc3+0.x64.apple.darwin14. After that, a simple
juliaup update updates the installed channels.
Then start the desired Julia version by providing the channel; as in
VSCode automatically finds the default Julia binary. The "executable path" field in the Julia extension settings should be left blank.
On a cluster¶
The Jill bash script can install the current julia version. It also creates a symlink so that
julia-1.7 starts that version.
Customizing the REPL¶
On MacOS, meta-X means Esc-X.
There does not seem to be a way of binding Alt-x.
Customizing key bindings is somewhat tricky. One has to edit startup.jl to define a function that modifies the key map.
I have not been able to assign Ctrl-H and similar. Perhaps iterm intercepts them, but they always arrive as control sequences.
Invisible lines in stacktraces (1.6): This happens for various colorschemes. In
iTerm, set the minimum contrast slider to make those lines visible.
Set the Julia executable path to
/usr/local/bin/julia (the symlink created above).
A bash script that links an external terminal REPL to the Julia VSCode extension.
When problems with package operations occur, it often helps to reinstall the main registry:
pkg> registry rm General
Julia will automatically redownload the general registry when needed.
Clearing out the package cache may also help.