# What IDE allow to work on 2 monitors

**URL:** https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132
**Category:** New to Julia
**Created:** [August 28, 2019, 7:36pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132 "2019-08-28T19:36:35Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![BMval](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bmval/32/7647_2.png) [@BMval](https://discourse.julialang.org/u/BMval)
#### Post date: [August 28, 2019, 7:36pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/1 "2019-08-28T19:36:35Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)
#### Post date: [August 28, 2019, 7:46pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/2 "2019-08-28T19:46:42Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![gdkrmr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdkrmr/32/2791_2.png) [@gdkrmr](https://discourse.julialang.org/u/gdkrmr)
#### Post date: [August 28, 2019, 7:57pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/3 "2019-08-28T19:57:48Z")

</div>

Emacs with `julia-mode` `julia-repl` and `lsp-julia` is pretty good.

---

<div class="post-metadata">

### Author: ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)
#### Post date: [August 28, 2019, 8:01pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/4 "2019-08-28T20:01:24Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![BMval](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bmval/32/7647_2.png) [@BMval](https://discourse.julialang.org/u/BMval)
#### Post date: [August 28, 2019, 8:12pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/5 "2019-08-28T20:12:54Z")

</div>

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

---

<div class="post-metadata">

### Author: ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)
#### Post date: [August 28, 2019, 8:29pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/6 "2019-08-28T20:29:40Z")

</div>

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).

---

<div class="post-metadata">

### Author: ![tviti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tviti/32/9975_2.png) [@tviti](https://discourse.julialang.org/u/tviti)
#### Post date: [August 29, 2019, 8:37am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/7 "2019-08-29T08:37:31Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)
#### Post date: [August 29, 2019, 8:54am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/8 "2019-08-29T08:54:50Z")

</div>

> [@jonathanBieler](#):
>
> 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).

Yeah, this is a good solution, and Juno allows you to do this:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/3/0/30ebcfa85d94a090371e0977cf540f814118f266.jpeg)

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).

---

<div class="post-metadata">

### Author: ![gdkrmr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdkrmr/32/2791_2.png) [@gdkrmr](https://discourse.julialang.org/u/gdkrmr)
#### Post date: [August 30, 2019, 8:38am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/9 "2019-08-30T08:38:12Z")

</div>

> [@tviti](#):
>
> 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.

- `lsp-julia` had some changing maintainers, therefore the currently working version is in a forked repo ([GitHub - gdkrmr/lsp-julia](https://github.com/non-Jedi/lsp-julia)) and is not registered in melpa.
- I am using the `spacemacs` `julia` layer, which takes care of the emacs side of things and everything works pretty well.
- There is more than one lsp frontend for emacs (another one is eglot: [GitHub - joaotavora/eglot: A client for Language Server Protocol servers](https://github.com/joaotavora/eglot)), I only tried l `lsp-mode` but since they implemented asynchronous startup I am pretty happy with it.
- The julia server crashes from time to time and has to be restarted, my best guess is that this is an issue with `LanguageServer.jl` but I cannot say this for certain.

> [@tviti](#):
>
> 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)

- There is the issue that often the latest release versions of all the `LanguageServer.jl` don’t work with each other, which is something the maintainers of `LanguageServer.jl` would have to fix.
- If you want versions that are guaranteed to work with each other, I recommend installing the same versions that are used with the VSCode extension, you can find the version [here](https://github.com/julia-vscode/julia-vscode/tree/master/scripts/languageserver/packages).

> [@tviti](#):
>
> 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.

- As said above, for me it works pretty well in spacemacs, and it comes with many other perks, such as projectile and git integration. It is true that `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](https://discourse.julialang.org/t/emacs-based-workflow/19400))

---

<div class="post-metadata">

### Author: ![tviti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tviti/32/9975_2.png) [@tviti](https://discourse.julialang.org/u/tviti)
#### Post date: [August 30, 2019, 11:25am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/10 "2019-08-30T11:25:52Z")

</div>

Thanks for the tips! In particular, this seems like it’s worth trying:

> [@gdkrmr](#):
>
> If you want versions that are guaranteed to work with each other, I recommend installing the same versions that are used with the VSCode extension, you can find the version [here](https://github.com/julia-vscode/julia-vscode/tree/master/scripts/languageserver/packages).

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

> [@gdkrmr](#):
>
> The julia server crashes from time to time and has to be restarted, my best guess is that this is an issue with `LanguageServer.jl` but I cannot say this for certain.

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?

> [@gdkrmr](#):
>
> There is also the possibility to make julia work with jupyter notebooks in emacs, but I have never tried it (see: [Emacs-based workflow](https://discourse.julialang.org/t/emacs-based-workflow/19400))

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).

---

<div class="post-metadata">

### Author: ![gdkrmr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdkrmr/32/2791_2.png) [@gdkrmr](https://discourse.julialang.org/u/gdkrmr)
#### Post date: [August 30, 2019, 7:59pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/11 "2019-08-30T19:59:17Z")

</div>

> [@tviti](#):
>
> Does `completion-at-point` actually work for you in your setup?

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.

---

<div class="post-metadata">

### Author: ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)
#### Post date: [August 30, 2019, 10:35pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/12 "2019-08-30T22:35:39Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![gdkrmr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdkrmr/32/2791_2.png) [@gdkrmr](https://discourse.julialang.org/u/gdkrmr)
#### Post date: [August 31, 2019, 9:27am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/13 "2019-08-31T09:27:37Z")

</div>

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.

[https://github.com/non-Jedi/lsp-julia/pull/11](https://github.com/non-Jedi/lsp-julia/pull/11)

---

<div class="post-metadata">

### Author: ![tviti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tviti/32/9975_2.png) [@tviti](https://discourse.julialang.org/u/tviti)
#### Post date: [August 31, 2019, 11:22pm UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/14 "2019-08-31T23:22:55Z")

</div>

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!

---

<div class="post-metadata">

### Author: ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)
#### Post date: [September 1, 2019, 9:40am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/15 "2019-09-01T09:40:12Z")

</div>

What exactly do you mean by two monitors? It Atom you can open a New Window and drag it across to another monitor.

---

<div class="post-metadata">

### Author: ![BMval](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bmval/32/7647_2.png) [@BMval](https://discourse.julialang.org/u/BMval)
#### Post date: [September 2, 2019, 1:09am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/17 "2019-09-02T01:09:25Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)
#### Post date: [September 2, 2019, 6:33am UTC](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/18 "2019-09-02T06:33:47Z")

</div>

You can just turn off the Plots Pane and [open an external terminal](https://discourse.julialang.org/t/what-ide-allow-to-work-on-2-monitors/28132/8), which gets you pretty close.
