Open ViralBShah opened 9 years ago
I agree that vertical screen space is premium.
I usually work with Juno split in 2 panes: code files in left pane, and console and Julia Browser open in right pane.
So Viral's idea to extend 2 pane mode of working seems good. Code on left, output (console, browser, expression evaluation) on right seems natural.
Further, sometimes I work with dual monitors, so extending this further so that output could be in another window (or the pane undocked from current window) on the second monitor.
Having said that, I still like expression output inline with the code, one click to expand/collapse. So drag and drop (with optional docking) onto second pane/window seems a good compromise.
I also like the idea of output being pinned on top. This sort-of extends the Julia Browser where expressions, not just globals, are shown "live".
By the way I haven't been able to automate at startup opening both console tab and Julia browser tab both on second pane. If any has done this please let me know. It took me ages to figure out how to arrange console tab in second pane automatically at startup (probably because I'm an idiot and not because it's difficult). Here's the line I use in user-behaviors: [:app :lt.objs.app/run-post-init [:tabset.new :tabset.next :console-tab (:tabs.goto 0) :tabset.prev (:tabs.goto 0)]]
Cheers, Greg
Viral's suggestion reminds me RStudio. I also prefer the idea of "Code on the left, console/plot/doc on the right". But short evaluated result is very eye-catchy and intuitive, pls don't remove it (maybe showing it beside the code and in the right pane at the same time?)
More over, the behavior of the tick ✓
could be confusing when executing the definition of a function. After executed a function def and it was marked ✓
, if you edited the code inside, the ✓
didn't disappear and it was easy to forget to execute it again when you done editing, especially on editing multiple functions at the same time. Maybe the ✓
should be removed when lines changed? What do you guys think?
Cheers, Todd
When developing in Matlab, I'm using a setup similar to what Viral proposes: Editor on the left half of the screen, REPL on the right and any plots/figures/stuff-that-floats-around on the right too.
The inline results are really not something I would want to go away - only thing that might be nice is to consequently display inline results only, no underline results except documentation (imho it should stay there, but maybe a doc tab would work too. The more I think about it: A documentation tab that apperas on C
+D
and disappears again with the same keystrokes might be pretty cool. I think one of the earlier LT demo videos had something like that?!).
Of course that requires a new mechanic for displaying plots: Mybe we could have a small static placeholder displayed inline and a click opens a new window which contains the plot (that would also dramatically improve performance with big gadfly-plots).
The ✓
-behaviour Tod describes is something I'd really like to see as well (hm, version control for blocks of code, e.g. methods, loops, etc?! Oh well, probably a bit unrealistic...). And while I'm dreaming: A REPL in the console would be pretty cool too, especially for capturing user input and to make the transition from e.g. Matlab easier.
@ViralBShah I really like the idea of dragging results out of the code and into free space. I had something like this in mind for the profiler since it's not exactly optimal as is.
What we also need, I think, is a really nice layout manager for doing things with tabs and tabsets easily. Check out Golden Layout and give moving tabs around a go – it's really nice and I'll probably start integrating it soon. Would be cool to drag results into their own tab easily.
@Varanas I'd also like to have an always-on help pane which just tells you more about whatever's under the cursor. I have some work which will help with the Gadfly plots, too.
@toddleo Mathematica recently added a nice behaviour where results get greyed out if the code block that produced them is edited. Shouldn't be too tricky to add something like that.
Cc: @shashi
Golden layout looks really cool. Can't wait to try out some of the suggestions here!
Currently, the evaluated results are shown right next to the expression. While this works for things that do not take too much space, if you plot with gadfly, it takes away a bunch of space vertically.
Usually when using something like Juno, people want to use it full screen, and the right side of the screen is often empty. I just find myself wanting to drag plots and certain results and kind of have them hang around in the empty space (kind of like the original LT demo video). Even having two panes, where the right side is evaluations (with potentially the ability to pin certain results so that they always stay on top), and have the rest scroll by would be pretty cool. It would keep my code uncluttered, and use the real estate well.
This is just a thought. Would like to hear what others have to say.