Hi Johnh, Thanks for your interest. I am an academic, working across many areas, including Statistics, Machine Learning, Mathematical Modelling, Operations Research, Finance/Econometrics, Optimization.
Thanks in advance for your suggestions and recommendations.
I use Atom and Juno both on Fedora linux and Windows 10
I recently got a new windows 10 laptop and was very pleasantly surprised yesterday that a simple
apm-beta install uber-juno set up everything for me.
The main problems seen on here with Atom are when there are upgrades.
I do understand the you get frustrated. But computers are at their hear rxtremely dumb. If they do not get fed exacrlt the right bits and bytes they fall over.
Yes, maybe what I am talking about is more a need for a Bespoke update/upgrade path if a Bespoke IDE itself is not practical.
If there were any of the IDE client developers who were in direct contact with the Julia developers (so that updates could be ensured to be mutually compatible) that would be great! A big ask, I guess!
I think we never had any issues with updates for the VS Code extension. We take great care to ship everything that we need with the extension itself and not rely on anything in the .julia folder, and that generally makes our update story very robust.
I did wrote an IDE in Julia, itās a bit wonky and hard to install but I still prefer it over the alternatives.
One feature I added recently that is awesome is history autocomplete in the editor, basically you can search in the console history and insert the piece of code in the editor, itās super useful to recall one liners youāve used in the past.
Hi. Thanks. This (VS-julia) seems to work for Mac and looks nice.
Unfortunately, I am looking for a solution that would work on my Ubuntu server as well.
I tried installing VS on the server (18.04) but it doesnāt work.
I just get a transparent window. Looking at the postings, there seem to be lots of windowing issues with linux which havenāt been resolved.
I spent an hour or so trying various suggestions posted online, but no luck.
I may have to wait and try this option again later.
Maybe Iāll use it some on my Mac - Thanks!
jupyter-emacs is actually the more fiddly of the two (because of the jupyter installation not because of emacs), but Iāll try to put together minimal config guide later. It can be installed by the same method as eglot-jl above. You just have to mess around with IJulia and your PATH to make sure that when jupyter executes itās the installation of jupyter which has an IJulia kernelspec installed.
Unless youāre happy with the above vs-code/atom solutions in which case I can save some time for both of us by not doing so.
Iāll take this opportunity to ask an eglot question:
Say you are working inside a package you are developing, do you get completions for functions coming from modules which are used by the package, but where the using statements are in another file (e.g. the entry file defining the module has some using statements and includes some other files, and you are working inside one of the other files) ?
Also do you get completions for functions defined in other files which belong to the package you are working on?
Last time I checked I was getting only completions from Base, stuff defined in the current file and packages being loaded in the current file.
Just tested and itās working for me in the case I tested (once the language server is completely ready including the symbol server having cached all manifest packages). If you have a case where itās not working, please file a bug against LanguageServer.jl
Yes.
In general in my experience completion reliability of the language server has improved by leaps and bounds in the past 6 months to a year.
Run just M-x package-install; afterward it will interactively prompt for the package to be installed. At that point you type āeglot-jlā.
In general, Iād recommend reading through the emacs manual (accessed within emacs by C-h i or by invoking M-x info and selecting the āEmacsā node). Hereās the section on package management:
Sorry, but could you please tell me where to add (setq eglot-connect-timeout 120) to init
and (eglot-jl-init) to init
(I assume .emacs is ok to use, but where in that file do
these go?)
Your emacs init file is just a series of elisp expressions which are executed sequentially (similar to how a Julia script works but with more parentheses). For those 2 particular expressions, it shouldnāt matter where theyāre placed as long as itās at the top level (not inside any parentheses).
OK great. Do I need to start the language server from Julia and type M-x eglot or something to get going? I am sorry to be so ignorant, but it seems all the āhow toā information online assumes much more understanding than I have. [PS I have been using Emacs since it superseded TECO (which I used to teach at a community college), just not doing very complicated things, but rather doing the basics well.]