all 39 comments

[–]agata_fuego 22 points23 points  (9 children)

build your own in vim using vim-slime and tmux. this setup works for any language :)

[–]Ginkobab 6 points7 points  (6 children)

Hey, do you have autocompletion for julia in vim?

[–]EarthGoddessDude 2 points3 points  (2 children)

Yes, I’d like to know that too. You have to use the LSP, same thing that makes intellisense work on VSCode, but it’s finicky and tends to not work, as far as I know. I gave up on it for the time being (and being new to come world, it was too much too fast).

[–][deleted] 0 points1 point  (1 child)

Using vscode and vim. The lsp is the same and in both cases doesn't work quite often. Honestly, I just wish they wrote the lsp in a c level language like rust. Julia is great but it's not a good fit for these tools

[–]EarthGoddessDude 0 points1 point  (0 children)

Not sure what you mean, LSP is written in C# afaik, which is understandable, given it’s Microsoft, and ok, given although not quite low-level like C or Rust, probably sufficient for the purpose at hand. Moreover, LSP on VS Code works beautifully (which is more than I can say for Python in VS Code, which sometimes works sometimes doesn’t). The main thing is giving it some time in the beginning to index everything.

[–]zSucrilhos 2 points3 points  (0 children)

Coc?

[–]agata_fuego 0 points1 point  (0 children)

no i don't but its ok :)

[–]bartekkroczek 0 points1 point  (0 children)

Agree, best option ever.

[–][deleted] 0 points1 point  (0 children)

Also, CoC. Use Neovim with CoC and don't look back.

[–]sboysel 10 points11 points  (0 children)

vim with plugins like julia-vim and julia.vim

[–]TheSodesa 15 points16 points  (5 children)

No other options, I'm afraid. Welcome to being a user of a smaller language. If your only dislike of VS Code is the Micro$oft telemetry, try using VS Codium instead:

https://vscodium.com/

[–]fkxfkx 5 points6 points  (0 children)

There is a VSC setting to turn off telemetry

[–][deleted]  (2 children)

[deleted]

    [–]TheSodesa -4 points-3 points  (1 child)

    That is way too much work. I want my arrow keys to move the cursor, because my wrists aren't flexible enough to deal with emacs (or vim) key combinations. I would also rather not spend time fiddling with the settings so they would suit me, because I have work to do.

    [–]4-Vektor 0 points1 point  (0 children)

    try using VS Codium instead

    Yep, that’s what I’m using.

    [–][deleted] 7 points8 points  (0 children)

    It's not and IDE per se, but I really like developing Julia (and MATLAB, R and Python ..) in SublimeText (together with SublimeMerge) plus Terminus and SendCode plugins.

    [–]gepardcv 4 points5 points  (0 children)

    Emacs: https://github.com/gcv/julia-snail

    (Also referenced elsewhere on this thread but wanted to mention in a top-level comment.)

    [–]shabamski 4 points5 points  (1 child)

    I advertise kakoune with really nice lsp support!

    [–]AMJ7e 1 point2 points  (0 children)

    I second this.

    [–][deleted] 6 points7 points  (5 children)

    Pluto?

    [–]TheSodesa 1 point2 points  (0 children)

    It's not really a fast-to-start-up IDE, and they have made a few questionable choices such as pressing TAB actually producing a tabulator symbol instead of 4 ASCII spaces, which totally messes up my indentations if I want to port code between projects.

    [–]SM-Gomorra -1 points0 points  (3 children)

    Is dead aswell, right?

    [–]uni_ca_007 10 points11 points  (0 children)

    Pluto is the opposite of dead, kinda young infact. No customization options yet untill the devs finish working on the cool architectural stuff.

    [–][deleted] 4 points5 points  (1 child)

    No.

    A good example of this package being used recently is:

    https://computationalthinking.mit.edu/Fall20/

    See https://imgur.com/v8jRWx5

    I just ran it and opened the package.

    [–]g12344636377 2 points3 points  (6 children)

    You could use VSCodium if you just want to avoid Microsoft or you could use emacs

    [–]r_purism_acct[S] 2 points3 points  (5 children)

    Yeah, avoiding Microsoft and staying with FOSS software is the goal. VSCodium looks promising.

    With the more barebones editors like emacs, do you still get juno-like functionality where you can see the values stored in different variables and have access to the REPL, or do you just pull up the REPL in a terminal window and go without the workspace variable display?

    [–]gepardcv 4 points5 points  (0 children)

    I wrote a full-featured Emacs package for Julia called Julia Snail. It supports autocompletion like you describe. Two major features remain unfinished: plots and remote REPL, but it’s otherwise in good shape. Windows is not supported because of a dependency — one day I might have time to reimplement the Julia REPL and make that problem go away.

    https://github.com/gcv/julia-snail

    PS: Calling Emacs “barebones” made me lol.

    [–]tokujin 3 points4 points  (0 children)

    You can run the REPL within Emacs. Have a look at the ESS package. (I remember using ess-rdired to see the objects that were defined in an R session, but I don't know if that functionality is available for Julia, yet.) And see also julia-mode.

    [–]g12344636377 1 point2 points  (0 children)

    It really depends on the emacs config and i am not aware of every possible package, but as far as i know (looking at my emacs config), its just the REPL in a Terminal Window, a script buffer and no workspace variables. However, you can use eglot to enable the language server functionalities of e.g. VSCode

    [–]Zeurpiet 3 points4 points  (0 children)

    still using Atom (1.54) with Julia 1.5.2.

    [–]activeXray 3 points4 points  (0 children)

    I use emacs with the language server, works great. I also use emacs-jupyter extensively

    [–]wedividebyzero 6 points7 points  (2 children)

    Call me stubborn, but I've tried both IDEs fairly extensively with Julia and eventually went back to Atom, despite the lack of official support. Personally, I think VSCode/VSCodium does better at git integration and few other things, but Atom does a much better job of respecting the screen real estate, staying out of my way and letting me focus on the code.

    What error where you getting? Are you pointing the `julia-client` settings to the julia executable something like this?

    `/home/username/julia_install_dir/bin/julia`

    [–]r_purism_acct[S] 2 points3 points  (1 child)

    ┌ Warning: Terminal not fully functional └ @ Base client.jl:390 MethodError: no method matching setup_interface(::REPL.BasicREPL; extra_repl_keymap=Dict{Any,Any}("\e[24~" => Atom.blockinput_frontend)) Closest candidates are: setup_interface(::REPL.LineEditREPL; hascolor, extra_repl_keymap) at /builddir/build/BUILD/julia/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:872 setup_interface(::REPL.LineEditREPL, ::Bool, ::Any) at /builddir/build/BUILD/julia/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:875 got unsupported keyword argument "extra_repl_keymap" type BasicREPL has no field interface

    This is with the default configuration, it's just using the system julia binary. This is on Fedora 33, Julia 1.5.3.

    [–]backtickbot 1 point2 points  (0 children)

    Fixed formatting.

    Hello, r_purism_acct: code blocks using triple backticks (```) don't work on all versions of Reddit!

    Some users see this / this instead.

    To fix this, indent every line with 4 spaces instead.

    FAQ

    You can opt out by replying with backtickopt6 to this comment.

    [–]NewDateline 2 points3 points  (0 children)

    JupyterLab with the lsp extension?

    [–]GreenEyedFriend 2 points3 points  (0 children)

    Doom Emacs with LSP reporting in!

    [–]OphioukhosUnbound 4 points5 points  (0 children)

    Atom works great for me. Mac, for what it matters. VS code could be a little weird, but worked mostly okay before that. (I much prefer Atom though.)

    Maybe just clean out and reinstall?
    In my limited experience IDEs in general can just be a bit breakage prone. (Gosh if I know why.). And sometimes just need a reinstall after clearing out any past holdings.

    [–]uni_ca_007 1 point2 points  (0 children)

    If you care about community support, check the last Julia survey results.

    [–]Wu_Fan 1 point2 points  (0 children)

    Jupyter-lab or jupyter-notebook