Good day.
I use Atom. I like it. But unfortunately, it isn’t allowed to use two monitors for one project.
Would somebody suggest how to work on two monitors?
Thank you in advance.
Good day.
I use Atom. I like it. But unfortunately, it isn’t allowed to use two monitors for one project.
Would somebody suggest how to work on two monitors?
Thank you in advance.
Not an IDE really, but I have long done this all the time with vim. Admittedly I run multiple separate instances of vim, but it never bothers me much.
Emacs with julia-mode
julia-repl
and lsp-julia
is pretty good.
Re: Juno (ATOM) with two monitors
If you select File>New Window
and then in the new window File>Add Project Folder
and add the same project folder as occupies the original window, you should be able to move one window to a second monitor and have any edits made in one window appear in the other.
Thank you, I know it.
New window is the new Julia environment. But I need the it will be the same julia session. For instance there will be plots, workspace
Just a random idea but in theory it should be possible to make Atom or VS-code to start the Julia process in a terminal rather that in the background, that way you could have the REPL on one screen and the editor on another (I find having a large REPL to be quite useful).
I’ve been having a good time so far using julia-repl
, but decided to give lsp-mode
+ LanguageServer.jl
a try earlier today, and had a significantly less-good time. Took a bit of fighting to get things working on the Julia side (I had to downgrade JSON.jl
, and manually ensure that LanguageServer.jl
and SymbolServer.jl
were at the newest versions), and ultimately I got things “working”, but my takeaway was that many features are still fundamentally broken. E.g. using company-lsp
, doing a completion-at-point
would crash the language server, as did a few other selections from the lsp drop-down menu while I was trying to explore the features.
Reading through the open issues made me think that the v0.12 release of LanguageServer.jl
would be a significant step forward.
While I was perusing git issues and forum posts related to lsp+julia+emacs, I did notice your screen name pop up a few times. I’m wondering if the lsp-mode + Julia combo is indeed just rough around the edges still, or if you have a secret to making it work well.
Yeah, this is a good solution, and Juno allows you to do this:
Instead of starting a normal internal Julia process, you can use the Julia Client: Connect Terminal
command to automatically start a Julia process in an external terminal and connect that to Juno. You will still have access to all Juno features (except for keybindings that switch between the repl and the editor, obviously).
lsp-julia
had some changing maintainers, therefore the currently working version is in a forked repo (GitHub - gdkrmr/lsp-julia) and is not registered in melpa.spacemacs
julia
layer, which takes care of the emacs side of things and everything works pretty well.lsp-mode
but since they implemented asynchronous startup I am pretty happy with it.LanguageServer.jl
but I cannot say this for certain.LanguageServer.jl
don’t work with each other, which is something the maintainers of LanguageServer.jl
would have to fix.lsp-julia
has received significantly less (probably the minimum amount of work necessary to get it to run for the few people that actually use it) work than the julia integrations for vscode or atom and therefore require more fiddling from the user’s side.There is also the possibility to make julia work with jupyter notebooks in emacs, but I have never tried it (see: Emacs-based workflow)
Thanks for the tips! In particular, this seems like it’s worth trying:
I’m hoping that this will solve the crashing on completion-at-point
(since I’m assuming that tab-completion works in VS-code?). I’m thinking this may be a good opportunity to also give spacemacs a try finally, just to see what an “out of the box” lsp-mode
+ LanguageServer.jl
setup is supposed to look like. Ironically, I have been using evil-mode
ever since my days slumming it as an undergraduate (probably one of the first emacs packages I turned on), and have recently started using spaceline
and spacemacs-theme
, so I guess I’m not too far off from a piecemeal spacemacs setup anyways!
Overall though, this
makes me thinking that our experiences might not be too dissimilar, since after I got the setup “working”, I basically gave up on it after noticing LanguageServer.jl
would crash upon certain common commands.
Curious: Does completion-at-point
actually work for you in your setup? Or does that crash the language server for you as well?
I tried this out for maybe a week (just the jupyter term), but ultimately went back to julia-repl
. My biggest gripes were that Debugger.jl
is aware that you’re not using a “proper” terminal (and hence doesn’t work), the non-trivial latency when sending lines/buffers/files to the kernel, and that isearch
didn’t seem to work well (I probably should have been a better FLOS citizen and filed an issue, but I gave up before spending much time debugging the problem; might be an evil-mode
side problem).
Honestly, if not for the fact that term
doesn’t play nicely with evil-mode
, I’d be convinced at this point that julia-repl
is basically the perfect emacs + Julia “mode” (lightweight, barebones, snappy, and native).
Yes, for me it opens a helm buffer with all the possible completions. I never had to use it, lsp-mode
integrates nicely with company
through company-lsp
.
The way to make setup easier would be to do the same as vscode does and distribute LanguageServer.jl
and friends in the correct version with lsp-julia
and run the server as julia --project=/path/to/packages
. This way it also won’t interfere with existing JSON.jl
installs.
I have to use a Windows laptop that I have to use for work. Despite it having 4x the ram, twice the cores, and over twice the turbo boost clock speed as my old Linux laptop, it performs extremely poorly (while the Linux laptop has no issues). There is about a second of lag per keystroke with julia-mode. Hit a dozen keys (eg, hit C
-n
12 times) , and it will freeze up for maybe 10 seconds.
Maybe I should file an issue, but I don’t know how if julia-mode + emacs being incredibly slow on Windows is a diagnose-able problem.
FYI: there is a PR to lsp-julia
that includes all the julia packages for LanguageServer.jl
and should make the whole setup much easier. It would be cool if you could test it. When installing it, you have to make sure that the subfolder is installed, too. I haven’t tested this part yet.
Sure, I’ll give this a shot (apologies to the OP if they are still around; I think I kinda hijacked this thread with my lsp-mode
rantings).
gdkrmr: I’m going to PM you some first impressions, since they’re getting a little verbose (and off-topic). They’re taken directly from an org
notebook, so disclaimer: they read like a thought dump.
In case anybody else is having the same issue I was (that completion-at-point
in emacs would crash the julia language server), this fork of lsp-julia
indeed fixes it!
What exactly do you mean by two monitors? It Atom you can open a New Window and drag it across to another monitor.
Yes you can, but New Window isn’t the same project. You can’t open the plots and repl on the second monitors in Atom.
You can just turn off the Plots Pane and open an external terminal, which gets you pretty close.