# Any Julia only IDE available?

**URL:** https://discourse.julialang.org/t/any-julia-only-ide-available/7081
**Category:** General Usage
**Tags:** question
**Created:** [November 15, 2017, 3:48am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081 "2017-11-15T03:48:16Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)
#### Post date: [November 15, 2017, 3:48am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/1 "2017-11-15T03:48:16Z")

</div>

I would like to know if there is any IDE that is designed specifically for Julia, I am more comfortable with IDE like RStudio, PyCharm, etc.

I think Julia should have its own IDE. I understand that some users write C++ and Python codes in Atom, but they have other choices. For Julia, it seems to me that Juno Atom is the only feasible choice now.

---

<div class="post-metadata">

### Author: ![anon94023334](https://avatars.discourse-cdn.com/v4/letter/a/e274bd/32.png) [@anon94023334](https://discourse.julialang.org/u/anon94023334)
#### Post date: [November 15, 2017, 4:00am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/2 "2017-11-15T04:00:03Z")

</div>

> it seems to me that Juno Atom is the only feasible choice now

There is no IDE specific to Julia, and honestly I think an argument can be made that a Julia-specific IDE isn’t necessary. However, there is Julia support in a lot of editors, such as emacs, vscode, sublime text, and others. I’d be interested in hearing what a Julia-only IDE could provide that’s not feasible in any of the alternatives.

---

<div class="post-metadata">

### Author: ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)
#### Post date: [November 15, 2017, 6:07am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/3 "2017-11-15T06:07:01Z")

</div>

What about dataframe column name auto completion? Rstudio has it but not sure if it’s possible in Atom. Probably i guess.

The advantage of Atom is thr packages that come with it. There is a csv grid editor that Juno can leverage to show dataframes in grid form

---

<div class="post-metadata">

### Author: ![helgee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/helgee/32/2022_2.png) [@helgee](https://discourse.julialang.org/u/helgee)
#### Post date: [November 15, 2017, 6:44am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/4 "2017-11-15T06:44:04Z")

</div>

The [Julia extension](https://github.com/JuliaEditorSupport/julia-vscode) for Visual Studio Code has many great IDE-like features as well, e.g. auto completion, jump-to-definition, access to documentation.

> [@VS Code extension v0.8 released](https://discourse.julialang.org/t/vs-code-extension-v0-8-released/7048):
>
> We released v0.8.0 of the julia VS Code extension to the marketplace. The new release has a whole bunch of new features: You can eval into a module at the REPL. You can toggle the linter. You can execute a whole file in the REPL with F5. You can execute the current code block with Alt+Enter. You can fold code regions The main progress though should be in terms of stability. We had an absolutely awesome group of early adopters/beta-testers that provided amazing feedback and we are all quite o…

---

<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: [November 15, 2017, 7:37am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/5 "2017-11-15T07:37:02Z")

</div>

There’s was Julia Studio based on Qt early on but sadly it didn’t got a lot of support and got abandoned:

> **[GitHub - forio/julia-studio: An IDE for the Julia Language](https://github.com/forio/julia-studio)**
>
> An IDE for the Julia Language. Contribute to forio/julia-studio development by creating an account on GitHub.

You have GtkIDE.jl, based on Gtk and written in Julia, but it doesn’t work on windows (should work on linux but I haven’t tested it for a long time):

> **[GitHub - jonathanBieler/GtkIDE.jl: A Gtk based IDE for Julia](https://github.com/jonathanBieler/GtkIDE.jl)**
>
> A Gtk based IDE for Julia. Contribute to jonathanBieler/GtkIDE.jl development by creating an account on GitHub.

Otherwise the Visual Studio Code extension is getting pretty good, but I’m still uncertain if it can really be as good as an native custom IDE in the long run.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [November 15, 2017, 7:49am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/6 "2017-11-15T07:49:52Z")

</div>

> [@jonathanBieler](#):
>
> still uncertain if it can really be as good as an native custom IDE in the long run.

It would be helpful to know what you expect from “a native custom IDE” that you consider infeasible in, say, VS Code (not unimplemented, but _infeasible_ — since we are talking about the long run).

Generally, maintaining custom tools for each language leads to a lot of duplicated effort. A lot of functionality can be shared, so it is easier to maintain common tools that are flexible enough to be customized for each language. Julia does this with its IDEs (VS Code, Atom, Emacs, …), compiler infrastructure (LLVM), plotting backends (GR, Plotly, …), and it is working out well.

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [November 15, 2017, 7:51am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/7 "2017-11-15T07:51:41Z")

</div>

> [@Yifan\_Liu](#):
>
> I am more comfortable with IDE like RStudio, PyCharm, etc.

PyCharm is just the generic IntelliJ dressed up solely for Python at a lower price.

---

<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: [November 15, 2017, 8:58am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/8 "2017-11-15T08:58:41Z")

</div>

I’m mostly uncertain because I don’t know much about web-based technology, and I haven’t seen yet a fully featured IDE for scientific work based on it. Arguably the last two efforts based on Atom and Light Table ran into some issues. But like I said it’s looking promising.

---

<div class="post-metadata">

### Author: ![Liso](https://avatars.discourse-cdn.com/v4/letter/l/898d66/32.png) [@Liso](https://discourse.julialang.org/u/Liso)
#### Post date: [November 15, 2017, 9:14am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/9 "2017-11-15T09:14:27Z")

</div>

[PyCharm](https://www.jetbrains.com/pycharm/) is succesfull editor/IDE written in java and specialised for python. If **Julia is** as **superior** as we think then future editors/IDEs (not only for python) have to be written in Julia. 😜

Good start to be there is making at least small steps now. There are known issues like that we need better language stability, making executable binaries easier, maturity of packages and debugging possibility to make Julia not only language for scientific recipes but also language for developers. (which could bring bigger manpower to support Julia!).

So what could change discussion like this? Maybe nothing. Maybe some roadmap, maybe some choices to not divide effort too much. For example support one graphic toolkit (maybe Gtk.jl?) could be good.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [November 15, 2017, 9:45am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/10 "2017-11-15T09:45:35Z")

</div>

> [@Liso](#):
>
> If Julia is as superior as we think then future editors/IDEs (not only for python) have to be written in Julia.

This is a non-sequitur. Julia is a great language for scientific computing, and while it has some universally useful features (multiple dispatch, macros), it is not the best language for everything. This was never a claim.

Also, editors and IDEs for multiple languages are collaborative efforts between many language communities. Each of these considers their own language superior (that’s why they are using it), but insisting that shared tools are written in one’s favourite language would rule out this kind of cooperation by definition.

Most importantly, in open source it is pretty useless to exhort people about what they _should_ be doing. If you truly think this is the way to go, start working on it (and realize what a monumental effort it is).

---

<div class="post-metadata">

### Author: ![Liso](https://avatars.discourse-cdn.com/v4/letter/l/898d66/32.png) [@Liso](https://discourse.julialang.org/u/Liso)
#### Post date: [November 15, 2017, 10:10am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/11 "2017-11-15T10:10:49Z")

</div>

Jonathan I was not able to make it run on Ubuntu 16.04 (nor 0.5 nor 0.6.1 nor 0.7.0DEV Julia works for me). Maybe problem with gtk library version? (`(julia:15370): GtkSourceView-ERROR **: Error while loading the completion UI: .:23:106 Invalid object type 'GtkSourceCompletionInfo'`). Maybe we could start other discussion thread (or issue on github… ).

---

<div class="post-metadata">

### Author: ![Liso](https://avatars.discourse-cdn.com/v4/letter/l/898d66/32.png) [@Liso](https://discourse.julialang.org/u/Liso)
#### Post date: [November 15, 2017, 10:30am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/12 "2017-11-15T10:30:51Z")

</div>

Tamas your cite is missing emoticon (and it change context)! I know that effort is monumental. And impossible without community. It is why people who think that IDE is good thing are trying to find it. And discuss about it before trying to do something wasteful.

And I know that it is also question about limited resources. Maybe it is good strategy to focus on scientific computing. (And maybe it is not)

---

<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: [November 15, 2017, 12:10pm UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/13 "2017-11-15T12:10:58Z")

</div>

> [@jonathanBieler](#):
>
> I’m mostly uncertain because I don’t know much about web-based technology, and I haven’t seen yet a fully featured IDE for scientific work based on it. Arguably the last two efforts based on Atom and Light Table ran into some issues. But like I said it’s looking promising.

Can you elaborate, specifically as to what is missing in the existing IDEs (meaning VSCode and Juno as the two with most features) and what issues Juno has run into? Thanks! 🙂

---

<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: [November 15, 2017, 2:54pm UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/14 "2017-11-15T14:54:33Z")

</div>

> [@Liso](#):
>
> GtkSourceCompletionInfo

Make an issue on github yes.

@pfitzseb I haven’t used either that much so I don’t have very specific issues, but having interactive plots for other backends than plotly would be great. Autocompletion also has some issues.

For Atom I think the main issues people have is performance, and that’s why VS Code seems now to be taking over. It looks like the ecosystem is still moving pretty fast.

---

<div class="post-metadata">

### Author: ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)
#### Post date: [November 16, 2017, 12:32pm UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/15 "2017-11-16T12:32:08Z")

</div>

Interactive plots for other backends are coming to Juno - at least there’s a JavaScript terminal for GR under way.

---

<div class="post-metadata">

### Author: ![cerenoc](https://avatars.discourse-cdn.com/v4/letter/c/fbc32d/32.png) [@cerenoc](https://discourse.julialang.org/u/cerenoc)
#### Post date: [December 2, 2017, 3:09am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/16 "2017-12-02T03:09:25Z")

</div>

It would be great to have a “workspace” type window with all current variables and their types and dimensions displayed as well as an interactive dataframe viewer/editor. These are features that go beyond the standard programming language IDE but people coming from scientific computing (Matlab, RStudio,Spyder) who are excited about Julia would really miss these kinds of things for exploratory data analysis/debugging.

---

<div class="post-metadata">

### Author: ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)
#### Post date: [December 2, 2017, 4:04am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/17 "2017-12-02T04:04:16Z")

</div>

> [@cerenoc](#):
>
> It would be great to have a “workspace” type window with all current variables and their types and dimensions displayed as well as an interactive dataframe viewer/editor. These are features that go beyond the standard programming language IDE but people coming from scientific computing (Matlab, RStudio,Spyder) who are excited about Julia would really miss these kinds of things for exploratory data analysis/debugging.

Atom Juno does have a work space window. However in Julia, when you create a variable, it will stay in the work space and to my knowledge there is no elegant way to delete a variable in work space, this is quite different from R, Python, and Matlab.

---

<div class="post-metadata">

### Author: ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)
#### Post date: [December 2, 2017, 8:03am UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/18 "2017-12-02T08:03:43Z")

</div>

I’d strongly recommend looking at Juno’s documentation. There’s a lot of hidden gems. Did you know that Juno, apart from a workspace window that you need to open from the menu bar, also has:

1. An in-editor profiler, that profiles your code and highlights how much time is spent on each code line – as bars overlaid on the code lines within the editor
2. An inbuilt progress bar that can be called from your code
3. A documentation browser that does fuzzy searching in all loaded packages or all installed packages
4. A capacity to set the ‘active module’ of the file you’re modifying so you can use non-exported names
5. An interface with Lint.jl that automatically highlights syntax errors in your code as you type it
6. An inbuilt julia debugger based in ASTInterpreter2

? If not, you should check it all out.

---

<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: [December 2, 2017, 1:11pm UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/19 "2017-12-02T13:11:49Z")

</div>

There are some plans to improve the [Juno website](http://junolab.org) to make those features more visible. We probably also have some tutorial built into Juno, but that’d probably be quite a lot of work which I don’t have time (or motiviation, tbh) for right now.

Also, small correction:

> 1. An interface with Lint.jl that automatically highlights syntax errors in your code as you type it

That’s not actually built into Julia, but a separate Atom plugin. We do intend to use LanguageServer.jl in the future, which will bring non-Lint.jl linting (basically) for free.

---

<div class="post-metadata">

### Author: ![ZacLN](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zacln/32/2748_2.png) [@ZacLN](https://discourse.julialang.org/u/ZacLN)
#### Post date: [December 2, 2017, 1:58pm UTC](https://discourse.julialang.org/t/any-julia-only-ide-available/7081/20 "2017-12-02T13:58:07Z")

</div>

I’m currently working to disentangle the linting code so you should be able to hook it in if you don’t want to fully commit to using LanguageServer.jl

[Next page](https://discourse.julialang.org/t/any-julia-only-ide-available/7081.md?page=2)
